SlideShare a Scribd company logo
1 of 32
Download to read offline
Interactive Music II
SuperCollider入門 3 - 音を混ぜる
(Mix)、楽器を定義(SynthDef)
2013年10月17日
東京藝術大学芸術情報センター(AMC)
田所 淳
先週の復習
先週の復習
‣ 下記のSuperColliderのコードを題材に、復習

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
先週の復習
‣ { ... } は関数(処理のかたまり)をあらわす

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
‣ この例では、Sin波の音を出力する処理のかたまり
先週の復習
‣ { ... } は関数(処理のかたまり)をあらわす

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
‣ 「.play」は、この関数へのメソッド(動作)
先週の復習
‣ { ... } は関数(処理のかたまり)をあらわす

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
Receiver

Message

‣ 「.play」は、この関数へのメソッド(動作)
‣ SuperColliderでは、動作を「メッセージ(Message)」とも呼ぶ
‣ メッセージを受けとる側(この例では関数)は、「レシーバー
(Receiver)」
先週の復習
‣ SinOscは、ユニットジェネレイター(Unit Generator)

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
‣ Unit Generator (UGen)は、音や信号を出力するオブジェクト
(小さなプログラム)
先週の復習
‣ SinOscは、ユニットジェネレイター(Unit Generator)

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
Receiver

Message

‣ ユニットジェネレイターも、レシーバーとメッセージから構成
されている
先週の復習
‣ SinOscは、ユニットジェネレイター(Unit Generator)

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
Receiver

Message

‣ .ar(...) : オーディオレイト、音声信号として使用できる精度の
信号を出力
‣ .kr(...) : コントロールレイト、音量の変化など、あまり精度を
要求しないラフな信号を出力
先週の復習
‣ ( ) は引数 (Arguments)

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
‣ 引数 (Arguments) - メソッドに渡す値のこと
先週の復習
‣ ( ) は引数 (Arguments)

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
周波数

位相 音量

‣ 引数 (Arguments) - メソッドに渡す値のこと
‣ SinOscの場合は、順番に以下の意味となる
‣ 周波数(Hz)
‣ 位相
‣ 音量
先週の復習
‣ [ ] は、集合 (配列) を表す

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
先週の復習
‣ [ ] は、集合 (配列) を表す

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
‣ ただし、音のパラメータの場合には特殊な意味をもつ
‣ 出力チャンネルをあらわす
先週の復習
‣ [ ] は、集合 (配列) を表す

