質問

インターネット経由で配信する必要がある生の音声オーディオがあります。適切な品質が必要ですが、音楽的な品質である必要はありません。私たちの主な関心事は、消費者によるユーザビリティ(つまり、何をどこで再生できるか)とダウンロードのサイズです。私の経験では、mp3では音声オーディオに最適な圧縮数が得られないことが示されていますが、最適な代替手段が何なのか迷っています。最終的に、変換プロセスを自動化して、消費者が希望する品質とサイズのレベルを選択できるようにします。

役に立ちましたか?

解決

ここから始めます。

ご指摘のとおり、音声圧縮は一般的な音声圧縮とは異なります。 PCMやADPCMから、GSMセルラーネットワークで使用されるCELPなどの後のパケットベースのエンコーディングまで、テレフォニーアプリケーション専用の多くのコーデックがあります。

それでも、VOIP音声エンコードは、使用するメディアにより若干異なります。 Speexに、音声のエンコード/デコード用の優れた無料の(非オープンソース(BSD))ライブラリがあります。ソフトウェアライブラリ

再び、あなたが選択するのはあなたがエンコードしているスピーチとそれが送信されるメディアに依存します。また、多くのライブラリには、状況に応じて使用できるいくつかのアルゴリズムがあり、サウンドやネットワークの条件に基づいてオンザフライで切り替えるライブラリもあることに注意してください。

さらにヘルプを得るには、質問を絞り込んでください。

-アダム

他のヒント

Opus を試してみてください。圧縮コマンドラインの例:

ffmpeg -i x.wav -b:a 32k x.opus

ライブ音声オーディオ(VoIPテレフォニーなど)で使用される最も頻繁に使用される圧縮形式は、μ -Law(mu-Law / u-Lawが米国で使用される)およびa-Law(ヨーロッパで使用されるなど) 。)、非圧縮PCMとは異なり、幅広い周波数範囲をサポートしていません(可能な範囲が狭いと、必要なスペクトル外の音が無視され、保存するスペースが少なくなります)。

使いやすさのために、標準のメディアプレーヤーへのストリーミングにはmpeg圧縮(mp2 / 3/4)を使用するのが最も簡単です。アルゴリズムはすぐに利用でき、通常は非常に高速で、ほとんどすべてのメディアプレーヤーがサポートする必要がありますが、音声の場合は、そもそも低ビットレートを指定するか、低品質のファイルから変換してみてください(WAVはいくつかのサンプリングレートであり、音声は音楽やエフェクトよりもはるかに低いサンプリングレートを必要とします。基本的にはビデオの1秒あたりのフレームのようなものです)。別の方法として、Real Media、WMA、またはその他の独自の形式を使用することもできますが、WMAには優れた圧縮率と音声オーディオ固有の圧縮オプションがありますが、ユーザーは再生に特定のサードパーティソフトウェアを必要とするため、使いやすさが制限されます。

ユーザーがWindowsを実行していると仮定すると、Windows MediaエンコーダーSDKで使用できるWMA音声圧縮コーデックがあります。それに失敗すると、ACMを使用して、G723 / G728、ADPCM、mu-law、a-lawなどを使用できます。これらの一部は、Windows XPおよび上記。これらはWAVファイル内にパッケージ化できます。適切なビットレート/品質を見つけるには、少し実験する必要があります(おそらくmu-lawやa-lawを気にしないでください)。音声データを使用すると、非常に低いサンプルレートで逃げることができます。 16000または8000。人間の話し声には4Khzをあまり超えないため。

AMR は最高の音声コーデックの1つだと思います。約1年前に使用していましたが、品質が非常に良好で、サイズレベルがかなり小さかったことを覚えています。

特にあなたの場合の欠点の1つは、私が知る限り、幅広いメディアプレーヤーでサポートされていないことです。 QuickTimeとRealPlayerは、.amrファイルを再生するために知っている2つです。

speex をお試しください。特許に邪魔されず、サイズとCPUの両方で優れたパフォーマンスを発揮します。私はiPhoneでそれを使って幸運を過ごしてきました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top