CDexってどう? その7

このエントリーをはてなブックマークに追加
363名無しさん@お腹いっぱい。
”春の予感”というトラック名をエンコードすると
失敗します。(2kbのファイルができる)
”harunoyokan”にトラック名を変更すると
成功します。
なんででしょう?

CDex v1.51+αパッチ Rel.4(2004-11-29版)
lame3.96.1
364名無しさん@お腹いっぱい。:2005/05/26(木) 09:52:03 ID:czPSwxc/
>>363
実はまだ日本語のタイトルに完全対応してなかったんじゃないかな?
その情報だけだとまず先にそういう答えが出てしまうのだが・・・
365名無しさん@お腹いっぱい。:2005/05/26(木) 10:01:54 ID:czPSwxc/
と思ったんだが
v1.51で何のパッチ当ててないが
春の予感.wav にリネームした適当なwaveファイルをエンコさせたら普通にいけた
ディレクトリネームの日本語とか全く別の要因だな
スマソ
366名無しさん@お腹いっぱい。:2005/05/26(木) 10:08:06 ID:oCyZ63eQ
>>365
試してもらってスミマセン

>ディレクトリネームの日本語とか全く別の要因だな
他のトラックは大丈夫なんですよね
367名無しさん@お腹いっぱい。:2005/05/26(木) 10:18:04 ID:czPSwxc/
>>366
なるほど
その曲のせいか、リッピング時に何か不具合が生じる要因が発生してしまった
ですかね
機会があったらCDから吸い出してみるです
368名無しさん@お腹いっぱい。:2005/05/26(木) 10:25:47 ID:pzLV3Rak
ヒント:予
369名無しさん@お腹いっぱい。:2005/05/26(木) 10:41:04 ID:W1UrD1yD
>czPSwxc/
いい奴なんで却下取り消し
何でも聞いてみそ
370名無しさん@お腹いっぱい。:2005/05/26(木) 11:44:46 ID:czPSwxc/
えとじゃあ、質問させてください
友人から「絶対に音がいいから」と強く勧めるままにわざわざ
 CDからの吸出しはCDex、エンコードはlame(フロントエンドはlife)で
行なっています。
ネットでも一応そうのような情報をいくつか見かけました。
これって何か数値的にはっきり出るような根拠があるのでしょうか?
371名無しさん@お腹いっぱい。:2005/05/26(木) 11:45:33 ID:czPSwxc/
あ、スレ違いでした
372名無しさん@お腹いっぱい。:2005/05/26(木) 12:18:43 ID:iEt+yrjB
>>358
>CDexでもリッピングメソッドを paranoiaにすればリッピング精度は上がるよ。
>そのかわりEAC同様遅くなるけどね。

しかし CDex paranoia では EAC ほどの精度は期待できないという実験結果があります。
http://www.hydrogenaudio.org/forums/index.php?showtopic=3164
CDex は素晴らしいソフトなので私も使っていますが、CDex paranoia はおすすめできません。
使っているCDドライブによってはノイズの混入確率が非常に高くなる場合があるようですが、
そのような場合には CDex paranoia ではなく EAC を使うべきです。
そういうCDドライブを使っていない人であれば CDex でも不都合を感じていないはず。
私自身は実際 CDex で不都合を感じたことはありません。
(現在 EAC がメインになっているのはCDイメージ+キューシートで取り込めるから。)

高速で正確なCD取り込みにこだわりたければPlextorのCDドライブを買うというのも考えられます。
PlextorのCDドライブではCCCDも普通に取り込めるらしい。

> FreeDBに関してはEACはUTF-8に対応していないから、日本語が化ける。

FreeDBとしてどこを指定してEACを試しましたか?

http://freedbtest.dyndns.org:80/~cddb/cddb.cgi
http://ns.w7r.net:80/~cddb/cddb.cgi
のどちらかを指定すればEACでも文字化けしません。

FreeDB + Gracenote (Player.exe → CDPlayer.ini 経由) のダブルCDデータベースで
非常に便利な点に関しては CDex も EAC もどちらも同じだと思います。

>ってことでそれぞれの使い方に合った方使えばいい。

