我试图了解 Csound 的gen09,我尝试了这一行:
gigen ftgen 1, 0, 16384, 9, 1, 1, 0, 1, 1, 180
我理解 gen09 如何工作的方式,在这种情况下,第二部分应该取消第一个,因为它们都处于基频(1
),并且相位反转(0
和180
)。但我得到的不是沉默,而是一个看起来像这样的波浪:
这里究竟发生了什么来创建这个波形?
这里发生的情况是,因为重新缩放(正 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