|||||圧縮音楽統合スレッド Part5|||||

このエントリーをはてなブックマークに追加
880名無しさん@お腹いっぱい。
単なる好奇心だけど、foobar使えない場合は、
Start DelayとEnd Paddingの値をどう利用したらいいの?
それぞれの値だけ単純にデコードしたwavの前後から削ればいいのかな。
また、lame --decodeはそれを考慮してるのかな。
881名無しさん@お腹いっぱい。:2005/07/02(土) 14:00:45 ID:bM4Y5k450
canファイルて可逆圧縮のファイルですか?
バイナリエディタで開いてみると
一番最初にflacmと書いてあるんですが…
882名無しさん@お腹いっぱい。:2005/07/02(土) 19:05:19 ID:Ivy2NcmA0
>>880

残念ながらLAMEのデコーダーはLAMEタグに対応していない。(どうして?)
どのデコーダーがLAMEタグに対応しているかに関しては
http://www.hydrogenaudio.org/forums/index.php?showtopic=35054&view=findpost&p=308680
が参考になる。

そこのリストによればLAMEタグによるギャップレス再生に対応しているのは

Winamp (in_mpg123)
MPADec
Foobar (mpglib)
Foobar (MAD)

の4つであり、XMPlay には ? マークが付いている。
コマンドラインで使うには mpadec.exe を使うのが良さそうかな?
883名無しさん@お腹いっぱい。:2005/07/02(土) 20:37:24 ID:ks23JF7h0
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とは違う話だったかも?
オリジナルと長さとかが同じ結果を得るという事かな、と思い込んでたけど。
884名無しさん@お腹いっぱい。:2005/07/03(日) 01:22:46 ID:+O34r2vM0
いつもやっている方法で 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倍も大きい。
885名無しさん@お腹いっぱい。:2005/07/03(日) 01:31:25 ID:+O34r2vM0
補足:6628, 11696, 11721 は LAME 3.96.1 --preset insane で作ったMP3ファイルに
関する結果で、残りの3つは Ogg Vorbis に関する実験結果。
886名無しさん@お腹いっぱい。:2005/07/04(月) 19:12:08 ID:GoGdx63g0
Win98SEで使えるWAVEをAAC、MP4、3gpに変換するソフトはありますか?
よろしくお願いします
887名無しさん@お腹いっぱい。:2005/07/04(月) 21:13:07 ID:YHWXWKs60
>>886
neroについている機能がそれにあたるような気がしないでもない。
888名無しさん@お腹いっぱい。:2005/07/05(火) 00:32:13 ID:AZP8wNCM0
256kbpsのMP3ファイルを192kbpsのMP3にすることは可能ですか?
よろしかったら教えてください。
889名無しさん@お腹いっぱい。:2005/07/05(火) 00:40:29 ID:0FrV3PPO0
>>888
可能
890名無しさん@お腹いっぱい。:2005/07/05(火) 00:40:38 ID:wvTgXU7f0
可能です
891名無しさん@お腹いっぱい。:2005/07/05(火) 08:40:02 ID:ob/kxmHM0
>>889,890
ありがとうございます。
よろしかったら何のソフトを使えば出来るか教えていただけませんか?
892名無しさん@お腹いっぱい。:2005/07/05(火) 10:08:00 ID:bHu/TB8J0
>>888

圧縮前のオリジナル → MP3 256kbps → MP3 192kbps と変換すると
圧縮前のオリジナル → MP3 192kbps と直接圧縮するよりも音質の劣化が大きくなる。
圧縮前の音源からMP3ファイルを作り直した方が良い。

オーディオファイルの形式の変換には dBpowerAMP Music Converter と foobar2000
がおすすめである。おすすめできないソフトもたくさんあるので注意した方が良い。
893名無しさん@お腹いっぱい。:2005/07/05(火) 16:23:35 ID:ixjkdcHA0
当たり前のような事を質問しますが、128kbpsの音質上げる方法ってありませんよね?
894名無しさん@お腹いっぱい。:2005/07/05(火) 16:33:04 ID:wvTgXU7f0
128kbpsの音質
895名無しさん@お腹いっぱい。:2005/07/05(火) 17:27:51 ID:2AbVyOIC0
>>893
良いプレーヤーを使う と少し良くなる
エンコードがやはり大事
896名無しさん@お腹いっぱい。:2005/07/05(火) 17:44:36 ID:rnKUXric0
>>892
ありがとうございます。
シコシコとエンコし直します。
897名無しさん@お腹いっぱい。:2005/07/05(火) 18:56:24 ID:GE1QpXIc0
>>887
ありがとうです
そのソフトはフリーソフトでしょうか?
898名無しさん@お腹いっぱい。:2005/07/05(火) 20:14:45 ID:zw0qAuoT0
>>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)
899名無しさん@お腹いっぱい。:2005/07/05(火) 20:55:25 ID:I53fJCas0
んでfoobarのmadとmpglibどっちが正確なのか書けやクズ
900名無しさん@お腹いっぱい。:2005/07/06(水) 02:37:54 ID:5yh0sE6V0
>>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 を変更

