Speexのドキュメントによると、「主に」8/16/32kHzのサンプリングレート用に設計されています。ほとんどのPC入力は、8kHz、16kHz、および44.1kHzのサンプリングレートを報告しているようです。
これは、44.1kHzのサンプリングレートを使用したい場合、運が悪いことを意味しますか?
ほとんどのサウンドカードはこれらのサンプリングレートを報告しますが、Speexの使用を妨げることはありません。キャプチャしたオーディオをダウンサンプリングして44.1kHzから32kHzに変換し、Speexコーデックにフィードできるようにするだけです。
StackOverflowまたはGoogleaudio resampling
で検索すると、いくつかのサンプルコードが見つかります。
jSpeexは44.1kHzで録音されたaudoをエンコードし、これはコマンドラインツール(つまりspeexdec
)でデコードできることがわかりました。
Speexは任意のサンプリングレートを処理できます(私は4kHzから48kHzまでテストしましたが、Speexはおそらくそれ以上のレートを処理できます)が、8(狭帯域)、16(広帯域)、および32kHz(超広帯域)に最適化されています。私のアプリケーションでは、24kHz(広帯域を使用)は良い音になります(同じビットレートで32kHzよりも良い音になりますが、これはオーディオの素材と好みによって異なります)。