Daily Archives: 2003/02/08

Bookmark

Webストーリー続々更新 ジュエリー最新作『ダイヤの約束~逢いたくて~』

14 分 13 秒。意外と中身がありました。

スケルちゃんとスクムちゃん 透明観覧車お目見え

ベンチも透明。

Read more »

雑記

SNOW の BGM をローカルにコピー後、リネームして mp3 エンコードする bat を書いてみますた。コマンドプロンプト (cmd.exe) でまず cmd /v:on を実行して遅延環境変数展開を有効にしないと不幸です。例外上等、エラーフリー前提で。見てくれ最悪ですが走ればいいんです。ていうかもうどうでもいい。書き忘れてましたが 2k / XP 環境用です。


@echo off
rem SNOW のディスクがあるドライブ
set SrcDrv=k
rem 格納先ディレクトリをフルパスで指定
set DistDir=f:\bgm\
rem Lame.exe をフルパスで指定
set Lame=d:\lame\lame.exe
rem lameのオプション
set LameOpt=-b 256 -m s -p -c -V 0 -B 320 -q 0 --interch 0.0005 --ty 2003 --tg Game --tl SNOW
rem トラックナンバーの初期値
set BgmNo=1
set BgmPno=2
rem トラック名
set bgm01=飛龍
set bgm02=SNOW
set bgm03=冬景色
set bgm04=さんぽ
set bgm05=疾風
set bgm06=やすらぎ
set bgm07=いつでも一緒
set bgm08=古の夕焼け
set bgm09=消える温もり
set bgm10=記憶の棘
set bgm11=小さき祈り
set bgm12=雪のかなた
set bgm13=陽だまり
set bgm14=約束
set bgm15=天真爛漫
set bgm16=儚雪
set bgm17=銀世界
set bgm18=閉ざされた扉
set bgm19=不穏
set bgm20=雪花
set bgm21=白銀の小箱
set bgm22=空の揺りかご
set bgm23=ふたりの足跡
echo えぅ~
copy %SrcDrv%:\bgm\*.bgm %DistDir%
echo コピー終了
cd/d %DistDir%
ren t10.bgm t010.bgm
echo エンコ開始
for /l %%i in (1,1,23) do (call :rename)
echo エンコ終了
goto :eof
:rename
if %BgmNo% LSS 10 (
set BgmTitle=!bgm0%BgmNo%!
ren t0%BgmPno%.bgm "0%BgmNo% !BgmTitle!.wav"
if %BgmNo% EQU 2 (%lame% %lameopt% --tn %BgmNo% --tt !BgmTitle! --id3v2-only --ta 松澤由美 --tc "SNOW オープニングテーマ 作詞/Studio Mebius 作曲/I've Sound 編曲/I've Sound" "0%BgmNo% !BgmTitle!.wav" "0%BgmNo% !BgmTitle!.mp3"
)else (%lame% %lameopt% --tn %BgmNo% --tt !BgmTitle! --tc "SNOW BGM" "0%BgmNo% !BgmTitle!.wav" "0%BgmNo% !BgmTitle!.mp3")
set /a BgmNo=BgmNo+1
set /a BgmPno=BgmNo+1
) else (set BgmTitle=!bgm%BgmNo%!
ren t%BgmPno%.bgm "%BgmNo% !BgmTitle!.wav"
if  %BgmNo% EQU 12 (%lame% %lameopt% --tn %BgmNo% --tt !BgmTitle! --id3v2-only --ta 松澤由美 --tc "SNOW legend 編エンディングテーマ 作詞/Studio Mebius 作曲/T&N Music Factory 編曲/I've Sound" "%BgmNo% !BgmTitle!.wav" "%BgmNo% !BgmTitle!.mp3"&&goto :Cnt
)else (goto :r1)
)
goto :eof
:r1
if  %BgmNo% EQU 22 (%lame% %lameopt% --tn %BgmNo% --tt !BgmTitle! --id3v2-only --ta 雪月澄乃 --tc "SNOW 挿入歌 作詞/作曲/編曲/Studio Mebius" "%BgmNo% !BgmTitle!.wav" "%BgmNo% !BgmTitle!.mp3"&&goto :Cnt
)else (goto :r2)
goto :Cnt
:r2
if  %BgmNo% EQU 23 (%lame% %lameopt% --tn %BgmNo% --tt !BgmTitle! --id3v2-only --ta 松澤由美 --tc "SNOW エンディングテーマ 作詞/Studio Mebius 作曲/I've Sound 編曲/I've Sound" "%BgmNo% !BgmTitle!.wav" "%BgmNo% !BgmTitle!.mp3"
)else (%lame% %lameopt% --tn %BgmNo% --tt !BgmTitle! --tc "SNOW BGM" "%BgmNo% !BgmTitle!.wav" "%BgmNo% !BgmTitle!.mp3")
goto :Cnt
:Cnt
set /a BgmNo=BgmNo+1
set /a BgmPno=BgmNo+1
goto :eof

for や if をネストできない (ことがよくある) わ、改行位置の違いで else の使い方が違いますとか言われるわ、変数展開に癖はあるわで面倒でした。手作業でやれば 10 分で終わるようなことに数時間かけてる時点で無意味。素直に WSH でも使えってことでしょう。
タグ付きエンコードが不要ならリネーム後に for %%V in (*.wav) do %lame% [Lame-Option] "%%V" "%%~dpV%%~nV.mp3" とでもした方が多分効率よいです。