SlideShare una empresa de Scribd logo
1 de 42
// OSC
(
thisProcess.recvOSCfunc = { |time, addr, msg|
	   if(msg[0] != 'status.reply') {
	   	   msg.postln;
	   }
});

// OSC
thisProcess.recvOSCfunc = nil;
[ /mrmr/accelerometerX/1/yoppaorg, 610 ]
[ /mrmr/accelerometerY/1/yoppaorg, 409 ]
[ /mrmr/accelerometerZ/1/yoppaorg, 24 ]
[ /mrmr/accelerometer/direction/2/yoppaorg,   2 ]
[ /mrmr/accelerometer/force/2/yoppaorg, 220   ]
[ /mrmr/accelerometer/angle/3/yoppaorg, 164   ]
[ /mrmr/accelerometer/force/3/yoppaorg, 220   ]
[ /mrmr/accelerometerX/5/yoppaorg, 610 ]
[ /mrmr/accelerometerY/5/yoppaorg, 409 ]
[ /mrmr/accelerometerZ/5/yoppaorg, 24 ]
[ /mrmr/accelerometer/direction/6/yoppaorg,   2 ]
[ /mrmr/accelerometer/force/6/yoppaorg, 220   ]
[ /mrmr/accelerometer/angle/7/yoppaorg, 164   ]
[ /mrmr/accelerometer/force/7/yoppaorg, 220   ]
....
SynthDef("fm2", {
	   arg bus = 0, freq = 440,
	   carPartial = 0.5, modPartial = 0.5, detune=2.0,
	   index = 3, mul = 0.2, ts = 1;
	   var mod, car;
	   mod = SinOsc.ar(
	   	    freq * modPartial,
	   	    0,
	   	    freq * index * LFNoise1.kr(5.reciprocal).abs);
	   car = SinOsc.ar(
	   	    [(freq * carPartial) + mod,(freq+detune * carPartial) + mod],
	   	    0,
	   	    mul);
	   car = FreeVerb.ar(
	   	    car* EnvGen.kr(Env.new([0,1], [5])),
	   	    0.5, 0.8, 0.2, 1.0);
	   Out.ar(bus, car);
}).load(s);


// "fm2"
s.sendMsg("/s_new", "fm2", x=s.nextNodeID, 1,1);
// X
OSCresponderNode(nil, "/mrmr/accelerometerX/1/yoppaorg",{
	       arg time, resp, msg;
	       var car;
	       car = abs(msg[1])/1000.0;
	       s.sendMsg("/n_set", x, "carPartial", car); // fm2   OSC       	
}).add;
// Y
OSCresponderNode(nil, "/mrmr/accelerometerY/1/yoppaorg",{
	       arg time, resp, msg;
	       var mod;
	       mod = abs(msg[1])/1000.0;
	       s.sendMsg("/n_set", , "modPartial", mod); // fm2    OSC       	
	
}).add;
// Z
OSCresponderNode(nil, "/mrmr/accelerometerZ/1/yoppaorg",{
	       arg time, resp, msg;
	       var index;
	       index = abs(msg[1])/10.0;
	       s.sendMsg("/n_set", , "index", index); // fm2 OSC         	
}).add;
[ /mrmr/tactilezoneX/0/yoppaorg,   528   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   474   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   528   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   479   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   528   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   483   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   528   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   487   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   528   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   491   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   528   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   495   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   528   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   497   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   525   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   500   ]
[ /mrmr/tactilezoneX/0/yoppaorg,   525   ]
[ /mrmr/tactilezoneY/0/yoppaorg,   500   ]
...
// X
OSCresponderNode(nil, "/mrmr/tactilezoneX/0/yoppaorg",{
	       arg time, resp, msg;
	       var index;
	       index = abs(msg[1])/20.0;
	       s.sendMsg("/n_set", x, "index", index);
	
}).add;

