見出し画像

モジュラーシンセとしてのSuperCollider

このページの最下部に各回へのリンク(目次)を追記して、記事内容の一覧が見れるようにしました。記事を書くたびにこのページも更新します。
**********************************

SuperColliderはメチャメチャ自由度の高いシンセです!

思いついたアイデアを何でも試せるモジュラーシンセのような。(と、僕は捉えています。)

こんなことすぐに試せるし・・
(サイン波とノコギリ波の掛け算)

//440Hzのサイン波とノコギリ派を掛け合わせた音を再生します。(Lチャンネルから再生)
{ SinOsc.ar(440) * Saw.ar(440) }.play;


さらにノコギリ波の440のところをMouseX.kr(1, 880)のように書き換えると、掛け算したままマウスのX座標位置によってノコギリ波のピッチが可変します。しかも下は1Hzから上は880Hzまで連続に可変!

{ SinOsc.ar(440) * Saw.ar(MouseX.kr(1, 880)) }.play;

*このコードを再生しながらマウスを動かしてみた音を録音しました。
(実際のコードではLチャンネルだけからの再生ですが添付のwavではLRから聞こえるようにしています。)


ただSuperColliderはテキストベースなので(僕はそれがカッコイイと思うし解りやすいとも思うのですが)人によってはとっつきにくいと感じるかもしれません。それに元々プログラミング言語だという性質上、ネットで情報を調べるとプログラマ向けの書き方のものが多いんですよね。

僕自身は元々プログラマではないということもあり、同じくプログラマではない人がSuperColliderに興味を持ったときに解りやすく読めるような何かを書き残しておけないかなぁと考えてnoteを書くことにしました。

*それでも、日本語でSuperColliderの情報を上げてくださっている方々には本当に本当に感謝しています。少ない日本語での情報はとても有り難く、今でも(古い情報だったとしても)何度も読み返しています。

**********************************

SuperColliderに接するのは初めて、という方は、まずは下記の01〜18の投稿をゆっくり読み進めていくことをオススメします。

各記事へのリンク(都度更新)

01.基本的なこと色々
ダウンロード, ウィンドウ説明, 音を鳴らす/止める, 最大音量, ヘルプ表示

02.コードのつくり
{波カッコ}, ”部品”と”指示”(レシーバ+ドット+指示)

03.フィルター
クラス, メソッド, ローパスフィルター, .dup(2)は!2

04.ちょっとしたこと(Tips?)
複数行のコードを(カッコ)で囲む, コード内にコメントを書く

05.変数
変数は箱, 箱に名前をつけるときはvarを使う

06.エンベロープ
s.meter, s.plotTree, arとkr, パラメータ名付きでパラメータを書く

07.作った音色をシーケンスする:前編
SynthDef, Synth, function, arg

08.作った音色をシーケンスする:後編
Pbind, Pseq, note, midinote, arg, midicps, doneAction, .newの省略

09.SuperColliderのゲート(ノートON/OFF)
arg gate=1, 休符は\, legato, sustain, doneAction

10.SuperColliderのパンニング(マルチチャンネル)
Pan2, Splay, s.meter, s.scope, Mix

11.SuperColliderでオーディオファイル(wav/aiff)を鳴らす
Buffer.read, PlayBuf.ar, BufRateScale.kr, .midiratio, ~(チルダ)で作る変数

12.SuperColliderのバスとエフェクト
Bus, In, Pfx, FreeVerb, GVerb, Comb, Allpass, Delay

13.SuperColliderでモジュレーション
poll, Line, XLine, add, WhiteNoise, Blip, PMOsc, Formant, LFNoise, neg

14.SpuerColliderの出音を録音する
record, stopRecording, makeWindow, 録音ファイルのフォーマット変更

SuperColliderに関する日本語の情報

15.ひとつの波形からバリエーションを作る(SuperCollider)
cubed, fold2, clip, abs, LeakDC, squared, round

Signal.sineFill()

Signal.sineFill()追記と、 Buffer.sine1(), Buffer.sine2()

Env.new().asSignal(自作波形をオシレータとして鳴らす)

16.Extensions(SC3の機能拡張)
SC3 Plugins

17.SimpleMIDIFileとQuarks(SC3の機能拡張)

VOSCで自作Wavetableをモーフィングする(SuperCollider)

MIDIキーボードでSynthDefを鳴らす

Demand / Trig1

フィルター12種類(LPF)聴き比べ

リズムループを作った

LFオシレーター

気の利いたオシレーター(SyncSaw, VarSaw, SinOscFB, PMOsc, COsc)

フィードバックについて

ディレイ系エフェクトとPfx

グラニュラーシンセシス

複数のOut.ar / Splay

18.サーバブートって?(SuperCollider内部構造)

Pbindでライブコーディングを実現する2つの「P」

SuperColliderからMIDIOutで外部音源(Juno106)を鳴らす

SoundIn と Shaper(と、オーディオデバイスの切替え方)

グラフで見るShaper

Pmonoでモノモードに

ポルタメント/グライド

Pparで複数Pbindを同時再生

gateとt_gate(arg名いろいろ)

sumメソッド

シンプルなシンセのシミュレーション(1)

この記事が気に入ったらサポートをしてみませんか?