|||||圧縮音楽統合スレッド Part5|||||
単なる好奇心だけど、foobar使えない場合は、
Start DelayとEnd Paddingの値をどう利用したらいいの?
それぞれの値だけ単純にデコードしたwavの前後から削ればいいのかな。
また、lame --decodeはそれを考慮してるのかな。
canファイルて可逆圧縮のファイルですか?
バイナリエディタで開いてみると
一番最初にflacmと書いてあるんですが…
0〜1secは無音、1〜9secはサイン波、9〜10secは無音な音を作成して
軽く実験してみたところ、lame 3.96rのデフォルトでは、
madplay -vTで
Start Delay: 576 samples
End Padding: 1943 samples
となった。これをlame --decodeすると元より1414sample多くなったが、
http://mp3decoders.mp3-tech.org/decoders_lame.html にある529という数値を用いて1943-529とすると、これが1414に一致した。
偶然じゃない事を確かめるために5secの同様な音でも試したけど、
LAMEタグのEnd Padding:から529だけ引いた値だけ、元のwavより長くなった。
--decode-mp3delayを使うと、元の波とズレたのでこれは駄目っぽい。
preset standardやextreme, insaneでもStart DelayとEnd Paddingは同じだったから、
529という数字はどうやら固定でよさそう。
って、もしかしてギャップレスwavとは違う話だったかも?
オリジナルと長さとかが同じ結果を得るという事かな、と思い込んでたけど。
いつもやっている方法で foobar2000 (mpglib) と mpadec によるデコード結果の差を調べてみた。
0. 音源は spellbound
1. LAME 3.96.1 lame.exe --preset insane (320kbps)でMP3ファイルを作成。
2. foobar2000 (mpglib) でそのMP3ファイルをデコード。>foobar2000.wav
3. mpadec.exe で同じMP3ファイルをデコード。>mpadec.wav
4. soxmic -v 1 foobar2000.wav -v 1 mpadec.wav diff.wav
5. diff.wav の様子を Audacity や WaveGain -c で観察。
diff.wav 全体でのピークは 6628/32767 であった。
念のためにデコードを 32bit floating-point でしても結果は同様。
特に13秒以降の差が大きい。その差が audible かどうかはまだ試していない。
スペクトログラムを見ると大きな差が生じている部分の成分は16kHz-18kHzに集中している。
他の差のピーク値との比較
6628 = Peak(foobar2000によるデコード結果 - mpadecによるデコード結果)
11696 = Peak(foobar2000によるデコード結果 - オリジナル音源)
11721 = Peak(mpadecによるデコード結果 - オリジナル音源)
1146 = Peak(Lancer20050621 -q10 - オリジナル)
1142 = Peak(aoTuV beta 4 reference -q10 - オリジナル)
573 = Peak(Lancer20050621 - aoTuV beta4 reference)
Lancer20050621 -q10 や reference 版の aoTuV beta4 -q 10 でエンコードし、
foobar2000 でデコードしてオリジナルと差を取った。
予想していたよりデコーダーの違いによる差が大きいことに驚いた。
Lancer20050621 と aoTuV beta4 reference の差よりもピーク値で10倍も大きい。
補足:6628, 11696, 11721 は LAME 3.96.1 --preset insane で作ったMP3ファイルに
関する結果で、残りの3つは Ogg Vorbis に関する実験結果。
Win98SEで使えるWAVEをAAC、MP4、3gpに変換するソフトはありますか?
よろしくお願いします
>>886 neroについている機能がそれにあたるような気がしないでもない。
256kbpsのMP3ファイルを192kbpsのMP3にすることは可能ですか?
よろしかったら教えてください。
可能です
>>889,890
ありがとうございます。
よろしかったら何のソフトを使えば出来るか教えていただけませんか?
>>888 圧縮前のオリジナル → MP3 256kbps → MP3 192kbps と変換すると
圧縮前のオリジナル → MP3 192kbps と直接圧縮するよりも音質の劣化が大きくなる。
圧縮前の音源からMP3ファイルを作り直した方が良い。
オーディオファイルの形式の変換には dBpowerAMP Music Converter と foobar2000
がおすすめである。おすすめできないソフトもたくさんあるので注意した方が良い。
当たり前のような事を質問しますが、128kbpsの音質上げる方法ってありませんよね?
128kbpsの音質
>>893 良いプレーヤーを使う と少し良くなる
エンコードがやはり大事
>>892 ありがとうございます。
シコシコとエンコし直します。
>>887 ありがとうです
そのソフトはフリーソフトでしょうか?
>>884で
http://www.hydrogenaudio.org/forums/index.php?showtopic=35054&view=findpost&p=308890 からダウンロードした mpadec と foobar2000 (mpglib) で
デコード結果した比較をしてみたら非常に大きな差が出たことを報告しました。
そのことを不振に思ってついさっき他のデコーダーも試してみました。
結論は「少なくとも上記の場所からダウンロードした mpadec は使わない方が良い」です。
比較してみたのは次の4つです。
foobar2000 v0.8.3 (mpglib)
mpadec.exe v0.9 (上記の場所からバイナリをダウンロード)
lame.exe --decode 3.96.1 (LAME 3.96.1 は rarewares からダウンロード)
Otachan's in_mpg123.dll v1.18y ot81e SSE2 (Winamp の Disk Writer 経由で利用)
1. lame.exe --preset insane hihat.wav hihat.mp3
2. hihat.mp3 を上記のデコーダーでWaveファイルにデコード。
3. soxmix でデコード結果どうしおよびオリジナルとの差のWaveファイルを作成。
4. Audacity で差の波形とサウンドスペクトログラムを観察。
5. WaveGain.exe -c で差のピーク値を測定。
波形を観察するとオリジナルとの差は mpadec でデコードした結果だけが
特別に大きいことがすぐにわかります。
サウンドスペクトログラムを見ると mpadec の16kHz以上のデコード結果が
他のデコーダーと大きく違っていることがわかる。
デコード結果どうしの差のピーク値を見ても mpadec だけがかけ離れている。
1 = Peak(mpg123 - foobar2000)
5 = Peak(lame - foobar2000)
5 = Peak(lame - mpg123)
2994 = Peak(mpadec - foobar2000)
2994 = Peak(mpadec - mpg123)
2994 = Peak(mpadec - lame)
んでfoobarのmadとmpglibどっちが正確なのか書けやクズ
>>899 >んでfoobarのmadとmpglibどっちが正確なのか書けやクズ
クズはおまえ。w
再検証可能なほど詳しく方法を書いているんだから自分でやってくれ。
しかし、結局やってみた。
hihat サンプルに限れば、foobar2000(mpglib) と foobar2000(mad)
によるデコード結果の差は最後の1ビットの違いしかないので
実際に聴いてみて違いを認識することは不可能だろう。
もっと長いサンプルで試すこともできるがリクエストがあるだろうか?
比較したのは次の5つ。
lame - LAME 3.96.1 lame.exe --decode (rarewares 版)
mad - foo_mad.dll 0.15.1b
mpadec - mpadec.exe 0.9 (
>>898のリンク先からダウンロード)
mpg123 - Otachan's in_mpg123.dll v1.18y ot81e SSE2 (Winamp の Disk Writer 経由で利用)
mpglib - foobar2000 0.8.3 のデフォルトのMP3デコーダー
foobar2000 での mpglib と mad の切り替えは
Foobar2000 → Input - Standard inputs → MP2/MP3 decoder を変更
つづく。
つづき。
LAME 3.96.1 lame.exe --preset insane hihat.wav で作ったMP3ファイルを
上記のデコーダーでデコードしてそれらの差を soxmix で作成し、
WaveGain.exe -c でピーク値を測定。
5 = Peak(diff_lame_and_mad.wav)
2994 = Peak(diff_lame_and_mpadec.wav)
5 = Peak(diff_lame_and_mpg123.wav)
5 = Peak(diff_lame_and_mpglib.wav)
2994 = Peak(diff_mad_and_mpadec.wav)
1 = Peak(diff_mad_and_mpg123.wav)
1 = Peak(diff_mad_and_mpglib.wav)
2994 = Peak(diff_mpadec_and_mpg123.wav)
2994 = Peak(diff_mpadec_and_mpglib.wav)
1 = Peak(diff_mpg123_and_mpglib.wav)
foobar2000(mpglib)、foobar2000(mad)、Otachan's in_mpg123.dll の差は 1/32767 しかない。
LAME 3.96.1 --decode はそれらと 5 離れている。
mpadec.exe 0.9 にはバグがあるとしか思えない。
忙しくなければバグレポートしたいところだが今はできない。
代わりにレポートしてくれる人がいれば嬉しい。
で、ABXは?
もっと気軽に音楽を楽しめばいいのに
音学じゃつまらんよ
903はただの知能障害者
_,,,,,,,,,,,,,,,,_
. ‐''"´ `'ー-、
/ .-' ヽ.
/ //レ'7′ `、 、 、 ヽ
l r ヘ. ', Vヽ「`、 ',
. | ; ,' ノ ヽ l ', l
>>1-904 l ,' i .l /|/ )人 l| l l !頭の病気はゆっくり直して行こうぜ!
ノイ .i l. トl=-、! レ-=iテリ}l / / まあ直らんだろうけどな。
>ト、| | ` ̄´ ` ̄´ .レヘ/
_. -‐'フ `'! :} lイ`ヽ、_
,. =' /. `、 _`__ ./ ノ `、`''ー、=-、
ノ::\  ̄`ー、_ :lヽ. ー ` /./ _Y⌒ ー、 \
/:::::::::::\ ノ ::ト、`、,___,/ / <二-ヘ ノ ヽ
. ノ::::::::::::::;;;;ヽ、 `ー、 :::l. `'ー‐‐''"/ イ-‐-‐'´l └ー-、_ }
ABXテストは人間にとってどのように聴こえるかを評価する場合には必須である。
しかしデコーダーの「精度」について知りたい場合にはABXテストは不適切な方法である。
今回のテストで残念ながら mpadec.exe 0.9 は信用できないことがわかった。
ABXテストでこの事実を発見するのは難しかっただろう。
私の経験では
>>903のような奴に限って音質についてデタラメを平気で述べている。
なんらかの意味で正しい意見を述べようと努力することと音楽を気楽に楽しむことは両立する。
もちろん平気でデタラメを述べ続けて他人に迷惑をかけることとも両立する。
私は当然前者を選択したいと考えている。
もう少し長いサンプルで試してみた。
aiko - 1999 小さな丸い好日 - 05 赤い靴.wav [4:57]
ただし Otachan's in_mpg123.dll を最新の ot83a に上げて試してみた。
しかし hihat サンプルでは ot81e と ot83a によるデコード結果はバイト単位で一致した。
今回の場合では soxmix で作った差は同一のWaveファイルの差であってもピーク 1 の場合が生じた。
このことは soxmix を使って差のWaveファイル(16bit 44.1kHz PCM)を作った場合には
最後の1ビットの正確さは期待できないということを意味している。
差のピーク値の結果は以下の通り。
1 = Peak(diff_lame_and_mad.wav)
2264 = Peak(diff_lame_and_mpadec.wav)
1 = Peak(diff_lame_and_mpg123.wav)
1 = Peak(diff_lame_and_mpglib.wav)
2263 = Peak(diff_mad_and_mpadec.wav)
1 = Peak(diff_mad_and_mpg123.wav)
1 = Peak(diff_mad_and_mpglib.wav)
2264 = Peak(diff_mpadec_and_mpg123.wav)
2264 = Peak(diff_mpadec_and_mpglib.wav)
1 = Peak(diff_mpg123_and_mpglib.wav)
2239 = Peak(diff_original_and_mpadec以外.wav)
2995 = Peak(diff_original_and_mpadec.wav)
今回は LAME 3.96.1 --decode、foobar2000(mad)、Otachan's in_mpg123.dll、foobar2000(mad)
による 16bit 44.1kHz PCM へのデコード結果あいだには最大で 1 の差しかないことがわかった。
これらのデコード結果を実際に聴き比べてABXすることは不可能だと思われる。
少なくとも私にはまったくABXできなかった。
やはり定評のあるデコーダーであればどれを使っても音質的には同等であるという話は本当のようである。
今後私はデコーダーの選択に強くこだわる人の耳をあまり信用できそうもない。
>>709 foobar2000で変換って例えばFLAC読みこんでDiskwriterでTTAを吐くとかそういう事?
>>908 Yes. foobar2000ではコマンドラインエンコーダーが存在する任意のフォーマットに変換できる。
dBpowerAMP Music Converter でも同じだ。
せっかくなので Audioactive MP3 Decoder も試してみた。
結論:hihat サンプルに限れば Audioactive MP3 Decoder は lame.exe --decode とほとんど同じ。
面倒なので hihat サンプルだけで試してみた。
http://www.audioactive.com/download/default.htm から
Audioactive MP3 Decoder 1.14 for Windows 95, 98, ME, NT4 and Win2K
をダウンロードしてインストール。
hihat.wav を Audioactive MP3 Decoder 1.14 で audioactive.wav にデコード。
先頭の無駄な空白を sox audioactive.wav audioactive_trim2257s.wav trim 2257s で削除。
2257サンプルという数字はオリジナルのWaveファイルとの波形の比較で見つけた。
あとは soxmix で他のデコーダーによるデコード結果と差を作成して観察。
WaveGain.exe -c でのピーク値の測定結果は次の通り。
1 = Peak(audioactive - lame)
5 = Peak(audioactive - mad)
5 = Peak(audioactive - mpg123)
5 = Peak(audioactive - mpglib)