// Y
OSCresponderNode(nil, "/mrmr/tactilezoneY/0/yoppaorg",{
	       arg time, resp, msg;
	       var mod;
	       mod = abs(msg[1])/1000.0;
	       s.sendMsg("/n_set", , "modPartial", mod);
	
}).add;
togglebutton   nil   0.200000    8   11   1   1   1   1   _   2
togglebutton   nil   0.200000    8   11   2   1   1   1   _   2
togglebutton   nil   0.200000    8   11   3   1   1   1   _   2
togglebutton   nil   0.200000    8   11   4   1   1   1   _   2
togglebutton   nil   0.200000    8   11   5   1   1   1   _   2
togglebutton   nil   0.200000    8   11   6   1   1   1   _   2
togglebutton   nil   0.200000    8   11   7   1   1   1   _   2
togglebutton   nil   0.200000    8   11   8   1   1   1   _   2
togglebutton   nil   0.200000    8   11   1   2   1   1   _   2
togglebutton   nil   0.200000    8   11   2   2   1   1   _   2
togglebutton   nil   0.200000    8   11   3   2   1   1   _   2
togglebutton   nil   0.200000    8   11   4   2   1   1   _   2
...(   )...
slider nil   0.200000 8 11      1   9 8 1 note 1
pushbutton   auth 0.200000      8   11 1 10 1 1 _             2
pushbutton   auth 0.200000      8   11 2 10 1 1 _             2
pushbutton   auth 0.200000      8   11 3 10 1 1 _             2
pushbutton   auth 0.200000      8   11 4 10 1 1 _             2
pushbutton   auth 0.200000      8   11 5 10 1 1 _             2
pushbutton   auth 0.200000      8   11 6 10 1 1 _             2
//   ”perc”
SynthDef("perc", {
	   arg amp=0.2, freq=440, detune=2.0, decay=2.0;
	   var env, out;
	   out = SinOsc.ar([freq, freq+detune]);
	   env = EnvGen.kr(Env.perc(0.01,decay,amp,-4), doneAction: 2);
	   out = out * env;
	   Out.ar(0, out);
}).send(s);

//test
s.sendMsg("/s_new", "perc", s.nextNodeID, 1,1);
//
(
~bpm = 60;
~clock = TempoClock(~bpm/60);
~base = 60;
~scale = [0,2,4,5,7,9,11,12];
~seqArray = [
	    [0,0,0,0,0,0,0,0],
	    [0,0,0,0,0,0,0,0],
	    [0,0,0,0,0,0,0,0],
	    [0,0,0,0,0,0,0,0],
	    [0,0,0,0,0,0,0,0],
	    [0,0,0,0,0,0,0,0],
	    [0,0,0,0,0,0,0,0],
	    [0,0,0,0,0,0,0,0]
];

~i = 0;
~amp = 0.05;
~decay = 3.0;
~freqArray = [0,0,0,0,0,0,0,0];
~task = Task({
	    inf.do{
	    	    var wait;
	    	    wait = 1/4;
8.do({
	    	   	    arg j;
	    	   	    ~freqArray.put(j, ~seqArray.wrapAt(j).wrapAt(~i)*(~scale.wrapAt(j)
+~base).midicps)
	    	   });

	    	   s.makeBundle(s.latency, {
	    	   	    8.do({
	    	   	    	    arg j;
	    	   	    	    Synth("perc", ["amp", ~amp, "freq", ~freqArray.wrapAt(j),
"decay",~decay])
	    	   	    });
	    	   });
	    	
	    	   ~i = ~i + 1;
	    	   wait.wait;
	    };
}, ~clock).start;
)
//Mrmr
(
var mess=Array.newClear(64);
var sc = Array.newClear(8);
var hostname = "yoppaorg";

j=0;
64.do({|i|
	 OSCresponderNode(nil, '/mrmr/pushbutton/' ++ i ++ '/' ++ hostname,
	      {
	      	     arg time, resp, msg;
	      	     var col, row;
	      	     msg.postln;
	      	     row = floor(i/8);
	      	     col = i % 8;
	      	     ~seqArray.wrapAt(row).put(col, msg[1]/1000);
	      	     ~seqArray.postln;		
	      }).add;
	
});
OSCresponderNode(nil, '/mrmr/slider/horizontal/64/' ++ hostname,
	      {
	      	     arg time, resp, msg;
	      	     ~base = floor(msg[1]/40)+70;
	      	     ~base.postln;	
}).add;



8.do({|i|
	 OSCresponderNode(nil, '/mrmr/pushbutton/'++ (i+65) ++ '/' ++ hostname,
	      {
	      	     arg time, resp, msg;
	      	     if(i==0) {~scale = [0,2,4,5,7,9,11,12]};
	      	     if(i==1) {~scale = [0,4,5,7,11,12,16,23]};
	      	     if(i==2) {~scale = [0,3,7,12,15,19,22,24]};
	      	     if(i==3) {~scale = [0,3,7,11,12,15,19,23]};
	      	     if(i==4) {~scale = [0,7,11,12,19,23,24,31]};
	      	     if(i==5) {~scale = [0,7,12,19,24,31,36,43]};
	      	     ~scale.postln;
	      }).add;
});
)
Sbaw090908

