memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

あけおめ

明けましておめでとうございます。今年もよろしくお願いします。

我が家は今年も家族で正月をまったりと過ごしています。今日は長女の部活のOG会で、保護者としても楽しい一日でした。

さて、休みには何か勉強しようと研究室から積読している本を4,5冊ほど持ち帰ってきてはいるのですが。。。やはり読まないですね。いや、正確には読むには読んだけど、やはり使えないな。。。と思ってそのままそっと閉じた感じです。

そんな中、年末に入手した以下の本を地道にトレースして楽しんでいます。試行錯誤できるほど手に馴染んでいませんが。。。まずは学習です。

演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens

演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens

書籍の前半はSonic Piを、後半はTidalを扱っていますが、両方共、既にインストール済みだったので、掲載されている例をみながら写経している感じです。

ちょっと脱線します。

本書によるとライブコーディング自体は2000年くらいらしいので、既に歴史がある分野と思います。私もたまたま知ったツールで遊んできた記憶はありますが「ライブコーディング」という一本の柱があることを知ったのはつい最近です。一般人向けの本が出たくらいなのでかなり普及している段階かもしれませんが、遅まきながら(少人数)授業に取り入れてみようと目論んでいます。

ターゲットにしている科目は2年生の1コマなのですが、教員ごとにテーマが一任されている科目です。過去にもそのときに流行っていて私が興味を持ったことをテーマにしてきました。主にエンタメ中心ですね。。。ちなみに昨年はCPU自作でした。せっかく勉強したのでもう1年くらいやりたいと考えていたところに、ライブコーディングを知ってしまい。。。この方が面白そうということで。自由過ぎますね。。。すいません。

さて、写経していて1つだけ誤植を見つけました。まだ、上記の本の訂正情報はまだ無いようですので、とりあえずメモとして。

私の環境は、macOS10.14.2、tidal-1.0.5、SuperCollider 3.10.0、です。

113ページ list-3_77に以下のコードがありますが、これは動きません。

d1 
$ sound "[bd(3, 8), sd(3,8,3), tabla2(5,8,4)]"
# n (irand 12)
# pan(rand)
# lpf (scale 200 8000 $rand)

原因はtidalが1.0になるときにscaleの意味が変わったようです。

Changes in Tidal 1.0.0 - TidalCycles userbase

代替としてrangeが使えるようです。なので、scaleをそのままrangeに置き換えるとエラーがなくなります。

d1 
$ sound "[bd(3, 8), sd(3,8,3), tabla2(5,8,4)]"
# n (irand 12)
# pan(rand)
# lpf (range 200 8000 $rand)

年末にここまでたどり着いたけど動かなくて困ったな。。。と放置していました。年が明けて忘れたので再び最初から写経しなおしているうちにわかりました。喉のつっかえが取れました。

先に進みましょう。

■追記

121〜123ページに「TidalCycles 1.0の変更点」というページがありました。失礼しました。たぶん執筆中に1.0がリリースされたんでしょうね。。。

  • scaleはrangeに変更
  • sine1はsineに変更