Добавьте низкочастотную амплитудную модуляцию к шуму
Я пытаюсь воспроизвести сценарий SoX, используя ChucK, который создает коричневый шум с небольшими колебаниями (тремоло).
Сценарий SoX:
set -u
set -e
minutes=${1:-'59'}
repeats=$(( minutes - 1 ))
center=${2:-'1786'}
wave=${3:-'0.0333333'}
noise='brown'
len='01:00'
if [ $minutes -eq 1 ] ; then
progress='--show-progress'
else
progress='--no-show-progress'
fi
echo " :: Please stand-by... sox will 'play' $noise noise for $minutes minute(s)."
play $progress -c 2 --null -t alsa synth $len ${noise}noise \
band -n $center 499 \
tremolo $wave 43 reverb 19 \
bass -11 treble -1 \
vol 14dB \
repeat $repeats
exit 0
Следующий скрипт ChucK, модифицированный из примера wind2.ck, создает коричневый шум желаемой частоты:
Noise n => BiQuad f => dac;
0.99 => f.prad;
0.0333333 => f.gain;
1 => f.eqzs;
0.00 => float t;
while(true)
5::ms => now;
Я не могу воспроизвести эффект, который создает опция тремоло SoX.
Кажется, что я должен быть в состоянии добавить синусоидальную волну в основную цепь и затем осциллировать этот параметр. Я пробую варианты примера частотной модуляции FM.ck без успеха:
SinOsc m => Noise n => BiQuad f => dac;
20 => m.freq;
200 => m.gain;
0.99 => f.prad;
0.0333333 => f.gain;
1 => f.eqzs;
0.00 => float t;
while(true)
30 + ( Math.sin(t) + 1.0 ) * 10000.0 => m.sfreq;
t + .004 => t;
5::ms => now;
Я ожидаю услышать некоторое колебание в тоне, но вместо этого, кажется, нет звука.
Как я могу добавить низкочастотную амплитудную модуляцию к коричневому шуму, который я генерировал?