Search Bloguru posts

takeの電気式日記

https://en.bloguru.com/take

EAC エラーなし音源抽出対策 2022.03.28

thread
EAC(Exact Audio Copy)を使用してCDからFLAC抽出した音源を聴いてみて、
所々曲の途中で無音の所があるのに少し前から気付いていたけど、
たまたま2曲続けて無音部のある音源に当たり、
ちゃんとエラー回避して抽出しないといけないと思った。

どうすればエラー回避して正しい音源の抽出できるのか調べると、
EACの「ドライブオプション」-「取り込み方法」-「セキュアモード」にすれば良い事がわかった。

試しに「セキュアモード」で抽出してみると、正しい音源抽出はできるものの、とても遅い。
CDドライブの読み込みスピードが、1.5~2.0倍速程度しか出ない。
抽出速度が速い「バーストモード」だと2.0~8.0倍程度で比較的速い。
今までは「バーストモード」で抽出していたので、できるならバーストモードを使いたい。
でも、長い無音ができるのは避けたい。

今度は「速くエラーの無い音源を抽出」する方法を調べてみると、
バーストモードで抽出し、抽出した時に作成されるログファイルを見てエラーが無ければ
その音源を採用し、エラーありなら対象曲を再抽出する事で対処しているらしいので、
その方法でやってみようと思います。

ログファイルを目視確認するのは手間なので、自動確認するバッチを作り、
エラーなしならOK、エラーありならNG表示するようにしました。
これで不都合あるのか不明ですが、とりあえずやってみます。


蛇足として、
EACで作られたログファイル形式は「Unicode」、バッチファイル形式は「UTF-8」で、
形式が違う為、バッチファイルからはログファイルを正しく判定できません。
ちょっと思案して、
ログファイルをバッチファイル内で「Unicode」→「SJIS」変換(DOSのTYPEコマンドでリダイレクト)
バッチファイルを「SJIS」で保存した事で、ログファイルを正しく判定できるようになりました。

-----------------------------------------------------
バッチファイル・記述例(要SJIS保存)
-----------------------------------------------------
cd /D %~dp0
@echo off
cls

rem 変数定義
set LOG1=sample1.log
set LOG2=sample2.txt
set STR1=エラーは発生しませんでした

rem 前の作業ログを削除
if exist %LOG1% (del /q %LOG1%)
if exist %LOG2% (del /q %LOG2%)

rem SJIS変換
type *.log > %LOG1%

rem FLAC抽出ログが正常か判断する
findstr %STR1% %LOG1% > %LOG2%
for %%F in (%LOG2%) do (
REM ログが 0バイト ならエラーあり
if %%~zF==0 (
echo *** NG ***
) else (
echo ○●○ OK ○●○
)
)
echo.
if exist %LOG1% (del /q %LOG1%)
if exist %LOG2% (del /q %LOG2%)
pause
exit

People Who Wowed This Post

雪ちらし 2022.03.28

thread
今日は庭の少し残った雪を砕いて日向に散らした。
この雪が解けたら、ようやく春かな。

People Who Wowed This Post

  • If you are a bloguru member, please login.
    Login
  • If you are not a bloguru member, you may request a free account here:
    Request Account
Happy
Sad
Surprise