{ SinOsc.ar([440, 442], 0, 0.2) }.play;
‣ 1つ目の値が左チャンネル、2つ目が右チャンネル
‣ つまり、左右別々の周波数になっている
先週の復習
‣ ここまでのまとめ
‣ { ... } 関数、処理のかたまり
‣ Receiver . message 動作とその受け手
‣ ユニットジェネレイター(UGen) 音や信号を出力
‣ Ugen.ar と Ugen.kr
‣ ( ... ) は引数、レシーバーの種類のよって順番がある
‣ [ ... ] は配列、ただし音の場合には出力チャンネル
音を混ぜる、Mix
音を混ぜる、Mix
‣ 信号を足し算 ( + ) すると、音をミックスすることができる
// Mix 例1
{
! SinOsc.ar([440,442], 0, 0.2)
! + SinOsc.ar([660,663], 0, 0.2)
}.play;
// Mix 例2
{
! a = SinOsc.ar([440,442], 0, 0.2);
! b = SinOsc.ar([660,663], 0, 0.2);
! a + b;
}.play;
音を混ぜる、Mix
‣ Mixクラスをつかうと、配列内の信号を全て足してくれる
// Mixクラス
{
! a = SinOsc.ar([440,442], 0, 0.2);
! b = SinOsc.ar([660,663], 0, 0.2);
! c = SinOsc.ar([220,221], 0, 0.2);
! Mix([a, b, c]);
}.play;
音を混ぜる、Mix
‣ Mix.arFill(【繰返し回数】, { 関数 } ) で、指定した回数音をミッ
クスする
‣ 乱数 (数 .rand) と組合せるといろいろ面白い効果が
// ランダムな周波数を重ねる
(
var num = 8;
{ Mix.arFill(num, {
! SinOsc.ar([50+1000.rand, 50+1000.rand], pi.rand, 1.0/num)
})}.play;
)
// number.rand から ExpRand(low, hi)へ
(
var num = 8;
{Mix.arFill(num,{
! SinOsc.ar([ExpRand(50,800), ExpRand(50,800)], pi.rand, 1.0/num)
})}.play;
)
音を混ぜる、Mix
‣ 周波数の比率による、アルゴリズミック・ハーモニー
‣ 実験: 1.0, 3/2, 4/3の比率によるハーモニー
// アルゴリズミック、ハーモニー
(
var num = 8;
{Mix.arFill(num,{
! var freqR, freqL;
! freqL = 220 * [1.0, 3.0/2.0, 4.0/3.0].choose;
! freqR = 220 * [1.0, 3.0/2.0, 4.0/3.0].choose;
! SinOsc.ar([freqL, freqR], pi.rand, 1.0/num);
})}.play;
)
音を混ぜる、Mix
‣ 周波数の比率による、アルゴリズミック・ハーモニー
‣ 実験: 1.0, 3/2, 4/3の比率によるハーモニー
‣ そこにさらに、1.0, 3/2, 4/3 をかけ算してみる
// アルゴリズミック、ハーモニー 2
(
var num = 8;
{ Mix.arFill(num,{
! var freqR, freqL;
! freqL = 220 * [1.0, 3.0/2.0, 4.0/3.0].choose
! ! * [1.0, 3.0/2.0, 4.0/3.0].choose;
! freqR = 220 * [1.0, 3.0/2.0, 4.0/3.0].choose
! ! * [1.0, 3.0/2.0, 4.0/3.0].choose;
! SinOsc.ar([freqL, freqR], pi.rand, 1.0/num);
})}.play;
)
音を混ぜる、Mix
‣ 周波数の比率による、アルゴリズミック・ハーモニー
‣ 実験: 1.0, 3/2, 4/3の比率によるハーモニー
‣ そこにさらに、1.0, 3/2, 4/3 をかけ算してみる
‣ さらに、0∼10Hzのランダムな数を足す(デチューン)
// アルゴリズミック、ハーモニー 3
(
var num = 8;
{ Mix.arFill(num, {
! var freqR, freqL;
! freqL = 220 * [1.0, 3.0/2.0, 4.0/3.0].choose
! ! * [1.0, 3.0/2.0, 4.0/3.0].choose + 10.0.rand;
! freqR = 220 * [1.0, 3.0/2.0, 4.0/3.0].choose
! ! * [1.0, 3.0/2.0, 4.0/3.0].choose + 10.0.rand;
! SinOsc.ar([freqL, freqR], pi.rand, 1.0/num);
})}.play;
)
音を混ぜる、Mix
‣ 演習
‣ Mix.fillをつかった、アルゴリズミック・ハーモニーのプログラ
ムを改造して、新たなハーモニー生成プログラムにしてみる
‣ 比率と乱数による和声
音を混ぜる、Mix
‣ 参考: ピタゴラス音律の各音程の周波数比率
‣ http://ja.wikipedia.org/wiki/%E3%83%94%E3%82%BF
%E3%82%B4%E3%83%A9%E3%82%B9%E9%9F
%B3%E5%BE%8B
音を混ぜる、Mix
‣ 解答例
‣ 「**」は、累乗(Exponentiation)の計算
‣ 例: 2 ** 8 = 256;
// アルゴリズミック、ハーモニー 4
(
var num = 32;
{ Mix.arFill(num,{
! var freqR, freqL;
! freqL = 440 * (1.5 ** rrand(1,6)) * (0.5 ** rrand(1, 8));
! freqR = 442 * (1.5 ** rrand(1,6)) * (0.5 ** rrand(1, 8));
! SinOsc.ar([freqL, freqR], pi.rand, 1.0/num);
})}.play;
)
音を混ぜる、Mix
‣ いろいろな比率で、響きを聞き比べてみる
// アルゴリズミック・ハーモニー、バリエーション
{Mix.arFill(24,{SinOsc.ar([440,441]*(3.0/2**rrand(1,6))*(0.5**
rrand(1,8)),0,1.0/24)})}.play;
{Mix.arFill(24,{SinOsc.ar([440,441]*(4.0/3**rrand(1,6))*(0.5**
rrand(1,8)),0,1.0/24)})}.play;
{Mix.arFill(24,{SinOsc.ar([440,441]*(5.0/3**rrand(1,8))*(0.5**
rrand(1,8)),0,1.0/24)})}.play;
{Mix.arFill(24,{SinOsc.ar([440,441]*(9.0/8**rrand(1,20))*(0.5**
rrand(1,8)),0,1.0/24)})}.play;
「楽器」を定義する - SynthDef
「楽器」を定義する - SynthDef
‣ これまで使用してきた、{ }.play; という形式
‣ 一時的に、楽器(Synth)を生成し、それをSC Serverに送って出
力していた
‣ 例えば、SinOscを使用した際のPost Windowの出力
// {}.playによる出力
{SinOsc.ar}.play;
// Post Windowの表示
Synth("temp__146" : 1000)

