1

私は Csound のgen09を理解しようとしており、次の行を試しました:

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

gen09 がどのように機能するかを理解した方法では、この場合の 2 番目のパーシャルは最初のパーシャルをキャンセルすることになっています。これは、両方とも基本周波数 ( 1) であり、位相が反転している (0および180) ためです。しかし、沈黙の代わりに、次のような波が表示されます。

出力波形の 3 サイクル

この波形を作成するためにここで何が起こっているのでしょうか?

4

1 に答える 1

2

ここで起こっていることは、再スケーリングがオンになっている (正の 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
于 2016-11-02T09:46:40.007 に答える