SlideShare a Scribd company logo
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)})};
今日はここまで!

More Related Content

PDF
Tokyo sc #10_2013_10_27
PDF
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
PDF
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
PDF
Geidai music131107
PDF
快適な朝を実現するソリューションのご紹介
PDF
ejectLT @ NT金沢
PDF
Introducing libpd -Pdをアプリのサウンドエンジンに-
PDF
CD-ROMドライブ魔改造大作戦
Tokyo sc #10_2013_10_27
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Geidai music131107
快適な朝を実現するソリューションのご紹介
ejectLT @ NT金沢
Introducing libpd -Pdをアプリのサウンドエンジンに-
CD-ROMドライブ魔改造大作戦

What's hot (20)

PDF
Skype4 pyで遊んでみた
PDF
最近のEjectダイジェスト
KEY
PDF
20211102 enebular meetup_kitazaki v1
PDF
Unity歴0秒は何故ゲームジャムに飛び込んだのか
PPT
MTM07で電子楽器を展示してきた
PPTX
FPGAでmrubyを動かす
PDF
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
PDF
EJECT THE FINAL 2014~CD-ROMドライブで明けない夜が来ることはない〜
ODP
Jubeatプレゼン
PDF
Filter・Mutator・Aggregateの使いドコロ
PDF
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
PDF
GitとGitHubによる chordのバージョン管理 for バンドマン
PDF
勉強会への一歩を踏み出すために
PPTX
ラジコンをROSで制御してみた
PDF
おうちハックナイト
PDF
Mueue
PPTX
パソコンが光った
PDF
OSC 2012 Nagoya (2012-05-12)
PDF
Gitを使ったRoute53の管理
Skype4 pyで遊んでみた
最近のEjectダイジェスト
20211102 enebular meetup_kitazaki v1
Unity歴0秒は何故ゲームジャムに飛び込んだのか
MTM07で電子楽器を展示してきた
FPGAでmrubyを動かす
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
EJECT THE FINAL 2014~CD-ROMドライブで明けない夜が来ることはない〜
Jubeatプレゼン
Filter・Mutator・Aggregateの使いドコロ
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
GitとGitHubによる chordのバージョン管理 for バンドマン
勉強会への一歩を踏み出すために
ラジコンをROSで制御してみた
おうちハックナイト
Mueue
パソコンが光った
OSC 2012 Nagoya (2012-05-12)
Gitを使ったRoute53の管理
Ad

Viewers also liked (15)

PDF
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
PDF
Media Art II openFrameworks 複数のシーンの管理・切替え
PDF
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
PDF
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
PDF
Interactive Music II SuperCollider入門 2 - 関数とUGen
PDF
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
PDF
プログラム初級講座 - メディア芸術をはじめよう
PDF
Interactive Music II ProcessingとSuperColliderの連携 -2
PDF
Interactive Music II - SuperCollider入門
PDF
メディア・アート II 第1回: ガイダンス openFrameworks入門
PDF
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
PDF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
PDF
Media Art II 2013 第5回:openFrameworks Addonを使用する
PDF
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
PDF
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
Media Art II openFrameworks 複数のシーンの管理・切替え
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Interactive Music II SuperCollider入門 2 - 関数とUGen
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
プログラム初級講座 - メディア芸術をはじめよう
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II - SuperCollider入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Ad

More from Atsushi Tadokoro (18)

PDF
coma Creators session vol.2
PDF
Interactive Music II ProcessingとSuperColliderの連携1
PDF
Interactive Music II Processingによるアニメーション
PDF
Interactive Music II Processing基本
PDF
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
PDF
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
PDF
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
PDF
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
PDF
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
PDF
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
PDF
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
PDF
Tamabi media131118
PDF
Interactive Music II SuperCollider入門 5 時間構造をつくる
PDF
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
PDF
メディア芸術基礎 II Canvas + Javascriptで図形を描く
PDF
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
PDF
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
PDF
iTamabi 13 第5回:ARTSAT API 導入
coma Creators session vol.2
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II Processingによるアニメーション
Interactive Music II Processing基本
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Tamabi media131118
Interactive Music II SuperCollider入門 5 時間構造をつくる
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
メディア芸術基礎 II Canvas + Javascriptで図形を描く
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13 第5回:ARTSAT API 導入

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