Audacity built-in effects
Effect.hを使ったステレオ処理
Audacity built-in effects をEffect.hを継承して作ってみる。Effect.hはエフェクトの基本となるクラスなので、制約が少なく自由度が高いが、いろいろ面倒な手続きも必要。SimpleMono.hを使うような手軽さはない。
今回は左右のチャンネルが影響しあうエフェクトを作るための土台を作ってみた。 Audacityの標準エフェクトを調べて作っているのだが、予想以上にトラックの扱いが複雑だった。通常のwavファイルのステレオ処理の方がよっぽどシンプル。ただ Audacity の built-in effects として使うなら、この面倒な手続きを避けては通れない。
プログラムの流れは、ステレオトラックとして認識し、そして左右のチェンネルをバッファに保存して、加工し、最後にバッファから元の場所に戻す。流れとしては素直なのだが、トラックを順に処理していくAudacityで左右チャンネルを同時に扱うというのは意外と大変なのだ。 もともとAudacityのエフェクトは左右のチェンネルが影響するようなエフェクトは殆ど無い。唯一かと思えるのがReverbなのだが、これがなかなか複雑な構造で全体像が見えにくい。まぁそれでも数時間で何とか扱えるようにはなった。
ここまで来れば、あとは好きなようにエフェクトを作ることができる。 今回チェック用に作ったのが下記プログラムで、左右のチェンネルがお互い影響を受けるようにしてみた。内容は、それぞれのチェンネルが他方のチェンネルを任意の比率で混ぜる。パラメータは1.0が100%としている。
適用例として、左チャンネル440Hzと右チャンネル880Hzの合成をやっている。それぞれのチャンネルに100%でブレンド。結果は左右チャンネル同じ波形となる。モノラルの場合は何もしないで終了するようにした。
ソースコードは結構長くなってしまった。
Audacity 関係の記事
今回は左右のチャンネルが影響しあうエフェクトを作るための土台を作ってみた。 Audacityの標準エフェクトを調べて作っているのだが、予想以上にトラックの扱いが複雑だった。通常のwavファイルのステレオ処理の方がよっぽどシンプル。ただ Audacity の built-in effects として使うなら、この面倒な手続きを避けては通れない。
プログラムの流れは、ステレオトラックとして認識し、そして左右のチェンネルをバッファに保存して、加工し、最後にバッファから元の場所に戻す。流れとしては素直なのだが、トラックを順に処理していくAudacityで左右チャンネルを同時に扱うというのは意外と大変なのだ。 もともとAudacityのエフェクトは左右のチェンネルが影響するようなエフェクトは殆ど無い。唯一かと思えるのがReverbなのだが、これがなかなか複雑な構造で全体像が見えにくい。まぁそれでも数時間で何とか扱えるようにはなった。
ここまで来れば、あとは好きなようにエフェクトを作ることができる。 今回チェック用に作ったのが下記プログラムで、左右のチェンネルがお互い影響を受けるようにしてみた。内容は、それぞれのチェンネルが他方のチェンネルを任意の比率で混ぜる。パラメータは1.0が100%としている。
適用例として、左チャンネル440Hzと右チャンネル880Hzの合成をやっている。それぞれのチャンネルに100%でブレンド。結果は左右チャンネル同じ波形となる。モノラルの場合は何もしないで終了するようにした。
ソースコードは結構長くなってしまった。
|
|
Audacity 関係の記事