web-dev-qa-db-ja.com

ロスレスオーディオの変換と(解凍)圧縮を理解する

ロスレスオーディオに関していくつか質問があります。音楽コレクション全体をロスレス.flacにリッピングすることを検討していますが、最初にいくつかのことを理解したいと思います。

.flacのファイルがあり、それを.wavなどにしたい場合、品質が低下しないようにするにはどうすればよいですか?解凍すれば品質が落ちないことはわかっています。 .flacを.wavに変換することは、解凍することと同じですか?

これは.ape形式にも当てはまりますか? .apeでダウンロードしたパブリックドメインの録音がいくつかありますが、.flacにしたいです。 .wavを仲介者として使用しなくても.apeから.flacが可能でしょうか。少しでも失われないようにしたいと思います。

また、ロスレスの世界を完璧に説明するガイドがあれば、誰かがリンクを共有してくれるでしょうか? :)

12
Ryan McClure

最初:

encodingcontainer formatの違いを理解します。 http://en.wikipedia.org/wiki/Digital_container_format

コンテナ形式は、他のエンコードされたデータを「カプセル化」するデータ形式です。多くの場合、エンコードされたデータに関する「メタ情報」が含まれている場合や、エンコードされたデータの複数の個別のストリームを保存する方法などがあります。

コーデックによって生成されるエンコーディングは、データストリームの実際の「肉」です。

私が考えることができる最も一般的な例は、「Ogg/Vorbis」の形式です。 Oggはコンテナ形式で、Vorbisはエンコーディングです。つまり、Ogg形式のファイルがあり、その中にはエンコードされたデータを含むこれらの小さなバケットがあります。各バケット内には、Vorbisでエンコードされたデータストリームだけがあります。たとえば、バケツにはアーティストの名前と曲のタイトルが刻印されている場合があります。

では、技術に戻りましょう。

  1. Mp3やogg/vorbisなどの不可逆形式の音楽がすでにある場合、それを可逆形式に変換すると、(多くの)ディスク領域が消費されるだけで、絶対に )しません-オーディオの品質を向上させます。すでに失われていると、忠実度を作成することはできません。 CSIと呼ばれるヒットテレビ番組でVisualBasicでGUIインターフェイスを作成している場合を除きますが、それは空想であり、現実ではありません。

  2. 他のロスレス形式の音楽があり、それをFLACに変換したい場合は、そうすることができます。

  3. 「WAV」という用語の使用には注意してください。 Wavはロスレスである必要はありません。実際、WAVはさまざまな可能な形式の単なるコンテナです。そういう意味ではAVIのようなものです。生のPCMデータであればロスレスWAVを使用できますが、MPEG-1レイヤーIIIデータ(非可逆)をWAVファイルに埋め込むこともできます。

  4. データの忠実度を下げると、あるロスレス形式から別の形式に変換するときにデータが失われる可能性があります。たとえば、48000Hzの署名されていない16ビットPCMデータストリームを44100Hzの8ビットPCMデータストリームに変換すると、2つの方法で忠実度が失われます。サンプルは48000からわずか44100にマージされます。 2番目(データが失われる結果)、データをダウンミックスして、サンプルあたり16ビットではなく8ビットに情報を収める必要があります。これにより、品質が大幅に低下します。

すべてのデジタルオーディオストリームは、圧縮(非可逆または可逆)エンコーダーでエンコードされたものであっても、次の「サンプルフォーマットプロパティ」を備えています。ストリームのプロパティを説明します。

  1. サンプルのビット幅とビット深度、つまり8ビット、16ビットなど。ビット幅と深度は微妙に異なり、リトルエンディアン/ビッグエンディアン(品質に影響しない)と符号付きまたは符号なし(これも影響しない)があります。品質に影響しますが、エンコーダー/デコーダーがデータを処理する方法に影響します)。覚えておくべき重要なポイントは、「ビットが多いほど良い」ということです。したがって、32ビットは16ビットなどよりも優れています。

  2. 周波数。サンプリングレートとも呼ばれます。 1秒あたりに再生されるオーディオの「サンプル」が多いため、多いほど良いです。カードのデッキをすばやく指でなでて、カードがぼやけて通り過ぎるのを見ると想像してみてください。これが、デジタルオーディオが本質的に発生する方法です。各サンプルはカードであり、1秒あたりの飛行回数が多い場合、オーディオはよりシームレスになります。同様に、1秒間に5枚のカードをめくるだけであると本当に気付くでしょうが、1秒間に数千枚のカードをめくると、すべてがぼやけてしまいます。アナログで無限に分割可能な、より自然で現実に近いため、より多くの方が優れています(プランク単位系までですが、それは議論の余地があり、話題から外れています)。

「ロスレス」とは、入力で使用したものと同じかそれ以上のサンプル形式を出力で使用した場合に、データが失われないことを意味します。

したがって、16ビットから32ビットのサンプル形式に移行しても、データが失われることはありません。しかし、32ビットから16ビットに移行すると、データが失われます。

したがって、FLACを使用することが理にかなっているのかどうかという質問に対する答えは、ソースデータによって異なります。元々そのサンプル形式で192000 Hz(別名192KHz)で記録された64ビットWAVファイルがあり、それらを「」に変換する場合16ビットおよび44.1KHzの標準 "FLACサンプル形式では、1トンのデータが失われます。ただし、WAVファイルが8ビットで毎秒22100サンプルしかない場合、それを毎秒44100サンプルの16ビットFLACに変換すると、データが失われることはありません。また、ロスレス圧縮と小さいサンプル形式のどちらが適しているかによっては、ファイルサイズが大きくなることもあります。

