6

数年前、私は音楽のオーディオ録音を作成しましたが、元の WAV ファイルが見つかりません。圧縮された MP3 しかありません。オーディオ CD を見つけましたが、それがオリジナルの非圧縮 WAV を使用して作成されたのか、圧縮された MP3 または OGG ファイルから作成されたのかわかりません。

オリジナルと比較することなく、オーディオ サンプルが MP、OGG などの非可逆圧縮を使用して圧縮および解凍されたかどうかを検出する方法はありますか?

アップデート:

@MisterHenson の提案を試して、グラフに明らかな違いがある 2 つのサンプルのスペクトルをプロットしました。

CD のサンプル:

ここに画像の説明を入力

MP3 からのサンプル:

ここに画像の説明を入力


これにより、現在の問題が実質的に解決されますが、まだ未解決の質問があります。

  1. スペクトルが視覚的に区別できない場合、実際に違いがあるかどうか、または単に区別できないかどうかはわかりません (つまり、圧縮の品質が向上します)。他に何を試すことができますか?
  2. 同様に、比較する MP3 ファイルがなく、単一のオーディオ サンプルしかない場合はどうすればよいでしょうか?
  3. 合理的な確率で質問に答える自動化された方法はありますか?
4

5 に答える 5

3

すべての MP3 トランスコードのトポロジーを強調する例を作成しました。ソース マテリアルはショパンのノクターンです。上がMP3、下がロスレス。すべての録音には、ある程度の振幅のバックグラウンド ノイズがあり、そのノイズがかすかに見えます。MP3 トランスコード (この場合は Lame の V2 プリセット) が行うことは、~16kHz でハード リミットを作成することです。320kbps ビットレート 44.1kHz サンプル レート MP3 では、このハード リミットは約 20kHz に表示されますが、この画像ではまだ明らかに異なっています。

ピアノ曲の例

比較用の元のロスレス ファイルがなくても、このシェルフを選択できます。私は、すべての音楽が 19kHz を超える周波数の振幅を持っていると断言します。これは、320kbps の MP3 だけで、ロスレス ソース ファイルを持っていない例です。20kHz での非常に厳しい制限と、19kHz でのより穏やかなカットオフを確認できます。サンプルレートが 44.1kHz であるため、損失がなければ、中央の赤い塊は 22kHz まで伸びます。

인피니트 - 戻る

このプロセスはおそらく自動化可能だと思いますが、自動化の試みについては知りません。ただし、これが自動化されていれば、高周波カットオフだけではなくスペクトル全体を分析できるため、あなたや私よりもはるかに高い精度でロスレスからロスレスを選択できると思います.

フル解像度の画像:

于 2014-08-20T06:53:43.687 に答える
2

これが取引です。

生のサンプル (または生の音) は、特定の品質でエンコードされます。一部のサウンド カードでは、64 ビット サンプリングをさらに使用できます。

しかし、特定の既知の品質のサウンド ファイルがあると仮定しましょう。

CD の品質は、人間の耳には問題ありません。

ただし、スタジオは、より高品質のサンプルを使用します。24bitが標準みたいな。

したがって、実際にはサンプルレートが 44100 Hz の波形 filename.wav が得られます。

どういう意味ですか?

これは、コンピューターが 1 秒間に膨大な量の異なるサンプルを取得して、ほぼ正確なサウンドを表現できることを意味します。

音はオリジナルですか?作り方にもよります。お使いのコンピュータと 16 ビットのデフォルト サウンド カードを使用するソフトウェアによって作成されたものであれば、そうです。

ただし、アナログ録音からのものである場合、44100 Hz でデジタル化すると、幸いなことに、人間の耳にとってそれほど重要ではない品質が失われます。mp3 録音は、プロの録音には適していないことに注意してください。しかし、mp3録音が存在するため...これにより、質問が複雑になります。:P

そのため、16 ビット サウンド カードを使用してデジタル化すると、一部の音質が失われます。何かをmp3にエンコードすると、同様のことが起こります。

あなたの写真をチェックしてください。17000 以上では音が出ません。オーディオ品質に重大な損傷を与えることなく、サウンドファイルを大幅に小さくするために解体されました。同じ音ですか?いいえ、同じように聞こえます。しかし、サウンド エンジニアは、情報がカットされていないため、オリジナルで高品質のサンプルが大好きです。

私がオリジナルのサウンドを作っているところを想像してみてください。非常にバランスが取れて圧縮されているため、mp3 に変換した後でも、それがオリジナルのサウンドであるかどうかを判断するのは困難です。イコライザーを使用して鋭いエッジをカットし、ゲート効果を使用してそれを非常に正規化すると想像してください。また、私のサウンド ジェネレーターは、いくつかの fx とフィルターを通過するいくつかの 8 ビット オシレーターです。

ウェーブテーブルに戻せば、違いはないかもしれません。

