インターネット経由で配布する必要がある生の音声オーディオがいくつかあります。まともな品質が必要ですが、音楽的な品質である必要はありません。私たちの主な関心事は、消費者による使いやすさ (つまり、何をどこで再生できるか) とダウンロードのサイズです。私の経験では、mp3 は音声オーディオに最適な圧縮率を生成しないことが示されていますが、最良の代替手段が何であるかについて途方に暮れています。最終的には、変換プロセスを自動化して、消費者が希望する品質とサイズのレベルを選択できるようにしたいと考えています.
6 に答える
Opusを試してみてください。圧縮コマンドラインの例:
ffmpeg -i x.wav -b:a 32k x.opus
ご指摘のとおり、音声圧縮は一般的な音声圧縮とは異なります。PCM や ADPCM から、GSM セルラー ネットワークで使用される CELP などの新しいパケット ベースのエンコーディングまで、テレフォニー アプリケーション専用のコーデックが多数あります。
それでも、VOIP 音声エンコーディングは、使用するメディアが原因でエンコーディングとは若干異なります。Speex ソフトウェア ライブラリで、音声のエンコード/デコード用の優れた無料の (障害のないオープン ソース (BSD)) ライブラリを見つけることができます。
繰り返しになりますが、どちらを選択するかは、エンコードしている音声と、それを送信する媒体によって異なります。また、多くのライブラリには状況に応じて使用できるいくつかのアルゴリズムがあり、サウンドやネットワークの状態に基づいてその場で切り替えるものさえあることに注意してください。
さらにヘルプが必要な場合は、質問を絞り込んでください。
-アダム
ライブ音声オーディオ (VoIP 電話など) で使用される最も頻繁に使用される圧縮形式は、μ-Law (mu-Law/u-Law は米国で使用) と a-Law (ヨーロッパなどで使用) であり、非圧縮とは異なります。 PCM は、広い周波数範囲をサポートしていません (可能な値の範囲が狭いと、必要なスペクトル外のサウンドが無視され、保存に必要なスペースが少なくなります)。
使いやすさのために、標準のメディア プレーヤーへのストリーミングには mpeg 圧縮 (mp2/3/4) を使用するのが最も簡単です。これは、アルゴリズムがすぐに利用でき、通常は非常に高速であり、ほとんどすべてのメディア プレーヤーがそれをサポートする必要があるためです。より低いビットレートを使用するか、最初から低品質のファイルから変換を行います (WAV にはいくつかのサンプリング レートがあり、音声には音楽や効果よりもはるかに低いサンプリング レートが必要です。これは基本的に、ビデオの 1 秒あたりのフレームのようなものです)。別の方法として、Real Media、WMA、またはその他の独自のフォーマットを使用することもできますが、WMA には優れた圧縮率と音声オーディオに固有の圧縮オプションがありますが、再生には特定のサード パーティ製ソフトウェアが必要になるため、使いやすさが制限されます。
ユーザーが Windows を実行していると仮定すると、Windows Media Encoder SDK で使用できる WMA 音声圧縮コーデックがあります。それができない場合は、ACM を使用して、G723/G728、ADPCM、mu-law、a-law などを使用できます。これらの一部は、Windows XP 以降に標準でインストールされています。これらは、WAV ファイル内にパッケージ化できます。適切なビットレート/品質を見つけるには、少し実験する必要があります (おそらく、mu-law や a-law は気にしないでください)。音声データを使用すると、人間の話し声では 4Khz を超えることはほとんどないため、16000 または 8000 などの非常に低いサンプル レートで問題を解決できます。
AMRは最高の音声コーデックの 1 つだと思います。私は約1年前にそれを使用していましたが、品質は非常に良く、サイズレベルはかなり小さかったことを覚えています.
特にあなたの場合の1つの欠点は、私の知る限り、幅広いメディアプレーヤーでサポートされていないことです. QuickTime と RealPlayer は、.amr ファイルを再生できることを私が知っている 2 つです。
speexを試してみてください...特許に邪魔されず、サイズと CPU の両方で優れたパフォーマンスを発揮します。私はiPhoneでそれを使って幸運に恵まれています。