これについては同感です。
373名無しさん@お腹いっぱい。:2005/05/26(木) 15:17:20 ID:liwE4N5g
>>372
あなたがEACを便利に使っていておすすめなのは分かったが
ここでそんな長文でわざわざ力説するのは
基本的にスレ違いだと思う。
あなたのレスを見て使ってみようと思った人は使う、
そうでない人は使わない、それだけのことでしょう。
374名無しさん@お腹いっぱい。:2005/05/26(木) 17:29:15 ID:5H/68x/D
ただのEAC工作員だろwスルーしとけ
375356:2005/05/26(木) 19:00:30 ID:fVIrp4GQ
>>357
詳しい説明ありがとう。
大昔から名は知っているが、CD2wav→cdexと来て、これは使っていませんでした。
ちょとダウンロードして使ってみます。

俺のせいで怒られたみたいでスマソ!
376名無しさん@お腹いっぱい。:2005/05/26(木) 19:06:28 ID:Ilm2PftL
>>363
コマンドライン版lameを使ってるのなら、コマンドライン文字列の %1 と %2を ""で括ってない
とそうなるかもしれんね。
377名無しさん@お腹いっぱい。:2005/05/26(木) 19:27:11 ID:Ilm2PftL
>>372
まぁ CDexのリッピングは CDRip.dllに依存しているわけで、そのCDRip.dll の開発が
ここんとこ放置状態なのが辛いとこだわな・・・  USB接続のドライブ対応などで
エンバグしてたりとか

まぁうちでは、ひっそりパッチ当てたものでは特に問題出てないし、オフセットとかは
あまり関係ない(気にしない)使用方法だからメインはCDex。

EACは日本語化してもダメ文字に気をつけないといけないしなぁ・・・

freedbに関しては dyndns.orgなど SJISが通るサーバーがあることは知ってるし、使わせて
もらってもいるんだけど、洋楽と邦楽の両刀遣いの人たちは使えるサーバーが多い方が
いいと思うんだよね。
378名無しさん@お腹いっぱい。:2005/05/26(木) 21:20:55 ID:Yi4KfPET
オンザフライをオンにしてノイズ感じたことないな
379名無しさん@お腹いっぱい。:2005/05/26(木) 23:47:45 ID:PMrIWycP
>>378
俺も
380名無しさん@お腹いっぱい。:2005/05/26(木) 23:48:55 ID:ZpgA0vm4
>>377
>洋楽と邦楽の両刀遣いの人たちは使えるサーバーが多い方がいい

Gracenote CDDB は試してみましたか?
どの FreeFB より Gracenote の方がデータが豊富だと思います。
以下は Gracenote を CDex や EAC で使う方法の解説。

1. Player.exe をインストールして、その「ファイル → オプション → 一般」の
「ディスク情報を自動的に検索」と「自動的に cdplayer.ini をアップデート」にチェックを入れる。

2. Player.exe を起動した状態で CD をパソコンのドライブに挿入すると
自動的に Player.exe が Gracenote に問い合わせて CD 情報を取得して
cdplayer.ini に書き込む。

3. CDex もしくは EAC で cdplayer.ini からCD情報を取り込む。
CDexなら「CDDB → CD Player.iniから読み込み」
EACなら「データベース → CD情報取得 → CDPLAYER.INI」

CDex や EAC を使うときに Player.exe を常に起動しておくようにすれば
FreeDB ではなく、Gracenote からCD情報を取得できます。
FreeDB に不満がある人は Gracenote も試すと幸せになれると思います。
381名無しさん@お腹いっぱい。:2005/05/26(木) 23:56:16 ID:ZpgA0vm4
すまん。書き忘れた。

Player.exe のインストールについては EAC に関する次の解説が詳しいです。
http://homepage3.nifty.com/nanahoshi/player/player.html
EACだけではなく、CDexに関しても役に立つ情報なのでスレ違いなどと言わないように。
382名無しさん@お腹いっぱい。:2005/05/26(木) 23:58:32 ID:rjiWfTSN
>>363
うちでも同じ感じです。ひっそりパッチ当てていても、
ダメ文字が問題で1kbぐらいのファイルが出来る時がある。
それで、いろいろ試した所、ファイルの先頭ちかくにダメ文字があると、
エンコード失敗すると言う感じになりました。(詳しい条件までは良くわからなかった・・・)
ためしに、まったく同じwavファイルを"ソ.wav"と"0123456ソ.wav"名前にして、
CDexにD&Dすると"ソ.wav"方だけエンコードされないですぐに終了の音がなってしまいます。
ちなみにD&Dでエンコードを選んだ時は1kbぐらいのファイルは出来ません。
自分のところではファイル名の設定を%1\%2\%7 %4の様に
アーティスト名やアルバム名などでフォルダに区切っていて、
ファイル名が短くなりやすい設定になっていたので、この問題に気づきました。
383名無しさん@お腹いっぱい。:2005/05/27(金) 08:00:38 ID:ftGtS6zV
>>382
たしか以前、1文字だけのファイル名でおかしくなるって話が出てたから
それと同じかもね。
384名無しさん@お腹いっぱい。:2005/05/27(金) 08:11:56 ID:ftGtS6zV
>>383
と思っていま試してみたけど、ソ.wav うちでは正常にエンコードされた。
使ってるのは ひっそり版 CDex 1.60β

