Your SlideShare is downloading. ×
  • Like
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1

  • 1,025 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,025
On SlideShare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
23
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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