Más contenido relacionado

La actualidad más candente

The Node.js Event Loop: Not So Single Threaded
The Node.js Event Loop: Not So Single ThreadedThe Node.js Event Loop: Not So Single Threaded
The Node.js Event Loop: Not So Single ThreadedBryan Hughes
 
Евгений Крутько, Многопоточные вычисления, современный подход.
Евгений Крутько, Многопоточные вычисления, современный подход.Евгений Крутько, Многопоточные вычисления, современный подход.
Евгений Крутько, Многопоточные вычисления, современный подход.Platonov Sergey
 
Azure Durable Funkiness - .NET Oxford June 2018
Azure Durable Funkiness - .NET Oxford June 2018Azure Durable Funkiness - .NET Oxford June 2018
Azure Durable Funkiness - .NET Oxford June 2018Stuart Leeks
 
OOP for Hardware Verification--Demystified!
OOP for Hardware Verification--Demystified! OOP for Hardware Verification--Demystified!
OOP for Hardware Verification--Demystified! DVClub
 
The Ring programming language version 1.10 book - Part 16 of 212
The Ring programming language version 1.10 book - Part 16 of 212The Ring programming language version 1.10 book - Part 16 of 212
The Ring programming language version 1.10 book - Part 16 of 212Mahmoud Samir Fayed
 
Степан Кольцов — Rust — лучше, чем C++
Степан Кольцов — Rust — лучше, чем C++Степан Кольцов — Rust — лучше, чем C++
Степан Кольцов — Rust — лучше, чем C++Yandex
 
Evernote ウェブサービスAPI
Evernote ウェブサービスAPIEvernote ウェブサービスAPI
Evernote ウェブサービスAPIFumihiro Kato
 

La actualidad más candente (8)

The Node.js Event Loop: Not So Single Threaded
The Node.js Event Loop: Not So Single ThreadedThe Node.js Event Loop: Not So Single Threaded
The Node.js Event Loop: Not So Single Threaded
 
Евгений Крутько, Многопоточные вычисления, современный подход.
Евгений Крутько, Многопоточные вычисления, современный подход.Евгений Крутько, Многопоточные вычисления, современный подход.
Евгений Крутько, Многопоточные вычисления, современный подход.
 
Azure Durable Funkiness - .NET Oxford June 2018
Azure Durable Funkiness - .NET Oxford June 2018Azure Durable Funkiness - .NET Oxford June 2018
Azure Durable Funkiness - .NET Oxford June 2018
 
OOP for Hardware Verification--Demystified!
OOP for Hardware Verification--Demystified! OOP for Hardware Verification--Demystified!
OOP for Hardware Verification--Demystified!
 
The Ring programming language version 1.10 book - Part 16 of 212
The Ring programming language version 1.10 book - Part 16 of 212The Ring programming language version 1.10 book - Part 16 of 212
The Ring programming language version 1.10 book - Part 16 of 212
 
Степан Кольцов — Rust — лучше, чем C++
Степан Кольцов — Rust — лучше, чем C++Степан Кольцов — Rust — лучше, чем C++
Степан Кольцов — Rust — лучше, чем C++
 
3
33
3
 
Evernote ウェブサービスAPI
Evernote ウェブサービスAPIEvernote ウェブサービスAPI
Evernote ウェブサービスAPI
 

Destacado

openFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートII
openFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートIIopenFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートII
openFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートIIAtsushi Tadokoro
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!Atsushi Tadokoro
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望Atsushi Tadokoro
 

Destacado (9)

Sbaw090414
Sbaw090414Sbaw090414
Sbaw090414
 
Sbaw091110
Sbaw091110Sbaw091110
Sbaw091110
 
Sbaw090519
Sbaw090519Sbaw090519
Sbaw090519
 
Sbaw090526
Sbaw090526Sbaw090526
Sbaw090526
 
Web Presen1 0423
Web Presen1 0423Web Presen1 0423
Web Presen1 0423
 
Sbaw090421
Sbaw090421Sbaw090421
Sbaw090421
 
openFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートII
openFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートIIopenFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートII
openFrameworks – 関数・クラス、オブジェクト指向プログラミング導入 - 多摩美メディアアートII
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
 

