Overtoneを使ってClojureで音楽をcoding
Overtoneとは
プログラミング言語Clojureを使って音楽をコーディングするプラットフォームです このOvertoneを使って活動しているアーティストもいるようです (Meta-eXやRepl Electricなど)
Overtoneを使ってみる
Overtoneを以下の方法でサクッと試すことができます (Mac OS X Yosemite)
Leiningen(GradleとかMavenのClojure版みたいなもの)をインストール
$ brew install leiningen
overtoneプロジェクトの作成
$ lein new hogehoge
projectの依存関係にovertoneを追加
$ cd hogehoge $ vi project.clj
dependenciesにovertoneを追加
:dependencies [... [overtone "0.9.1"]]
REPLを起動
$ lein repl
依存するjarがダウンロードされて、REPLが起動する
起動したら以下のようにしてovertoneを起動
user> (use 'overtone.live)
起動したら試しにピアノを鳴らしてみる
user> (use 'overtone.inst.piano) user> (piano)
これでピアノの音が鳴るはず
もちろん単音だけでなく旋律をコードで表現して演奏することも可能
overtoneから呼び出せる関数は以下のcheat sheetから確認できます
https://github.com/overtone/overtone/raw/master/docs/cheatsheet/overtone-cheat-sheet.pdf
EmacsでOvertone演奏環境構築
OvertoneをEmacsで快適に演奏できるEmacs Liveというものがあるようなので、環境構築をしてみました
Overtoneを使えるようにするまでは以下の手順を参考にしてください。
Overtoneを使ってClojureで音楽をcoding - のぶLab.
Emacs v24.4をインストール
現在、Emacs Liveはv24.3以上でないとダメなようなので、最新版をインストールします
$ brew upgrade $ brew install --cocoa emacs
alias emacs="/usr/local/Cellar/emacs/24.4/bin/emacs"
Setup
※ これは.emacs.dディレクトリを置き換える方法を取るので、普段使っている環境が壊れる可能性があります。必要があればVagrantなどを使って環境を分けるなど対応してください。
$ cd $ git clone git@github.com:overtone/emacs-live.git .emacs.d
$ emacs
コマンドでEmacsを起動
画面にAAでEmacs Liveと表示されていたらOK
OvertoneプロジェクトのREPLを起動
別ターミナルを開いて以下を実行
$ cd hogehoge $ lein repl
EmacsとREPLを接続
以下のコマンドを実行
M-x cider [enter]
ホスト名、ポート番号を聴かれるので入力 hostname : localhost port number : [lein replで起動したREPLのポート番号]
Emacs上のREPLからOvertoneを使ってみる
user> (use 'overtone.live) user> (use 'overtone.inst.piano) user> (piano)
ピアノの音が鳴ればOK
あとがき
音を鳴らすだけならEmacsなど使う必要はないが、 Live Codingなどをする際にはEmacsなどの高機能な環境だと演奏も楽になるかもしれない。