[〜#〜] arss [〜#〜] のラッパーBashスクリプトを作成して、使いやすくしています。プログラムは画像を音声に、またはその逆に変換しますが、24ビットのBMP画像のみを受け入れます。これは、これまでGIMPを使用してのみ生成できました。
特定の画像を適切なBMPファイルに変換して、ARSSで処理できるようにする方法を探しています。ImageMagicのconvert
を試してみましたが、取得できません24-bt色深度。
これが私のスクリプトです:
#!/bin/bash
# where is ARSS binary?
ARSS="/unfa/Applications/ARSS/arss-0.2.3-linux-binary/arss"
convert "$1" -depth 24 "$1.bmp"
$ARSS --quiet "$1.bmp" "$1.wav" --sample-rate 48000 --format-param 32 --sine --min-freq 20 --max-freq 20000 --pps 250
出力は次のとおりです。
$ ./warss.sh 01.png
The Analysis & Resynthesis Sound Spectrograph 0.2.3
Input file : 01.png.bmp
Output file : 01.png.wav
Wrong BMP format, BMP images must be in 24-bit colour
ご覧のとおり、convert "$1" -depth 24 "$1.bmp"
24ビットの画像を取得するにはBMP=画像ですが、期待どおりに動作しません。
参考までに、GIMPでエクスポートするときに適切なファイルを取得します。
また、ARSSはこのようなBMPファイルを正常に処理します。
ただし、コマンドラインからそれを使用することはできません。GIMPのGUIを使用するたびに、達成しようとしている目的が損なわれます。コマンドをフィードしてGIMPをヘッドレスモードで使用する方法があることを確認しましたが、それが必要かどうかはわかりません。
多分私が知らない単純なものがあるのでしょうか?
ImageMagickフォーラムの投稿 によると、-type truecolor
は、画像を強制的に24ビットにする正しい方法です。
convert "$1" -type truecolor "$1.bmp"