Similar a Sbaw090908

GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdf
 GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdf GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdf
GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdfalltiusind
 
Hacking Parse.y with ujihisa
Hacking Parse.y with ujihisaHacking Parse.y with ujihisa
Hacking Parse.y with ujihisaujihisa
 
Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.Ladislav Prskavec
 
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)ujihisa
 
operating system Linux,ubuntu,Mac#include stdio.h #include .pdf
operating system Linux,ubuntu,Mac#include stdio.h #include .pdfoperating system Linux,ubuntu,Mac#include stdio.h #include .pdf
operating system Linux,ubuntu,Mac#include stdio.h #include .pdfaquazac
 
I have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdfI have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdfshreeaadithyaacellso
 
Write a Matlab code (a computerized program) for calculating plane st.docx
 Write a Matlab code (a computerized program) for calculating plane st.docx Write a Matlab code (a computerized program) for calculating plane st.docx
Write a Matlab code (a computerized program) for calculating plane st.docxajoy21
 
operating system ubuntu,linux,MacProgram will work only if you g.pdf
operating system ubuntu,linux,MacProgram will work only if you g.pdfoperating system ubuntu,linux,MacProgram will work only if you g.pdf
operating system ubuntu,linux,MacProgram will work only if you g.pdfaptcomputerzone
 
Mitsubachi Arduino code
Mitsubachi Arduino codeMitsubachi Arduino code
Mitsubachi Arduino codeYilin Zeng
 
ZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made SimpleZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made SimpleIan Barber
 
Actor Concurrency
Actor ConcurrencyActor Concurrency
Actor ConcurrencyAlex Miller
 

Similar a Sbaw090908 (20)

Ssaw08 0624
Ssaw08 0624Ssaw08 0624
Ssaw08 0624
 
Open bot
Open bot Open bot
Open bot
 
OpenBot-Code
OpenBot-CodeOpenBot-Code
OpenBot-Code
 
GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdf
 GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdf GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdf
GENESIS BOARD MINI SUMO ROBOT PROGRAMFOR 3 OPPONENT SENSOR, .pdf
 
Hacking Parse.y with ujihisa
Hacking Parse.y with ujihisaHacking Parse.y with ujihisa
Hacking Parse.y with ujihisa
 
Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.Tessel is a microcontroller that runs JavaScript.
Tessel is a microcontroller that runs JavaScript.
 
Assignment
AssignmentAssignment
Assignment
 
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
 
operating system Linux,ubuntu,Mac#include stdio.h #include .pdf
operating system Linux,ubuntu,Mac#include stdio.h #include .pdfoperating system Linux,ubuntu,Mac#include stdio.h #include .pdf
operating system Linux,ubuntu,Mac#include stdio.h #include .pdf
 
I have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdfI have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdf
 
StewartPlatform_cpp
StewartPlatform_cppStewartPlatform_cpp
StewartPlatform_cpp
 
Sysprog 13
Sysprog 13Sysprog 13
Sysprog 13
 
Write a Matlab code (a computerized program) for calculating plane st.docx
 Write a Matlab code (a computerized program) for calculating plane st.docx Write a Matlab code (a computerized program) for calculating plane st.docx
Write a Matlab code (a computerized program) for calculating plane st.docx
 
operating system ubuntu,linux,MacProgram will work only if you g.pdf
operating system ubuntu,linux,MacProgram will work only if you g.pdfoperating system ubuntu,linux,MacProgram will work only if you g.pdf
operating system ubuntu,linux,MacProgram will work only if you g.pdf
 
Mitsubachi Arduino code
Mitsubachi Arduino codeMitsubachi Arduino code
Mitsubachi Arduino code
 
ZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made SimpleZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made Simple
 
FINISHED_CODE
FINISHED_CODEFINISHED_CODE
FINISHED_CODE
 
Javascript: The Important Bits
Javascript: The Important BitsJavascript: The Important Bits
Javascript: The Important Bits
 
Actor Concurrency
Actor ConcurrencyActor Concurrency
Actor Concurrency
 
RabbitMQ
RabbitMQRabbitMQ
RabbitMQ
 

Más de 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とSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Atsushi 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
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)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
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Atsushi 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
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Atsushi 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
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えAtsushi Tadokoro
 

Más de 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とSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
 
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 アプリ間の通信とタンジブルなインターフェイス
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
 
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フレームワークを使う
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
 
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プログラミング
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
 
