Sonic Pi
ライブコーディングという音楽を再生しながら、リアルタイムでそのプログラムを更新できる環境の一つにSonic Piというものがあります。
https://sonic-pi.net/
以前音楽データのアプリケーション間通信のテストでも取り上げたときがありましたが、プログラマとしてもコンポーサとしてもとても興味深い題材になります。
プログラムというのは基本的に動作中は変更しませんが、この環境ではこれを実現できます。(一部Erlangのようなホットコードローディングまたはホットコードスワッピングというものはありますが・・) またDJのようなプレイをモニタを見ながらキーボードでやるスタイルも新しく感じます。コーディング画面をVJの素材としてみせるものもあります。
以下のような言語とグラフィックもよく使われます。
このSonic Pi特徴は、前回とりあげたSuper Colliderを内部で使っています。言語は少ないコーディング量で記述できると定評があるRubyです。エディタもキーワードが色わけされており見やすくなっています。プリセット音源を持っているのでシーケンスデータだけですぐに鳴らすことができます。
まずは、プロフェット5が好きなのでこの音色二つとブレイクビーツで曲を作ってみました。
サンプルが豊富なので、そこから膨らますことができます。
コードトーンからランダムに選択した音にフィルタとパンもランダムでちらしました。
真ん中あたりで、コードとリズムのスライスを変更しています。
結構いい音で楽しめます。
Rubyを知らなくても意味がわかりやすいのでコーディングできそうですが、リスト処理などを知っておくと便利だと思います。
もともとRaspberryPiにプリインストールされているもので、以前テストしたもののリンクはっておきます。
Comments are Closed