‣ これは、 temp__146 という名前の楽器を生成していた
「楽器」を定義する - SynthDef
‣ SynthDef - 楽器を定義する
‣ SynthDef( 楽器の名前 , { Ugen関数 });
‣ 先程の簡単な関数によるプログラムをSynthDef形式へ
// {}.playによる出力
{SinOsc.ar}.play;
// SyntDefに変換
SynthDef("sine", {Out.ar(0, SinOsc.ar)}).play; //left
SynthDef("sine", {Out.ar(1, SinOsc.ar)}).play; //right

‣ SynthDefの最終出力は、必ずOutオブジェクトに渡さなければ
ならない (PdやMax/MSPの「dac 」のようなもの)
‣ Out.ar( バス番号, 出力信号);
「楽器」を定義する - SynthDef
‣ SynthDef、もう少し複雑な例
//関数による記述
{ SinOsc.ar(440, 0, 0.2) }.play;
//SynthDefをサーバーに追加
SynthDef.new("test-SinOsc", {
! Out.ar(0, SinOsc.ar(440, 0, 0.2))
}).add;
//Synthを演奏
Synth("test-SinOsc");
「楽器」を定義する - SynthDef
‣ SynthDef は、引数 (Arguments) を渡せる
//SynthDefの定義(引数あり)
SynthDef.new("test-SinOsc", {
! arg freq = 440, amp = 0.2;
! Out.ar(0, SinOsc.ar(freq, 0, amp))
}).add;
//Synthを演奏
a = Synth("test-SinOsc"); //440Hz
b = Synth("test-SinOsc", [freq:660]); //660Hz
c = Synth("test-SinOsc", [freq:880, amp:0.5]); //880Hz, amp:0.5
a.set("freq", 330); //440Hz -> 330Hz
b.set("freq", 220, "amp", 0.3); //660Hz -> 220Hz, amp: 0.3
//終了
a.free; b.free; c.free;
今日はここまで!

More Related Content

What's hot

openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートIIopenFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートIIAtsushi Tadokoro
 
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったかm2ym
 
【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター
【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター
【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスターUnity Technologies Japan K.K.
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기Yongha Yoo
 
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術Unity Technologies Japan K.K.
 
Handling inline assembly in Clang and LLVM
Handling inline assembly in Clang and LLVMHandling inline assembly in Clang and LLVM
Handling inline assembly in Clang and LLVMMin-Yih Hsu
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くHiroya Kabata
 
Boostのあるプログラミング生活
Boostのあるプログラミング生活Boostのあるプログラミング生活
Boostのあるプログラミング生活Akira Takahashi
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えAtsushi Tadokoro
 