ちなみに dll版lameを使用。

もしかしたらコマンドライン版使ったときに出るのかなぁ・・・ 時間ないんでいまは試せないけど。

コマンドライン版の場合は、一旦 tmpフォルダにエンコードされて、そのあとターゲットフォルダに
コピーされてタグ付け、リネームが行われる。

このターゲットフォルダにコピーする段階で失敗すると、ターゲットフォルダにはタグ情報だけの
ファイルが生成されることになるんだよね。
385名無しさん@お腹いっぱい。:2005/05/27(金) 08:54:38 ID:cAXnfp5u
>>376
""で括っています。
一部のトラックのみエンコード失敗します。

>>384
そうなんです。
external encorderでの使用時のみ発生します。
dllでは問題なしです。
386名無しさん@お腹いっぱい。:2005/05/27(金) 09:28:27 ID:WovWN0GH
>>380
有益な情報ありがとう。
387384:2005/05/27(金) 18:38:10 ID:ftGtS6zV
>>385
CDexの問題じゃなくてコマンドライン版lameの問題のようだ。

コマンドラインで

lame.exe "C:\Documents and Settings\xxxx\デスクトップ\ソ.wav" test.mp3

とかしてもエンコードできず

Could not find "D:\Documents and Settings\xxxx\デスクトップ\ソソ.wav". とエラーになる。
388名無しさん@お腹いっぱい。:2005/05/27(金) 18:47:17 ID:E5LO588E
オンザフライって天ぷらの上って事だよね?
389名無しさん@お腹いっぱい。:2005/05/27(金) 18:57:43 ID:ftGtS6zV
>>387
Could not find "D:\Documents and Settings\xxxx\デスクトップ\ソソ.wav". とエラーになる。 は

Could not find "C:\Documents and Settings\xxxx\デスクトップ\ソソ.wav". とエラーになる。の間違い。

昔のバージョンはこんなことなかったと思うんだけどなぁ・・・・ 最近のバージョンでの不具合かも
しれん。

390名無しさん@お腹いっぱい。:2005/05/27(金) 22:12:16 ID:ftGtS6zV
ざっとだけど lame.exeのソース眺めてみた。 やっぱり lame.exeのコマンド解析ルーチンの不具合だね。
"ソ"などダメ文字を含むファイルは軒並みエンコードできないはず。

今回の問題は parse.cにある dosToLongFileName関数がマルチバイト文字を考慮していないせい。
あと main.c にある parse_nogap_filename関数もダメのはず。こっちの方は --nogap オプションを使用時に
問題となると思われ。

これらの関数では、ファイルのパスからディレクトリパスだけを切り出してるんだけど、その手法が
ファイルパスの末尾から1バイトづつバックして、最初に \ にぶつかったとこまでをディレクトリと
してしまってる。 だから "ソ"など \を含む文字があると誤動作する。

漏れは英語で説明できんから本家には報告できんから、直してもらいたければ誰か報告すれ。
391382:2005/05/28(土) 00:33:44 ID:0apAv0Xp
>>385
自分もExternal Encoderでlame.exeを指定してます。

