• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
 

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

on

  • 1,092 views

 

Statistics

Views

Total Views
1,092
Views on SlideShare
667
Embed Views
425

Actions

Likes
1
Downloads
16
Comments
0

6 Embeds 425

http://yoppa.org 355
http://cloud.feedly.com 60
http://feedly.com 5
http://digg.com 2
https://twitter.com 2
http://reader.aol.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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