サンプル形式はファイルが占めるスペースの量に影響するため、「より大きな」ビットと「より速い」サンプリングレートはより多くのスペースを占有します。

実用的な懸念と人間の耳に関する限り、非常に忠実なオリジナルを16ビット44.1KHzFLACに変換しても実際には気付かないでしょう。しかし、MP3をFLACに変換しても、改善に気付くことはありません。したがって、何をするかを決定する前に、ソースデータがどのサンプル形式であるかを評価する必要があります。

このすべての情報を提供したので、ここにあなたの質問に対する私の直接の、そしてポイントブランクの、説明のない答えがあります:

ロスレスオーディオに関していくつか質問があります。音楽コレクション全体をロスレス.flacにリッピングすることを検討していますが、最初にいくつかのことを理解したいと思います。

あなたの音楽コレクションがCDにあり、それをFLACにリッピングしたいのであれば、それは私の意見に非常に適しています。 CD品質のオーディオは44.1 KHzで、サンプルあたり16ビットです。これはFLACのデフォルト設定(少なくとも、私が使用するエンコーダーのデフォルト)と正確に一致します。したがって、データが失われると、デコード時に入力データと数学的に同一になります。

.flacのファイルがあり、それを.wavなどにしたい場合、品質が低下しないようにするにはどうすればよいですか?解凍すれば品質が落ちないことはわかっています。 .flacを.wavに変換することは、解凍することと同じですか?

入力データと同じまたはより広いサンプル形式の.wavファイルに変換でき、品質が低下することはありません。

メディアプレーヤーがflacファイルのオーディオを再生する場合、基本的には、PCMデータをサウンドカードに送信する前に、flacデータをPCM形式にデコードします。入ったのとまったく同じデータに解凍します。したがって、16ビット44.1 KHz PCMデータが入力された場合、それが出力され、スピーカーに送られます。

このアクティビティとオーディオをWAVファイルに変換することの唯一の違いは、WAVファイルに変換するときにWAVを作成する必要があることです。適切なフィラービットなどが入ったコンテナで、WAVファイルのサンプル形式を選択することもできます。ただし、サンプル形式が同じであると仮定すると、FLACファイルとWAVファイルの唯一の違いはファイルサイズです。WAVファイルは大幅に大きくなります。

これは.ape形式にも当てはまりますか? .apeでダウンロードしたパブリックドメインの録音がいくつかありますが、.flacにしたいです。 .wavを仲介者として使用しなくても.apeから.flacが可能でしょうか。少しでも失われないようにしたいと思います。

いいえ、仲介者としてsomePCM形式を使用せずにこれを行うことはできません。しかし、はい、それはWAVファイルを使用せずにそれを行うことが可能です。違いに注意してください。 PCMデータストリーム。 WAVファイル。区別がはっきりしない場合は、私の投稿の冒頭をもう一度読んでください。 「少しでも」失われないようにする場合は、APEファイルを調べて、それらのサンプル形式を理解し、FLACエンコーダーが同じ設定でエンコードするように設定されていることを確認する必要があります。

内部的には、オーディオ変換プログラムは、ソース形式からある種のロスレスPCMサンプル形式にデコードし、それらのPCMサンプルを取得して、宛先形式で再エンコードします。

また、ロスレスの世界を完璧に説明するガイドがあれば、誰かがリンクを共有してくれるでしょうか? :)

私の意見では、学ぶための最良の方法は行うことです。 Gstreamerフレームワーク、その使用方法、サンプル形式のさまざまな調整可能要素の意味、およびパイプラインの構築方法を時間をかけて学ぶと、デジタルオーディオについて非常に深く理解できるようになります。見てみな。 http://gstreamer.freedesktop.org/ Gstreamer SDKを取得することもできます http://code.entropywave.com/gstreamer-sdk/ (Windowsがサポートされています)そして、ソースから何もコンパイルせずにgst-launch-0.10を試してみてください。

いくつかの明らかなこと:

gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audioconvert gst-inspect-0.10 audioresample

次に、キャップ、パイプラインの構築などについて学びます。そうすれば、すぐに進むことができます。

*注:PCMとは何かを説明していなかったことに気づきました。ウィキペディアは私よりもこれをうまくやっています: http://en.wikipedia.org/wiki/Pulse-code_modulation

14
allquixotic

私はallquixoticの声明に反対しなければなりません。

Mp3やogg/vorbisなどの不可逆形式の音楽がすでにある場合、それを可逆形式に変換すると、(多くの)ディスク領域が消費されるだけで、品質が向上することはありません。オーディオは何でも。すでに失われていると、忠実度を作成することはできません。 CSIと呼ばれるヒットテレビ番組でVisualBasicでGUIインターフェイスを作成している場合を除きますが、それは空想であり、現実ではありません。

あなたはオーディオエンジニアリングと人々に虚偽の陳述を与える知識の断片が不足しています。

  1. OggとVorbisの両方に、元のWaveデータ情報を保存するコンテナーがあり、そのデータを使用してロスレスに変換できます。十分にグーグルしてください。

  2. 低品質のMP3からロスレスへの変換でさえ、多くのサウンドの改善をもたらします。オリジナルほど完璧ではありませんが、ダイナミクスとディザリングで簡単に修正できます。 https://www.izotope.com/en/products/master-and-deliver/ozone.html/OzoneDitheringGuide.pdf

オーディオは10100110101001データではないため、ファイルサイズが小さいからといって品質が低下するわけではありません。数十年前に128kbpsから320kbpsの経験があり、128kbpsからロスレスまでは不可能だと思います。この簡単なタスクを自分でテストして、実現してください。

1
Seandex