Как работает Csound's gen09?

Я пытаюсь понять gen09 Csound, и я попробовал эту строку:

gigen   ftgen 1, 0, 16384, 9,   1, 1, 0,   1, 1, 180

Как я понял, как работает gen09, второе частичное в этом случае должно отменять первое, потому что они оба на основной частоте (1), и фаза инвертируется (0 а также 180). Но вместо тишины я получаю волну, которая выглядит так:

3 цикла выходной волны

Что именно здесь происходит, чтобы создать эту форму волны?

1 ответ

Решение

Здесь происходит то, что, поскольку включено масштабирование (положительное число GEN), небольшие ошибки в расчете усиливаются (поэтому максимальное значение равно 1). Если вы построили таблицу с -9, вы увидите, что результат соответствует ожидаемому.

Попробуй это

<CsoundSynthesizer>
<CsOptions>
</CsOptions>
<CsInstruments>

 instr 1
  a1 oscili 0dbfs,A4,1
  out a1
 endin
</CsInstruments>
<CsScore>
 f1 0 16384 -9 1 1 0 1 1 180
 i1 0 1
</CsScore>
</CsoundSynthesizer>

Результат должен быть

SECTION 1:
ftable 1:
new alloc for instr 1:
B  0.000 ..  1.000 T  1.000 TT  1.000 M:      0.0
Score finished in csoundPerformKsmps().
inactive allocs returned to freespace
end of score.          overall amps:      0.0
   overall samples out of range:        0
Другие вопросы по тегам