LoginSignup
1
0

【TidalCycles】OSCでSuperColliderを直接再生させる

Posted at

通常はTidalCyclesからSuperDirt経由で音を生成・再生すると思います。
ただCycleとは無関係にシンセの音を出したいときなど、純粋にSuperColliderの音を出したいこともあるかと思います。

ということで、Tidalのコードを書いているエディタからhoscを用いてSuperColliderを再生してみます。

hoscがインストール済でない場合はインストールしておきましょう

cabal install --lib hosc

#実装

BootTidal.hsに下記を追加しておきます。(もしくは.tidalを開いて一つずつ実行する)

BootTidal.hs
import Sound.OSC.FD as O

s_new nodeId synthname param=
  do
    r <- openUDP "127.0.0.1" 57110
    sendMessage r $ Message "/s_new" ([string synthname, Int32 nodeId, Int32 1, Int32 0]++param)

n_set nodeId param=
  do
    r <- openUDP "127.0.0.1" 57110
    sendMessage r $ Message "/n_set" ([Int32 nodeId]++param)

n_free nodeId =
  do
    r <- openUDP "127.0.0.1" 57110
    sendMessage r $ Message "/n_free" [Int32 nodeId]

SuperColliderを開いて、今回テストとして鳴らすノイズを定義しておきます。

SynthDef("backgroundNoise", {
	arg amp=1;
	var out=0;
	p=PinkNoise.ar(1!2);
	p=HPF.ar(p, 230);
	p=LPF.ar(p, 1500);
	Out.ar(out, p*0.2*amp);
}, [1]).add;

定義できたら、test.tidal作って以下のコマンドを順に実行してみてください

test.tidal
-- 再生
s_new 1000 "backgroundNoise" [string "amp", Float 1.8]

-- ボリュームなど、パラメータの変更
n_set 1000 [string "amp", Float 5.0]

-- 停止
n_free 1000

これでtidalからsupercolliderにOSC送信+再生できます

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0