つづく。
901名無しさん@お腹いっぱい。:2005/07/06(水) 02:38:47 ID:5yh0sE6V0
つづき。

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 にはバグがあるとしか思えない。
忙しくなければバグレポートしたいところだが今はできない。
代わりにレポートしてくれる人がいれば嬉しい。
902名無しさん@お腹いっぱい。:2005/07/06(水) 02:53:00 ID:oIeSRkYDP
で、ABXは?
903名無しさん@お腹いっぱい。:2005/07/06(水) 03:00:54 ID:lIOtmr1A0
もっと気軽に音楽を楽しめばいいのに
音学じゃつまらんよ
904名無しさん@お腹いっぱい。:2005/07/06(水) 03:07:03 ID:5ayJqbaQ0
903はただの知能障害者
905名無しさん@お腹いっぱい。:2005/07/06(水) 03:23:28 ID:PKO0qxYk0
                _,,,,,,,,,,,,,,,,_
             . ‐''"´      `'ー-、
             / .-'            ヽ.
          / //レ'7′    `、 、 、 ヽ
           l        r ヘ.  ', Vヽ「`、 ',
.         |     ; ,' ノ  ヽ l ',     l      >>1-904
         l ,'  i .l /|/     )人 l| l   l !頭の病気はゆっくり直して行こうぜ!
         ノイ .i l. トl=-、!  レ-=iテリ}l / / まあ直らんだろうけどな。
           >ト、| | ` ̄´     ` ̄´ .レヘ/
      _. -‐'フ   `'!     :}      lイ`ヽ、_
   ,. ='  /.     `、   _`__   ./ ノ  `、`''ー、=-、
   ノ::\   ̄`ー、_    :lヽ.  ー ` /./     _Y⌒ ー、 \
  /:::::::::::\    ノ   ::ト、`、,___,/ /  <二-ヘ   ノ   ヽ
. ノ::::::::::::::;;;;ヽ、   `ー、  :::l. `'ー‐‐''"/   イ-‐-‐'´l └ー-、_ }
906名無しさん@お腹いっぱい。:2005/07/06(水) 03:57:00 ID:U1thyrR90
ABXテストは人間にとってどのように聴こえるかを評価する場合には必須である。
しかしデコーダーの「精度」について知りたい場合にはABXテストは不適切な方法である。
今回のテストで残念ながら mpadec.exe 0.9 は信用できないことがわかった。
ABXテストでこの事実を発見するのは難しかっただろう。

私の経験では>>903のような奴に限って音質についてデタラメを平気で述べている。
なんらかの意味で正しい意見を述べようと努力することと音楽を気楽に楽しむことは両立する。
もちろん平気でデタラメを述べ続けて他人に迷惑をかけることとも両立する。
私は当然前者を選択したいと考えている。
907名無しさん@お腹いっぱい。:2005/07/06(水) 04:21:28 ID:U1thyrR90
もう少し長いサンプルで試してみた。
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できなかった。
やはり定評のあるデコーダーであればどれを使っても音質的には同等であるという話は本当のようである。
今後私はデコーダーの選択に強くこだわる人の耳をあまり信用できそうもない。
908名無しさん@お腹いっぱい。:2005/07/06(水) 04:56:46 ID:frEztgbA0
>>709
foobar2000で変換って例えばFLAC読みこんでDiskwriterでTTAを吐くとかそういう事?
909名無しさん@お腹いっぱい。:2005/07/06(水) 08:23:22 ID:U1thyrR90
>>908

Yes. foobar2000ではコマンドラインエンコーダーが存在する任意のフォーマットに変換できる。
dBpowerAMP Music Converter でも同じだ。
910名無しさん@お腹いっぱい。:2005/07/06(水) 08:37:45 ID:U1thyrR90
せっかくなので 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)