Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
-
Upload
atsushi-tadokoro -
Category
Documents
-
view
1.161 -
download
3
Transcript of Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
![Page 1: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/1.jpg)
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
2013年11月14日 東京藝術大学芸術情報センター(AMC) 田所 淳
![Page 2: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/2.jpg)
本日の内容‣ 前半 : 講評会 ‣ 前回出題した「自分の楽器をつくる」の発表を、サウンドスタジオのコントロールルームで行います !
‣ 後半 : ライブコーディング ‣ JITLibを使用したライブコーディングの導入を行います
![Page 3: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/3.jpg)
「ライブ・コーディング」とは?
![Page 4: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/4.jpg)
ライブ・コーディング‣ ライブ・コーディング (Live Coding) とは? !
‣ 「on-the-fly programming」「just in time programming」 ‣ 即興的にプログラミングを行う !
‣ コンピュータ音楽、CGアニメーションなどで多くの試み
![Page 5: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/5.jpg)
ライブ・コーディング‣ ライブコーディングに対応した言語
!‣ SuperCollider ‣ ChucK ‣ COLT ‣ Impromptu ‣ Pure Data ‣ Max ‣ LiveCode ‣ Fluxus
![Page 7: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/7.jpg)
ライブ・コーディング‣ Study In Keith - A livecoding performance by Andrew Sorensen
![Page 8: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/8.jpg)
SuperColliderで、ライブコーディング
![Page 9: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/9.jpg)
SuperColliderで、ライブコーディング‣ SuperColliderで、ライブコーディングに挑戦!! ‣ 奥深い世界なので、今回はさわりの部分のみ ‣ JITLibというライブラリを使用します
![Page 10: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/10.jpg)
SuperColliderで、ライブコーディング‣ JITlibとは? ‣ 標準のsupercolliderサーバ・リリースとともに配布されるサード・パーティ・ライブラリの1つ
‣ SuperCollider (SCLang) にライブコーディング機能を追加 ‣ 参考: http://doc.sccode.org/Overviews/JITLib.html
![Page 11: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/11.jpg)
//セットアップ。これによって「jitlibモード」に入るp= ProxySpace.push(s);!//通常のsc langに戻るにはp.pop;!
SuperColliderで、ライブコーディング‣ JITlibモードに入る、元に戻る
![Page 12: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/12.jpg)
//セットアップ。これによって「jitlibモード」に入るp= ProxySpace.push(s);!//通常のsc langに戻るにはp.pop;!
SuperColliderで、ライブコーディング‣ JITlibモードに入る、元に戻る
![Page 13: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/13.jpg)
//「~ + 変数名」はサーバーで処理される何かの場所を確保する(NodeProxy)//ugen関数、静的な数、pbind、lfoなどを入れることが可能!//例えば、UGenのひとつSinOscの出力結果をNodeProxyに入れる~out = {SinOsc.ar};!//proxyspaceに定義したもののリストを見るp;!//ProxySpaceに定義したものを再生する~out.play;
SuperColliderで、ライブコーディング‣ JITlibモードに入る、元に戻る
![Page 14: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/14.jpg)
//プロキシの中に現在あるものを別のugen関数で置き換える~out = {SinOsc.ar([220, 222], 0, 0.5)};!//クロスフェードの時間を設定~out.fadeTime = 4;!//クロスフェードしながら、別のUgenに置き換え~out = {SinOsc.ar([300, 333], 0, 0.5)};!//無音にフェードアウト~out.release;
SuperColliderで、ライブコーディング‣ JITlibモードに入る、元に戻る
![Page 15: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/15.jpg)
//アルゴリズミック・ハーモニーをライブコーディングで!~out = {Mix.arFill(24,{SinOsc.ar([220,221]*(3.0/2**rrand(1,6))*(0.5** rrand(1,6)),0,1.0/24)})};~out = {Mix.arFill(24,{SinOsc.ar([220,221]*(4.0/3**rrand(1,6))*(0.5** rrand(1,6)),0,1.0/24)})};~out = {Mix.arFill(24,{SinOsc.ar([220,221]*(5.0/3**rrand(1,8))*(0.5** rrand(1,6)),0,1.0/24)})};~out = {Mix.arFill(24,{SinOsc.ar([220,221]*(9.0/8**rrand(1,20))*(0.5** rrand(1,6)),0,1.0/24)})};
SuperColliderで、ライブコーディング‣ JITlibモードに入る、元に戻る
![Page 16: Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1](https://reader034.fdocuments.net/reader034/viewer/2022042607/556f5f19d8b42a916b8b518c/html5/thumbnails/16.jpg)
今日はここまで!