>>390
たしかにコマンドラインから直接ダメ文字を扱うと正常にエンコードできないのは
マルチバイト文字を考慮して無いからだと思うのですが、
CDexからだと382にも書いたようにダメ文字が入っていても"0123456ソ.wav"などとすると、
エンコードできたりするので、CDexから"ソ.wav"でエンコードできないのは、
ひっそりパッチの不具合じゃないかと思ってるんですが、どうなんでしょう・・・
例えば、363さん例の場合の"春の予感.wav"でも"0春の予感.wav"にするだけでエンコードできるようになるとか。
lame.exeに直接コマンド打つと、ダメ文字のある位置に関係なく全部エンコードできないですし。
392名無しさん@お腹いっぱい。:2005/05/28(土) 08:17:19 ID:ocIdjbQv
>>391
うちでは"春の予感.wav"でも "0春の予感.wav"でも失敗するよ。

同じようにコマンドライン版でのエンコードとなる flac とか Musepackを指定したとき
には発生しない。


もしかすると文字を追加するとOKになる環境の人は Win9x/Me系の人かな?
不具合原因となってるのは、短いファイル名を長いファイル名に変換するルーチン
だからそのあたりの扱いが nt系の cmd.exeと 9x系の command.comと違う可能性はある。

"春の予感.wav"だと短い文字列に収まるけど、"0春の予感.wav"だと "0春の~1.WAV"と
なるから。

lame.exeのコンパイルできる環境もってる人なら frontend/parse.cの 1888〜1891行あたり

#ifdef WIN32
else
dosToLongFileName( inPath );
#endif

をコメントアウトすれば、とりあえずは回避される。ただし短いファイル名を渡した場合、
短いファイル名の mp3として生成されてしまうけど。 本格的に手を入れるならこの関数
自体を修正しないといけない。

393392:2005/05/28(土) 09:40:56 ID:ocIdjbQv
392は起きたばっかりで頭が働いてなかった。

lameの修正は以下の方がよい。

parse.cの 116行あたり

#ifdef WIN32
#include <winbase.h>
#include <mbstring.h>  ← これを追加

132行あたりの

q = strrchr( fn, '\\' );
p = strrchr( fn, '/' );

strrchrを _mbsrchrに変更

394名無しさん@お腹いっぱい。:2005/05/28(土) 13:03:02 ID:ocIdjbQv
VC7 + nasmでコンパイルしたの上げておいた。
Ver 3.96.1と 3.97α10

DL Pass 解凍 Passとも lame

ttp://www.rupan.org/~kain/cgi-bin/upload/src/up13596.zip.html
395名無しさん@お腹いっぱい。:2005/05/28(土) 16:06:55 ID:yHiLBOZt
CDex v1.60β1 非公式版+αパッチ(2005-05-28版)
CDex v1.51 +αパッチ Rel.5(2005-05-28版)
http://homepage2.nifty.com/moto-h/hissori.html
396382:2005/05/28(土) 21:29:51 ID:0apAv0Xp
>>392-393
なるほど、短いファイル名になった時にダメ文字が含まれない時に
正常にエンコード出来るのですね。ちなみにOSはXP sp2 HOME です。
394は既に流れてしまったようなので、DLできず試していません。

>>395
今回の問題が修正されてるかと思ったのですが、CDからリップしてエンコード、
wavファイルをD&Dでエンコード、ともに改善されていませんでした。
lame.exeへのコマンドは--preset standard "%1" "%2"のように一応"で囲っています。
使用したのはCDex v1.60β1 非公式版+αパッチ(2005-05-28版)です。

やっぱり、lame.exeを修正しないと根本的な解決にはならないのかな・・・
397名無しさん@お腹いっぱい。:2005/05/28(土) 21:49:17 ID:ocIdjbQv
>>396
もういっかい上げた。 流れが速いんでお早めに

ttp://www.rupan.org/~kain/cgi-bin/upload/src/up13731.zip.html

パスは前のと同じ
398385:2005/05/29(日) 10:04:13 ID:HKyJtHGg
>>394
いただきました。
正常にエンコードできました。
ありがとうございました。

>>396
やはり同様に改善はされませんでした。

ちなみにOSはXP sp2 proです。
399394:2005/05/29(日) 10:26:53 ID:mcBYEIie
>>398

395のCDexの修正は今回の現象には直接は関係ないよ。
今回のことを調べてて、見つけたCDexの不具合を ひっそりの人に報告したら
修正してくれただけ。

--preset standard "%1" "%2"  というように指定した場合は問題なくて

"%1" "%2" --preset standard とか頭に"がくるような指定した場合
%1" "%2 となってエンコードが失敗する不具合の修正だよ。

ダメ文字の問題はlame.exe修正しないと無理。