Skip to content

Instantly share code, notes, and snippets.

View yotamorimoto's full-sized avatar
🖖

yota morimoto yotamorimoto

🖖
View GitHub Profile
エフェクト作り
ライディーンのイントロ・フレーズをつくる
(
// ハイハットのようなパーカッション
// out 引数を用意
SynthDef(\prc, {| out=0, amp=0.1 |
var sig, env;
env = EnvGen.kr(Env.perc(0, 0.08), 1, amp, doneAction: 2);
sig = WhiteNoise.ar;
キックとキーワード 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);
スネアドラムをつくる
スネア(響き線)と膜面の振動を単純なモデルでシミュレート
SynthDef(\snr, { |amp=0.1|
var sig, env, snr, mem;
env = EnvGen.kr(Env.perc(0, 0.05), 1, amp, doneAction: 2);
snr = WhiteNoise.ar;//スネア音
mem = FSinOsc.ar(200);//膜面
sig = LPF.ar(snr + mem, 12000);//両方を足し 1.2kHz 以上をカット
@yotamorimoto
yotamorimoto / gist:2276956
Last active September 13, 2021 07:00
event and pbind
Pbind シンセ生成と引数にわたすストリームを bind (結びつけ)
音楽のフレーズの生成を可能にする
Pbind(\instrument, シンセの名前, 引数名、値、引数名、値…).play;
先につくったハイハットのシンセ
(
SynthDef(\hat, {| amp=0.1, pan=0 |
var sig, env;
env = EnvGen.kr(Env.perc(0, 0.03), 1, amp, doneAction: 2);
@yotamorimoto
yotamorimoto / gist:2275601
Last active March 30, 2017 16:05
stream, pattern, and routine
Stream はオブジェクトのストリーム(流れ)で .next メッセージを受け「流れる」
Pattern はストリームの設計図
パターンオブジェクトのひとつ Pseries を使って
0から始まり、2ずつ増える、5個のストリームをつくる
p = Pseries(0, 2, 5).asStream;
p.next;
@yotamorimoto
yotamorimoto / oop.sc
Last active October 11, 2024 14:41
オブジェクト指向
SC では全てがオブジェクトです。
オブジェクトとは「もの」です。
具体的にはどんな「もの」でもない、抽象的な「もの」で、
プログラムはオブジェクト同士のメッセージのやりとり、相互作用で表現されます。
オブジェクトですか?
1.5.isKindOf(Object); // true
{}.isKindOf(Object); // true
抽象的な「もの」オブジェクトから
@yotamorimoto
yotamorimoto / hello_sound.sc
Last active October 11, 2024 14:27
音を鳴らす/止める
// 関数で音を鳴らす
f = { SinOsc.ar * 0.1 };
// 実行 -> 音が鳴る
f.play;
音を止める
macOS cmd + ピリオド
Windows & Linux ctrl + ピリオド
@yotamorimoto
yotamorimoto / hello.sc
Last active October 11, 2024 14:37
プログラム実行
キーボードによるプログラムの実行方法は OS (macOS/Windows/Linux) によって違う
macOS cmd + return
Windows & Linux ctrl + return
下の行にカーソルを置き、実行する
1 + 2;
ポストウィンドウに計算結果が出力される
@yotamorimoto
yotamorimoto / gist:2273929
Last active March 30, 2017 11:59
SuperCollider
SC は音を鳴らす「サーバ」と、
サーバへ命令やリクエストを送る「クライアント」の二つのプログラムからなる
@yotamorimoto
yotamorimoto / gist:2273872
Last active March 30, 2017 12:03
コメントとnil
// はコメント
/* は複数行に
わたる
コメント */
// 1 + 1; コメントは実行すると常に Nil (無)値が返ってくる
下記を実行
1 + 2 // + 1 プログラムに影響しない