Processingは画像系がメインですが音声関係のライブラリもいくつか存在し、現在はKrister Olsson氏が開発したEssが主流っぽいです。
しかし(少なくとも私がダウンロードしたバージョンでは)Processing本体にはEssのExampleコードがあるにもかかわらず、Essのライブラリ本体は同梱されていません。
http://www.tree-axis.com/Ess/
ここからEss_r2.zipをダウンロード、解凍してprocessing/libraries以下に配置して下さい。
上記サイトはそっけない印象ですが、各クラスの解説や、ダウンロードできるドキュメント・サンプルコードはかなり充実しているので要チェックです。現在ソースコードはダウンロードできないですが、作者にメールしたところ、現在オープンソース化の準備を進めているところで、GPLかLGPLで出すそうです。
・・・とはいえ「Essで何ができるのか」の情報がネット上に少ない気がするので、クラスごとに簡単にまとめました。
Ess
Essのエンジン。セットアップでstart()、終了時にstop()すればよいです
AudioChannel
ひとつのモノラル音声データを表します。音を作る時はこれに書き込めばよいです
AudioStream
ストリームにするときはこちら
AudioInput
オーディオ入力
AudioFile
音声ファイルを表します。ファイル名を指定した場合、dataディレクトリ以下を探すことに注意
AudioGenerator
いわゆるオシレータの親クラス。generate()メソッドでAudioChannelにデータを作成します。個々のサブクラスは波形を表します
Silence、PinkNoise、WhiteNoise、SawtoothWave、SineWave、SquareWave、TriangleWave
クラス名そのままですね
AudioFilter
エフェクターの親クラス。AudioChannelのデータに対する変換を行います。以下その子クラスです
Normalize、FadeIn、FadeOut
ノーマライズ、フェードイン、フェードアウト・・・音量変化のバリエーションですね
Envelope
ボリューム変化を自由に作成します。Envelopeは任意のデータソースに対してエンベロープを反映させるといったものではないので、ピッチやローパスフィルターと組み合わせることはできません
Reverse
逆回転
RateShift
ピッチの変化に応じテンポ(=再生時間)も変わる、つまり再生速度の上げ下げ
PitchShift
テンポを変化させずにピッチを変更する、ピッチシフト
TempoShift
ピッチを変化させずにテンポを変更する、ピッチシフトの逆。タイムストレッチという呼び方のほうがメジャーでしょう
LowPass、HighPass、BandPass、Notch、LowShelf、HighShelf
いわゆるフィルター。レゾナンスもあります
EQ
1バンドイコライザー。一度のエフェクトでは1箇所しか変換できないですが、繰り返して使えば問題ないですね