10/11/25 02:21:45
>>370
多分デジタルディレイの実装ではないかと思われる
queue.c はFifoリングバッファだろう
Fir_p.c のメインループ内では以下を行うんだろうな
for( ディレイ時間分ループ )
enqueue( 0 );
while(入力ファイルから short 一つを x に読み込む) {
enqueue( x );
y = dequeue()
x に y を重み付き加算
出力ファイルに x を書き込む
}
これでシングルディレイが付加された音声データ(wavファイル)が作成できるだろう
Fifo リングバッファをマルチインスタンスに修正し複数のリングバッファを使用すれば多段ディレイも作成できる
また enqueue( x ); の位置を加算後に持っていけば減衰率によっては自然な残響を得られるかも知れない