例えば:

               [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
    Waveform:  =================================
    mp3:       =======================
    Waveform:  =======================


    Waveform:


               [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
    Waveform:  =================
    mp3        =================
    Waveform:  =================

The following seems impossible to me (except if the converter has bugs thing that can be heard)

           [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
Waveform:  =========================
mp3        =======================
Waveform:  =============================

したがって、あなたの質問は、最初の波形で使用した元のソースによって異なります。

良いニュースは、サンプルがそれほど制限され圧縮されていることはめったにないということです。使用した CD はおそらく元の波形のように聞こえますが、ご覧のとおり、mp3 は周波数がカットされています。

もちろん、MischaNix が既に示したように、周波数アナライザーとスペクトルが必要であることを確認してください。

多くの mp3 エンコーディングもあります。静的なものもあれば、動的なものもあり、サウンド情報をより多くカットするものもあれば、カットを少なくするものもあります。そのため、他のものよりも大きいものもあります。

現在、ロスレス形式もあります。そして、十分に小さく、品質も優れたoggがあります。

したがって、この質問は理由もなく大きな話題になる可能性があります。これらすべてについてはお話ししません。

問題が元のサンプルを提供している場合、あなたの写真は2つのサンプル間の大きな違いを示しています. つまり、mp3 のカット バリエーションから波形を作成すると、そのカット バリエーションのように見えるはずです。無から情報を得ることはできません。

mp3 を CD に書き込み、波形を取得し、新しい波形と古い mp3 波形を比較します。おそらく同じことではないので、ここで大当たりするかもしれません。手元にオリジナルのバックアップがある可能性があります。

ただし、今後は、原材料をサンプリングして、廃棄する前に CD または DVD に保存してみてください。または、少なくとも圧縮されていない良好なサンプルをバックアップに保管してください。

未解決の質問:

スペクトルが視覚的に区別できない場合、実際に違いがあるかどうか、または単に区別できないかどうかはわかりません。

正しい。しかし、サンプリングの意図がなければ、これはめったに発生しません。

なぜそのような質問をするのですか?:) ステガノグラフィーを念頭に置いていますか? はいの場合は、使用するサウンドの性質を念頭に置いてください。サンプルは適切ではありません。「完成曲」は!

同様に、比較する MP3 ファイルがなく、単一のオーディオ サンプルしかない場合はどうすればよいでしょうか?

さまざまな品質の mp3 エンコード設定が多数あるため、最も低い品質が使用されたかどうかを確認できます。そうでない場合は、圧縮機能のために不確実性があります。これがサンプル全体に当てはまる場合は、圧縮が必要かどうかを確認する必要があります。そのため、曲に確信が持てないのです。そもそもそんなにハードな圧縮で録音するわけではありません。これは、自然なサウンドが必要なもう 1 つのメタ的な理由だと思います。ですから、それがレコーディングに関するものであれば、あなたはラッキーかもしれません。さて、完成したマスタリングの曲ですが・・・また荒れます。それは音の性質、タイプ、についてです。波形記録を使用したことを知っていれば、記録は何が起こっているのかを把握しやすくなります。もちろん、mp3 録音は時間の無駄です。一方、完成した曲は、最近では通常、コンプレッサー、リミッター、ゲートとチェーンコンプレッサーが燃え尽きる。現代のマスタリングにおけるこのテクニックの使用量は膨大です。ですから... 元の波形が元の波形になる前に、元の部分が以前に圧縮されていたかどうかを調べるには、本当に運が必要です。

合理的な確率で質問に答える自動化された方法はありますか?

私が知っているものはありません。ごめん。:(しかし、それは誰もそれを作ることができないという意味ではありません.

しかし!

通常、ステレオ サンプルは 2 つのチャンネルに分割されます。左右。デジタル オーディオ ワークステーションにスペクトラム アナライザーを取り付けて、2 つの異なるサンプルの左チャンネルだけを調べれば、それらが同じかどうかをその場で確認できると思います。

私の言いたいことを理解するには、このリンクを見てください。05:00 に行って、インターフェースを見てください。

ふぅ。時間がかかったので、これがさらに役立つことを願っています。:P乾杯。

編集:あちこちでいくつかのものを修正しています。

于 2014-08-22T15:09:44.340 に答える
2

問題の説明、ソリューション、Maurits van der Scheeによる Python での実装を見つけましたが、これは FLAC で動作します。

サンプルから、最初の 30 秒のみが分析されます。サンプルの周波数スペクトルは、ハニング ウィンドウを適用し、高速フーリエ変換を実行することによって、1 秒ごとに計算されます。これらのスペクトルが追加されるため、最終的に 30 個のスタックされたスペクトルになります。これらを 30 で割り、平均スペクトルを取得します。次に、log10 を使用してスペクトルを正規化します。その後、周波数の 1/100 のウィンドウ サイズ (44100/100=441 サンプル) でスペクトルにローリング平均を適用しました。

周波数スペクトルに不自然なカットオフがある場合、このカットオフを見つける必要があります。スペクトルを 44100 番目から 1 番目の周波数 (可変周波数は f) に戻します。f-220 でのマグニチュードが f でのマグニチュードよりも 1.25 以上大きく、f でのマグニチュードが 44100 でのマグニチュードの 1.1 倍以下になるとすぐに、カットオフ ポイントが見つかりました。カットオフ ポイントを 100 倍して周波数で割ると、カットオフされないスペクトルのパーセンテージが得られます。

于 2014-10-30T09:39:07.430 に答える
1

探すべきこと:

  • フレーム境界でのカットオフ周波数の変更 (100% のハード カットにはなりませんが、「聞こえる」から「聞こえない」、またはその逆を探します)
  • フレーム境界で周波数が消えたり現れたりする (繰り返しますが、100% ではありません)
  • フレーム境界で変化するノイズ レベル (実際には、非可逆コーデックではかなり安定しています)

MP3 の場合、フレーム境界は正確に 1152 サンプルごとですが、576 サンプルごとにグラニュルを「見る」ことができる場合があります。

Vorbis の場合、フレーム境界は通常、エンコーダが「見た」トランジェントに応じて、128 または 1024 サンプルごとになります。おそらく、128サンプルごとに実行することでうまくいくでしょう...

フレームサイズを知るには、他のフォーマットを調査する必要があります(私はそれらを直接知りません)。

于 2014-08-20T15:37:06.740 に答える