OpenFOAMによる気液2相流解析の基礎と設定例
OpenFOAMによる気液2相流解析の基礎と設定例OpenFOAMによる気液2相流解析の基礎と設定例
OpenFOAMによる気液2相流解析の基礎と設定例takuyayamamoto1800
 
OpenFOAMによるミルククラウンのシミュレーション
OpenFOAMによるミルククラウンのシミュレーションOpenFOAMによるミルククラウンのシミュレーション
OpenFOAMによるミルククラウンのシミュレーション日本アムスコ
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門Atsushi Tadokoro
 
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』Fumiya Nozaki
 
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3DKazuhisa Minato
 
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライドCEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライドToshiyasu Miyabe
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
私を SKI に連れてって
私を SKI に連れてって私を SKI に連れてって
私を SKI に連れてってSusisu
 
OpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズOpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズmmer547
 

What's hot (20)

openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートIIopenFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
 
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
 
【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター
【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター
【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기
 
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
 
Handling inline assembly in Clang and LLVM
Handling inline assembly in Clang and LLVMHandling inline assembly in Clang and LLVM
Handling inline assembly in Clang and LLVM
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
 
圏とHaskellの型
圏とHaskellの型圏とHaskellの型
圏とHaskellの型
 
Boostのあるプログラミング生活
Boostのあるプログラミング生活Boostのあるプログラミング生活
Boostのあるプログラミング生活
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
 
OpenFOAMによる気液2相流解析の基礎と設定例
OpenFOAMによる気液2相流解析の基礎と設定例OpenFOAMによる気液2相流解析の基礎と設定例
OpenFOAMによる気液2相流解析の基礎と設定例
 
OpenFOAMによるミルククラウンのシミュレーション
OpenFOAMによるミルククラウンのシミュレーションOpenFOAMによるミルククラウンのシミュレーション
OpenFOAMによるミルククラウンのシミュレーション
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
 
rhoCentralFoam in OpenFOAM
rhoCentralFoam in OpenFOAMrhoCentralFoam in OpenFOAM
rhoCentralFoam in OpenFOAM
 
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
 
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D
 
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライドCEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
私を SKI に連れてって
私を SKI に連れてって私を SKI に連れてって
私を SKI に連れてって
 
OpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズOpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズ
 

Viewers also liked

Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るRaspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るChikashi Miyama
 
ArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうtadfmac
 
神秘的なハーモニーの作り方
神秘的なハーモニーの作り方神秘的なハーモニーの作り方
神秘的なハーモニーの作り方Satoru Tagawa
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Atsushi Tadokoro
 
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションAtsushi Tadokoro
 
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollideropenFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperColliderAtsushi Tadokoro
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望Atsushi Tadokoro
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門minazou67
 

Viewers also liked (9)

Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るRaspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作る
 
ArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろう
 
神秘的なハーモニーの作り方
神秘的なハーモニーの作り方神秘的なハーモニーの作り方
神秘的なハーモニーの作り方
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
 
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
 
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollideropenFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
openFrameworks、サウンド機能・音響合成、ofxMaxim, ofxOsc, ofxPd, ofxSuperCollider
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
 

More from Atsushi Tadokoro

プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようAtsushi Tadokoro
 
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Atsushi Tadokoro
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2Atsushi Tadokoro
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションAtsushi Tadokoro
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Atsushi Tadokoro
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス Atsushi Tadokoro
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くAtsushi Tadokoro
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリAtsushi Tadokoro
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使うAtsushi Tadokoro
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得Atsushi Tadokoro
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングAtsushi Tadokoro
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するAtsushi Tadokoro
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!Atsushi Tadokoro
 
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現するiTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現するAtsushi Tadokoro
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLAtsushi Tadokoro
 
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くメディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くAtsushi Tadokoro
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するAtsushi Tadokoro
 

More from Atsushi Tadokoro (20)

プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
 
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
 
Tamabi media131118
Tamabi media131118Tamabi media131118
Tamabi media131118
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
 
Geidai music131107
Geidai music131107Geidai music131107
Geidai music131107
 
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現するiTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
 
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くメディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描く
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
 

Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)