Geidai music131107
Geidai music131107Geidai music131107
Geidai music131107
 

Sbaw090908

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. // OSC ( thisProcess.recvOSCfunc = { |time, addr, msg| if(msg[0] != 'status.reply') { msg.postln; } }); // OSC thisProcess.recvOSCfunc = nil;
  • 21. [ /mrmr/accelerometerX/1/yoppaorg, 610 ] [ /mrmr/accelerometerY/1/yoppaorg, 409 ] [ /mrmr/accelerometerZ/1/yoppaorg, 24 ] [ /mrmr/accelerometer/direction/2/yoppaorg, 2 ] [ /mrmr/accelerometer/force/2/yoppaorg, 220 ] [ /mrmr/accelerometer/angle/3/yoppaorg, 164 ] [ /mrmr/accelerometer/force/3/yoppaorg, 220 ] [ /mrmr/accelerometerX/5/yoppaorg, 610 ] [ /mrmr/accelerometerY/5/yoppaorg, 409 ] [ /mrmr/accelerometerZ/5/yoppaorg, 24 ] [ /mrmr/accelerometer/direction/6/yoppaorg, 2 ] [ /mrmr/accelerometer/force/6/yoppaorg, 220 ] [ /mrmr/accelerometer/angle/7/yoppaorg, 164 ] [ /mrmr/accelerometer/force/7/yoppaorg, 220 ] ....
  • 22.
  • 23. SynthDef("fm2", { arg bus = 0, freq = 440, carPartial = 0.5, modPartial = 0.5, detune=2.0, index = 3, mul = 0.2, ts = 1; var mod, car; mod = SinOsc.ar( freq * modPartial, 0, freq * index * LFNoise1.kr(5.reciprocal).abs); car = SinOsc.ar( [(freq * carPartial) + mod,(freq+detune * carPartial) + mod], 0, mul); car = FreeVerb.ar( car* EnvGen.kr(Env.new([0,1], [5])), 0.5, 0.8, 0.2, 1.0); Out.ar(bus, car); }).load(s); // "fm2" s.sendMsg("/s_new", "fm2", x=s.nextNodeID, 1,1);
  • 24. // X OSCresponderNode(nil, "/mrmr/accelerometerX/1/yoppaorg",{ arg time, resp, msg; var car; car = abs(msg[1])/1000.0; s.sendMsg("/n_set", x, "carPartial", car); // fm2 OSC }).add; // Y OSCresponderNode(nil, "/mrmr/accelerometerY/1/yoppaorg",{ arg time, resp, msg; var mod; mod = abs(msg[1])/1000.0; s.sendMsg("/n_set", , "modPartial", mod); // fm2 OSC }).add; // Z OSCresponderNode(nil, "/mrmr/accelerometerZ/1/yoppaorg",{ arg time, resp, msg; var index; index = abs(msg[1])/10.0; s.sendMsg("/n_set", , "index", index); // fm2 OSC }).add;
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. [ /mrmr/tactilezoneX/0/yoppaorg, 528 ] [ /mrmr/tactilezoneY/0/yoppaorg, 474 ] [ /mrmr/tactilezoneX/0/yoppaorg, 528 ] [ /mrmr/tactilezoneY/0/yoppaorg, 479 ] [ /mrmr/tactilezoneX/0/yoppaorg, 528 ] [ /mrmr/tactilezoneY/0/yoppaorg, 483 ] [ /mrmr/tactilezoneX/0/yoppaorg, 528 ] [ /mrmr/tactilezoneY/0/yoppaorg, 487 ] [ /mrmr/tactilezoneX/0/yoppaorg, 528 ] [ /mrmr/tactilezoneY/0/yoppaorg, 491 ] [ /mrmr/tactilezoneX/0/yoppaorg, 528 ] [ /mrmr/tactilezoneY/0/yoppaorg, 495 ] [ /mrmr/tactilezoneX/0/yoppaorg, 528 ] [ /mrmr/tactilezoneY/0/yoppaorg, 497 ] [ /mrmr/tactilezoneX/0/yoppaorg, 525 ] [ /mrmr/tactilezoneY/0/yoppaorg, 500 ] [ /mrmr/tactilezoneX/0/yoppaorg, 525 ] [ /mrmr/tactilezoneY/0/yoppaorg, 500 ] ...
  • 30. // X OSCresponderNode(nil, "/mrmr/tactilezoneX/0/yoppaorg",{ arg time, resp, msg; var index; index = abs(msg[1])/20.0; s.sendMsg("/n_set", x, "index", index); }).add; // Y OSCresponderNode(nil, "/mrmr/tactilezoneY/0/yoppaorg",{ arg time, resp, msg; var mod; mod = abs(msg[1])/1000.0; s.sendMsg("/n_set", , "modPartial", mod); }).add;
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. togglebutton nil 0.200000 8 11 1 1 1 1 _ 2 togglebutton nil 0.200000 8 11 2 1 1 1 _ 2 togglebutton nil 0.200000 8 11 3 1 1 1 _ 2 togglebutton nil 0.200000 8 11 4 1 1 1 _ 2 togglebutton nil 0.200000 8 11 5 1 1 1 _ 2 togglebutton nil 0.200000 8 11 6 1 1 1 _ 2 togglebutton nil 0.200000 8 11 7 1 1 1 _ 2 togglebutton nil 0.200000 8 11 8 1 1 1 _ 2 togglebutton nil 0.200000 8 11 1 2 1 1 _ 2 togglebutton nil 0.200000 8 11 2 2 1 1 _ 2 togglebutton nil 0.200000 8 11 3 2 1 1 _ 2 togglebutton nil 0.200000 8 11 4 2 1 1 _ 2 ...( )... slider nil 0.200000 8 11 1 9 8 1 note 1 pushbutton auth 0.200000 8 11 1 10 1 1 _ 2 pushbutton auth 0.200000 8 11 2 10 1 1 _ 2 pushbutton auth 0.200000 8 11 3 10 1 1 _ 2 pushbutton auth 0.200000 8 11 4 10 1 1 _ 2 pushbutton auth 0.200000 8 11 5 10 1 1 _ 2 pushbutton auth 0.200000 8 11 6 10 1 1 _ 2
  • 36.
  • 37. // ”perc” SynthDef("perc", { arg amp=0.2, freq=440, detune=2.0, decay=2.0; var env, out; out = SinOsc.ar([freq, freq+detune]); env = EnvGen.kr(Env.perc(0.01,decay,amp,-4), doneAction: 2); out = out * env; Out.ar(0, out); }).send(s); //test s.sendMsg("/s_new", "perc", s.nextNodeID, 1,1);
  • 38. // ( ~bpm = 60; ~clock = TempoClock(~bpm/60); ~base = 60; ~scale = [0,2,4,5,7,9,11,12]; ~seqArray = [ [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0] ]; ~i = 0; ~amp = 0.05; ~decay = 3.0; ~freqArray = [0,0,0,0,0,0,0,0]; ~task = Task({ inf.do{ var wait; wait = 1/4;
  • 39. 8.do({ arg j; ~freqArray.put(j, ~seqArray.wrapAt(j).wrapAt(~i)*(~scale.wrapAt(j) +~base).midicps) }); s.makeBundle(s.latency, { 8.do({ arg j; Synth("perc", ["amp", ~amp, "freq", ~freqArray.wrapAt(j), "decay",~decay]) }); }); ~i = ~i + 1; wait.wait; }; }, ~clock).start; )
  • 40. //Mrmr ( var mess=Array.newClear(64); var sc = Array.newClear(8); var hostname = "yoppaorg"; j=0; 64.do({|i| OSCresponderNode(nil, '/mrmr/pushbutton/' ++ i ++ '/' ++ hostname, { arg time, resp, msg; var col, row; msg.postln; row = floor(i/8); col = i % 8; ~seqArray.wrapAt(row).put(col, msg[1]/1000); ~seqArray.postln; }).add; });
  • 41. OSCresponderNode(nil, '/mrmr/slider/horizontal/64/' ++ hostname, { arg time, resp, msg; ~base = floor(msg[1]/40)+70; ~base.postln; }).add; 8.do({|i| OSCresponderNode(nil, '/mrmr/pushbutton/'++ (i+65) ++ '/' ++ hostname, { arg time, resp, msg; if(i==0) {~scale = [0,2,4,5,7,9,11,12]}; if(i==1) {~scale = [0,4,5,7,11,12,16,23]}; if(i==2) {~scale = [0,3,7,12,15,19,22,24]}; if(i==3) {~scale = [0,3,7,11,12,15,19,23]}; if(i==4) {~scale = [0,7,11,12,19,23,24,31]}; if(i==5) {~scale = [0,7,12,19,24,31,36,43]}; ~scale.postln; }).add; }); )