0

わかった。オーディオと圧縮について学習しようとしています。インターネットを精査してもまだ答えが見つからないという基本的な質問があります。

ヘッダー情報を含む自己記述形式があることを知っています。異なるファイルを sox で「生」形式に変換すると、同じ数の「チャンネル」と「サンプルレート」が得られると考えるのは間違っていますか?

生は素晴らしい「中和剤」になると思っていたのでしょう。そうではありませんか?すべてのファイルが生の形式である場合、それらが同じであるかのように扱うことができますか?

ウィキペディアによると...

RAWオーディオ形式または単にRAWオーディオは、圧縮されていないオーディオを生の形式で保存するためのコンピューター形式です。WAV や AIFF に匹敵するサイズの RAW オーディオ ファイルには、ヘッダー情報 (サンプリング レート、ビット深度、エンディアン、またはチャネル数) が含まれていません。データは、PCM、IEEE 754、または ASCII で書き込むことができます。[要出典]

http://en.wikipedia.org/wiki/Audio_file_formatには、一般的なファイル形式に関する良い情報もあります。

明確化 さまざまな数のチャネルとサンプリング レートで始まる可能性のある mp3 ファイルを連結する必要があります。正直なところ、最終的にいくつのチャンネルを使いたいかわかりません。さまざまなファイルを sox と結合しようとしています。ただし、sox ではファイルが同じファイル形式である必要があります。だから、同じ数のチャンネルとサンプリングレートを意味する「同じファイル形式」でそれらを取得したいと思っていました。

しかし、raw はこれら 2 つの項目だけで、自己記述ヘッダー情報を削除しているように見えますか? つまり、生に変換された mp3 ファイルは、同じプロパティ (サンプリング レートとチャンネル数) を保持しますか?

4

3 に答える 3

1

MP3ファイルは、レートが変化しても直接連結できます。生データまたはwav(生+ヘッダー)が必要な理由は他にもあるかもしれませんが、デコード/エンコードの手順なしでこれを行うことができます。


私は正直に立っています。私がバックエンドプログラミング(スクリプト)を介して管理しているMP3ファイルの多くは、実際にフレームヘッダー、ビットレートなどを変えています。次に、別の商用製品を介してストリーミングしますが、明らかに、製品はすべてのヘッダーを尊重していると述べています。

Google ChromeとQuickTimeで同じ入力ストリームを試したところ、ファイル全体で最初のヘッダーのみが尊重され、想定されているように見えます。誰がサンク?

だから私はここで大きな教訓を学びました、ストリーマーがMP3ストリームをプリフライトしなければならないことを感謝します!この場合、出力で予想される最大チャネル数で「raw」にデコードするのが良い方法だと思います。次に、エンコード時に必要なチャネル数にダウンミックスできます。

于 2011-01-11T18:52:31.407 に答える
1

あなたがしたいことは次のとおりです。

  1. 各 mp3 ファイルからデータを抽出し、WAV ファイルに変換します (そのための mp3 デコーダーを見つける必要があります)。
  2. WAV ファイルを変換して、すべてが同じ WAV 形式になるようにします (好きな形式、形式の意味: サンプル レート、ビット解像度など)。
  3. ファイルを 1 つの WAV ファイルに連結します。
  4. 結果のファイルを mp3 に変換します (mp3 エンコーダーが必要です)。

RAW ファイルは WAV ファイルと同じですが、形式を示すヘッダーがありません。したがって、たまたまファイルのオーディオ形式を知っていない限り、RAW ファイルについては完全に忘れることができます。したがって、そのヘッダー情報は必要ありません。

于 2011-01-11T13:35:11.080 に答える
1

生のオーディオ ファイルの「標準」はありません。これらは、さまざまなビット レートとチャネル数を使用して、さまざまな方法でエンコードできます。フォーマット間でオーディオを変換する方法を探している場合、これは答えではありません。

于 2011-01-11T01:21:59.203 に答える