Overtone
先日、Sapporo.clj#5 : ATNDに参加して、Overtoneを試してみました。
OvertoneはClojure上で動作する音響合成プログラミング言語で、SuperColliderをエンジンに使用しています。
以下、Overtoneをインストールして、Steve ReichのPiano Phaseを鳴らすところまでの手順です。
Leiningenのインストール
$ brew install leiningen
プロジェクトの作成
$ lein new reich
依存モジュールのロード
project.cljを開いて、以下のようにovertoneの依存を追加します。
(defproject reich "0.1.0-SNAPSHOT"
:dependencies [ [org.clojure/clojure "1.6.0"]
[overtone "0.9.1"] ])
その後lein depsで依存モジュールを落としてきます。
$ cd reich
$ lein deps
scsynth関連のモジュールはいくつか落ちてくるのですが、SuperCollider自体はインストールされないようです。
ただ、Connecting scsynth · overtone/overtone Wiki · GitHubにあるように、
(use 'overtone.live)
と書いてInternal Serverに接続して使う分には、SuperColliderのインストールは不要だそうです。
実行
$ lein repl
ClojureのREPLが起動するので、Overtoneのコードを入力していきます。
コードは、Steve Reich's Piano Phase - Sonic Pi vs Overtoneをそのまま実行してみましたが、overtone.inst.sampled-piano のロードに1時間近く掛かってしまったので、以下のようにsampled-pianoを使用せずsin-oscを使うものに変更しました。