Tokyo SuperCollider 15に参加しました

SuperCollider

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というサンプラーと組み合わせて使います。

http://tidalcycles.org

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で入れたライブラリを確認する方法。

1
$ cabal list —installed

jackdとdirtを1コマンドで起動できるようにするため、下のようなシェルスクリプトをstart.shのような名前で作っておくと便利です。

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

NIME16

こんなイベントがあるとのことです。

toplap

http://toplap.org/

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との連携でさらに幅が広がりそうです。今度やってみようと思います。

羊毛や小麦