Skip to content

Instantly share code, notes, and snippets.

@yotamorimoto
Last active July 28, 2021 11:06
Show Gist options
  • Select an option

  • Save yotamorimoto/2327861 to your computer and use it in GitHub Desktop.

Select an option

Save yotamorimoto/2327861 to your computer and use it in GitHub Desktop.
kick
キックとキーワード sustain について
正弦波を周波数変調する
高い周波数からすばやく低い方へ減衰することでキックのアタックをつくる
(
SynthDef(\kik, {| amp=0.3, sustain=1, freq=30 |
var sig, frqEnv, ampEnv;
frqEnv = EnvGen.kr(Env.perc, 1, freq*10, freq, 0.023);//freq*10 から freq まで 0.023 秒で減衰
ampEnv = EnvGen.kr(Env.linen(0.01, 0.1, 0.3, 1, [-5,1,-4]), 1, amp, 0, sustain, 2);
sig = SinOsc.ar(frqEnv, 0, ampEnv);
sig = Pan2.ar(sig, 0);
Out.ar(0, sig);
}).add;
)
~kikA = Pbind(\instrument, \kik, \dur, 1, \amp, 0.8, \freq, 50).play;
~kikA.stop;
dur をはじめとして予め決められたキーワードがある
特にシンセの持続に関するものでは
dur
stretch
legato
sustain
などが予約されていて
この4つのキーワードの関係は以下:
sustain = dur * legato * stretch
シンセ定義に sustain 引数を用意することで Pbind 側で dur や legato キーワードが使え
自動的に上の計算を経てシンセに sustain 値が渡される
実践
上のパターンに legato キーワードを加えスタッカートやレガートを表現する
レガート(前の音が次の音に半分重なる)
\legato, 1.5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment