Clojure Overtone + Shadertone + emacsでライブコーディングをする!!(環境構築編)(1)

2016年07月16日
投稿者:若山幸弘
カテゴリ:clojure タグ:

はじめに

overtone-logo

Overtone, emacsでライブコーディングをやってみたことろ、思ったより面白かったので環境構築手順をメモしておきます
ライブコーディングとは、Sam Aaronさんの動画を観れば何となくイメージは掴めるかもしれません

https://vimeo.com/22798433

emacsをMTRやシンセサイザーのように利用するという発想は面白いと思います。
(というかemacs愛が強すぎて脱帽します…)

2016 7/16 phpカンファレンスにてovertoneのをテーマとしたLTを行いました!!

20160716_OvertoneとShadertoneを使ってライブコーディングPHPカンファレンス関西_2016飛込LT

Overtoneとは?

SuperColliderというjavaで作られた楽曲制作用エンジンをclojureを叩くラッパー(?)
overtoneはclojureで成功したプロジェクトのひとつ。とのことです。

Shadertoneとは?

GLSLとOvertoneをなかよくするツール(よくわかってない)

clojureとは?

jvm上で動作するlisp方言。今流行の関数型言語です。

emacsとは?

昔からあるエディッタ

構築環境

MacBook Pro 13-inch(OS X EL Capitan 10.11.5)
cpu: 2.7GHz Core i5
Memory: 8GB

home brewのインストール

割愛します

jvmのインストール

home brewでインストール

leiningenのインストール

これもbrewで

shadertoneをダウンロード

git cloneする

project.cljを以下のとおり編集しないとfreesound apiのラッパーが動作しなかった…

overtone 起動テスト

初回の起動時は必要なパッケージをダウンロードし起動するので時間がかかります。
replのプロンプトが表示されれば起動完了

sin-oscで音が鳴るかのテスト

replのプロンプトにテスト用のコードを入力。sin(聴力テストみたいな音), ノコギリ(ノイズ)な音が鳴ればok
これでlein repl上で楽曲演奏ができるようになりました。
ですが、ターミナルでライブコーディングするのはちょっと厳しいので、
emacs ciderでライブコーディングできる環境を構築します。

emacs ciderのインストール

M-x package-list-packagesでciderをインストール
.emacs.d/init.elに以下の行を追加

cider-jack-in

先ほどgit cloneしたshadertoneのディレクトリに移動しemacsを起動
M-x cider-jack-inするとlein replが起動する
examples以下にmy-saample01.cljというファイルを作成し
以下のコードを記述する

cider-modeではバッファ内にある式の末尾でC-c C-eするとその式が評価されるので
以下のように(demo 1 …の末尾でC-c C-eすると音が鳴るはず。

overtoneとshadertone

以下の式を評価してみると、音と連動して画像が動くのが判るはず。

おわりに

今回、ざっくりですがovertone + shadertone + emacsで
ライブコーディング環境を構築してみました。
次回以降はclojureの基本やovertoneのもうちょっと詳細な使い方などの記事が書ければと思います。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です