XMPを使用したモジュールファイルのバッチ変換

XMPを使用したモジュールファイルのバッチ変換

多数の.MODファイルと.XMファイルをWave形式に変換する次のスクリプトがあります。

#!/bin/bash

for f in ./XM.* ./MOD.*
    do
    xmp $f -d wav -o - | ffmpeg -i - -acodec libmp3lame -ab 320k "$f.mp3"
done

しかし、期待どおりに動作しません。プログラムが停止します。 .wavファイルを生成しますが、それ以上ではありません。 (記録されていません) -vvv スイッチも情報を提供しません。奇妙なことは、「strace」を前に付けると正しく機能することです。

どんなアイデアや解決策がありますか?

ベストアンサー1

おそらくstdinがttyではないので、xmpは混乱する可能性がありますか?あなたは試すことができます:

xmp $f -d wav -o - </dev/null | ffmpeg -i - -acodec libmp3lame -ab 320k "$f.mp3"

また、パラメーターの順序は次のようにする必要があります。

xmp -d wav -o - "$f" </dev/null | ffmpeg -i - -acodec libmp3lame -ab 320k "$f.mp3"

ffmpegの代わりにxmp 4.0.6とavconvを使用するUbuntu 14.04では、-d wav以降のオプションで順序を使用する必要があります。それ以外の場合は、生が使用されます。

xmp -o - -d wav "$f" | avconv -i - -b 320k "$f.mp3"

おすすめ記事