人力検索に関する私信
id:makocanさん
以下の質問へのお返事です。
http://q.hatena.ne.jp/1250170210
長々と書いてしまいましたが、ご確認ください・・・(^-^;
容量は落ちても音質は劣化しないものなのでしょうか?SWFの圧縮により容量を小さくした場合は劣化していないはずです。*1
MP3やAACなどの不可逆圧縮により、別の形式に変換してサイズが小さくなった場合は劣化します。*2
別の形式への変換でも、TTAやFLACなどは可逆圧縮なので劣化しません。(Flashへの埋め込みが出来ないので、今回の質問とは関係ありませんが・・・)
どういう目的で無圧縮のままSWFに変換したいのか分かりませんが、人間の耳で判別できるのは、128〜192kbpsくらいまでだそうです。
それ以上の音は聞き取ることが出来ないそうですので、カットしても問題ないと思いますが、無圧縮のWAVである必要があるのでしょうか?
SWFの圧縮の仕組みについては分かりませんが、SWF圧縮による音質の劣化が無い事を証明する為に、以下の方法でファイルを検証してみました。
確認の手順
- 検証用のWAVファイルを用意して、MP3ファイルに変換します。*3
- 用意した元のWAVファイルをSWFに変換します。
※SWF圧縮した物と圧縮しない物の2種類作成。*4 - 用意したMP3ファイルをSWFに変換します。
※同じようにSWF圧縮した物と圧縮しない物の2種類作成。 - 作成した4つのSWFファイルから音声ファイルを抽出*5
※HugFlashでMP3からWAVに変換して抽出することも可能ですが、ここではMP3のまま抽出して次の手順でWAVに変換しています。 - 抽出したMP3ファイルをWAVにデコード*6
- 抽出したWAVファイル2個とデコードしたWAVファイル2個の合計4個のWAVファイルを元のWAVファイルと比較します。*7
結果は次の通りです。
SWFから抽出したWAVファイルの比較
項目 | WAV(SWF圧縮なし) | WAV(SWF圧縮あり) | MP3→WAV (SWF圧縮なし) |
MP3→WAV (SWF圧縮あり) |
---|---|---|---|---|
元のWAVファイル | ◎ | ◎ | × | × |
WAV(SWF圧縮なし) | ‐(未検証) | ◎ | × | × |
WAV(SWF圧縮あり) | ◎ | ‐(未検証) | × | × |
MP3→WAV (SWF圧縮なし) |
× | × | ‐(未検証) | ◎ |
MP3→WAV (SWF圧縮あり) |
× | × | ◎ | ‐(未検証) |
◎…完全一致、×…不一致、−(未検証)…同一ファイルなので検証していません。
上記の結果では、WAVのままSWFに変換して抽出した場合は、SWF圧縮の有無に関わらず元のWAVファイルと一致し、また抽出した各WAVファイル同士も一致しています。
MP3に変換後にSWFに変換、その後抽出・復元したWAVファイルの場合は、元のWAVファイルともWAVのままSWF変換した各ファイルとも一致しませんでした。
※各ファイル同士は一致していますので、正常にMP3からWAVへのデコードは完了しているようです。
これらの事から、SWFによる圧縮は音質には影響していない事が分かると思います。
今回使用したフリーソフトたち
・KKKKK.Net - Lame Ivy Frontend Encoder
・Suzuka
・窓の杜 - HugFlash
・音くらべ
ありがとうございました!