4/24(日)に音響合成用プログラミング環境および言語のsupercolliderの勉強会の第15回に参加しました。
もくじ
今回は二部構成
内容はこんな感じで、2部構成でした。(イベントページから引用)
1部:入門講座 (13:00-14:30)
女性限定!入門SCワークショップ「プログラミングでかわいい音と音楽をつくろう」by @Craftwife
前半は、女性講師による「女性限定!入門SCワークショップ・プログラミングでかわいい音と音楽をつくろう」を行います。パソコンで音や音楽を作ってみたいけど、どうしたらいいの?スーパーコライダーに興味があるんだけど、なんだか難しそう…。勉強会は男性ばっかりで参加しづらいなぁ… と思っている女性のみなさん向けの講座です。無料のプログラミング環境・SuperColliderをつかって、かわいい音と音楽作りに挑戦してみましょう。また、SCは使ってみたことがあるけど、こんなときどうしたらいいの?とお悩み相談も受け付けます。おやつの時間もあります。
2部:SC User’s Meeting (15:00 - 17:00)
「Tidalを用いたライブコーディング」by ゲスト:田所淳(@tadokoro)さん
後半のユーザーズ・ミーティングでは、クリエイティブ・コーダーの田所淳(@yoppa)さんをゲストに迎え、Tidalを用いたライブコーディングについてのお話を伺います。「ライブコーディング」は、音をだしながらその場でコードを書いていくことです、つまり「コーディング=演奏」になります。TidalはAlex McLean氏によって開発されたHaskellを拡張したライブコーディング(Live Coding)環境で、リズムパターンの生成に特化しており、短いコードでも複雑で面白いリズムを作り出すことができます。詳しくは田所さんのブログ「Tidalでライブコーディング! – セットアップ編」 を覗いてみてください。
1部は女性限定なので、自分は2部から参加しました。今回はいつもより人数が多く(13名くらい)、1部から残った女性の方もちらほらいらっしゃいました。
Tidalについて
2部でTidalのレクチャをしてくれたのは田所淳さんです。
自分はSuperColliderの最初の教材として、田所さんのサイトにある「SuperCollider入門」を使ったので、あぁこんな方だったんだ、と感慨深かったです。
スポンサーリンク
Tidalとは?
Tidalとはライブコーディングの環境の中でも、リズムパターンの生成に特化した環境です。下のような感じの演奏になります。
Tidalは音を生成する機能はないですが、いい感じのリズムパターンやループを作りやすいので、なんとなくAbleton Liveを使っている感覚に近かったです。Dirtというサンプラーと組み合わせて使います。
Tidalと呼ばれてはいますが、正式にはtidalcyclesとのことです。ラッパーのJZがTidalという音楽配信サービスを始めたので、争っても勝てないと判断し名前を変えたそうです。
使いかたは、だいたい田所さんがqiitaに書いています。
セットアップ編では、なんと田所さんがhomebrewのインストールから説明するというかなり丁寧な内容でした。
ハマったところ
Tidalの環境構築は結構大変で、ハマっている方もいらっしゃいました。
自分がハマった点は、ghcをinstallした段階でcabalがなかったので、手順にはないですがhomebrewでinstallしました。(ghcを入れた後にPATHを通せば使えるという話もありましたが)
1 |
$ brew install cabal-install |
また、dirtをmake clean; make
するところで、
1 |
ld: warning: directory not found for option '-L/opt/local/lib' |
というwarningが出ていたので、/opt/local/lib
というディレクトリを作ってもう一回makeしたらwarningは出なくなりました。
jackd -d coreaudio -r 44100
をすると、下のようなerrorとwarningが表示されましたが、これが出ていても、ちゃんと音は鳴ったので無視してもいいようです。
1 2 |
2016-04-24 16:12:00.886 jackd[31340:564983] 16:12:00.885 WARNING: 140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h. Error calling AudioUnitSetProperty - kAudioUnitProperty_StreamFormat kAudioUnitScope_Output |
cabalで入れたライブラリを確認する方法。jackdとdirtを1コマンドで起動できるようにするため、下のようなシェルスクリプトをstart.shの
1 |
$ cabal list —installed |
ような名前で作っておくと便利です。
1 |
jackd -d coreaudio -r 44100 & sleep 1; ./dirt |
このシェルスクリプトを使用するには実行権限をつける必要があります。
1 |
$ chmod u+x start.sh |
SuperColliderと連携できるらしい
SuperColliderのSynthDefをTidalの音源として使えるみたいですね。Pbindなどでリズムを作るのもいいですが、Tidalで作るとまた違った雰囲気になりそうです。やり方は上で紹介したqiitaのページをみてください。
その他上がった話題
SuperDirt
https://github.com/musikinformatik/SuperDirt
DirtのSuperCollider実装って書いてあるけど、何ができるのかよくわかりません。
TidalをVisual Programmingでも使える
shaderというのを使ってTidalでVisual Programmingで使えるとのことです。
NIME16
こんなイベントがあるとのことです。
toplap
toplapはlivecodingの情報サイトで一番よくまとまっているとのことです。
このサイトのManifestが興味ふかいです。
Code should be seen as well as heard, underlying algorithms viewed as well as their visual outcome.
コードは見せるべきだ!とのことです。
A Study In Keith
こちらはTidalを使っているわけではないですが、Live Codingではダンサブルだったり、ノイジーなイメージがありますが、こういう静かなピアノ曲もできますよ、という例です。Keith Jarretのカバーです。
さいごに
今回は参加者の方が多く、こんなに興味持っている人いるんだな、とちょっと安心しました。
そして、Tidal面白いです。dirtのpresetだけでも面白いサウンドになりそうですが、SuperColliderとの連携でさらに幅が広がりそうです。今度やってみようと思います。