C言語で作成したコンプレッサー

音量のばらつきを抑えるコンプレッサー

このページでは、C言語で作成したコンプレッサーを紹介します。

コンプレッサーとは音楽用のエフェクターの一種で、音の大きい部分だけを小さくして音量の差を抑えるものです。

音量のばらつきを整えられるため、他のエフェクトと組み合わせることで、もともと小さかった音をしっかり拾いつつ、大きすぎる音は抑えるといった調整もできるようになります。

コンプレッサーの効果

以下のアニメーションは、エフェクトの適用前と適用後の音声波形の変化を表しています。

音声データにはt.tamさんの Don’t be afraid!! という曲を使用させていただきました。

音声波形の変化

デモ

以下のサンプルでは、実際にコンプレッサーをかけた音声ファイルをお聴きいただけます。
(左 : 適用前、右 : 適用後)

※音量にご注意下さい

分かりやすさのため、強めにエフェクトをかけました

コード

githubでコードを紹介しています。

自作のライブラリを使用しているので、wave.c , wave.h と一緒にご使用下さい。