Audacity built-in effects Simple Amplifier
これから少しAudacityのbuilt-in effectsでも作ってみようと思っている。備忘録として、なるべく簡単なサンプルをここに書いておく。
上記のヘッダファイルはクラスの宣言だけだが、下で実際の処理を書いている。for文内で、選択したサンプル分に対して、gainを掛けたものをbuffer[i]に書き込むというもの。
sampleCount は Sequence.h ファイルでwxLongLong_tと等価であることがわかる。
typedef wxLongLong_t sampleCount;
A native 64-bit integer type とあるので64bit整数。膨大なサンプル数を扱うのでこれぐらいの大きさが必要というわけだ。
buffer[i]はちゃんと調べてないが、多くの場合はfloatで扱っている。
実行結果。上段が適用前で下段が適用後。音量が1/2になっている。
Audacity 関係の記事
シンプルアンプ
内容は音系プログラムのHello World。複雑なプログラムを作る前にこういうシンプルなものをいろいろ作って確認することが重要。ダイアログもなく音量も0.5に固定。プログラムはNamagiAmp.hとNamagiAmp.cppの2ファイルから構成されている。SimpleMono.hをオーバーライドして作っている。makeすれば、audacityで実行できる。トラックを選択して適用すれば音量が半分になる。
|
上記のヘッダファイルはクラスの宣言だけだが、下で実際の処理を書いている。for文内で、選択したサンプル分に対して、gainを掛けたものをbuffer[i]に書き込むというもの。
sampleCount は Sequence.h ファイルでwxLongLong_tと等価であることがわかる。
typedef wxLongLong_t sampleCount;
A native 64-bit integer type とあるので64bit整数。膨大なサンプル数を扱うのでこれぐらいの大きさが必要というわけだ。
buffer[i]はちゃんと調べてないが、多くの場合はfloatで扱っている。
|
実行結果。上段が適用前で下段が適用後。音量が1/2になっている。
Audacity 関係の記事