サウンドコンバーターなど、一度に1つのトラックまたはディレクトリを実行するオプションがありますが、ディレクトリのサブディレクトリを再帰的にクロールし、すべてのWMAをMP3に変換するツールはありますか?
私は基本的に〜/ Musicでそれを解き放ち、一度に1つのサブディレクトリを手動で与えることなく、そのことをさせたいと思っています。
MPlayerはすでにインストールされている可能性があります。また、足の不自由さを確認してください:
Sudo apt-get install mplayer lame
次に、2つの方法があります。読みやすいバージョンと、短くて汚いスクリプトです。
すべてのwmaは現在のディレクトリにある必要があります。以下を含むwmamp3というファイルをホームディレクトリ(〜/)に作成します。
#!/bin/bash
current_directory=$( pwd )
#remove spaces
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done
#remove uppercase
for i in *.[Ww][Mm][Aa]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done
#Rip with Mplayer / encode with LAME
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -ao pcm:waveheader $i && lame -m s audiodump.wav -o $i; done
#convert file names
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
#cleanup
rm audiodump.wav
chmod +x ~/wmamp3
実行可能にする
Sudo cp ~/wmamp3 /usr/bin
は、パス上のどこか便利な場所にポップします
「wmamp3」と入力して、変換を実行します。
短くて汚いバージョン(上記とまったく同じです):
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -ao pcm:waveheader "$i" && lame -m j -h --vbr-new -b 160 audiodump.wav -o "`basename "$i" .wma`.mp3"; done; rm -f audiodump.wav
インストール Soundconverter
ランチャーまたはターミナルからSoundconverter
を実行します
デフォルトの変換は.ogg
です。これをmp3
に変更し、結果のタイプの下でedit-> preferences
に移動します。 Format
次のようにMP3に:
[フォルダの追加]をクリックして、音楽フォルダを選択します。変換をクリックする前に、上記の設定で出力フォルダーを選択できます。
これが2回のクリックで行われることを願っています:)
Mplayerとlameを最初にインストールする必要があります。
Sudo apt-get install mplayer lame
次に、スクリプトを作成し( 参照ページ )、実行します。
#!/bin/bash
# By Marko Haapala
# converts wma to mp3 recursively. does not delete any static files, so
# cleanup and renaming is needed afterwards.
#
# requirements:
# lame - http://lame.sourceforge.net/download.php
# mplayer - apt-get install mplayer or http://www.mplayerhq.hu/design7/dload.html
current_directory=$(pwd)
wma_files=$(find "${current_directory}" -type f -iname "*.wma")
# Need to change IFS or files with filenames containing spaces will not
# be handled correctly by for loop
IFS=$'\n'
for wma_file in ${wma_files}; do
mplayer -vo null -vc dummy -af resample=44100 \
-ao pcm -ao pcm:waveheader "${wma_file}" && lame -m s \
audiodump.wav -o "${wma_file}".mp3
rm audiodump.wav
done
まさにあなたが望むことをするように見えます。希望する品質レベルを確実に得るために、ラメフラグをいじる必要がある場合があることに留意してください。
これは少し古いことは知っていますが、David Futcherが示したスクリプトを変更しました。変更点は次のとおりです。
一時的なwavファイルには、現在のフォルダーの代わりに/tmp
を使用します(これを使用してUSBスティック上のファイルを変換すると、大幅に高速化されました)。
(うまくいけば)変換された後、wmaファイルを削除します。
ここにあります:
#!/bin/bash
# By Marko Haapala
# converts wma to mp3 recursively. does not delete any static files, so
# cleanup and renaming is needed afterwards.
#
# Modified by V10lator
# to delete the wma files and to use /tmp for temporary files
#
# requirements:
# lame - http://lame.sourceforge.net/download.php
# mplayer - apt-get install mplayer or http://www.mplayerhq.hu/design7/dload.html
current_directory=$(pwd)
tmp_file=$(mktemp -t -u --suffix=.wav)
wma_files=$(find "${current_directory}" -type f -iname "*.wma")
# Need to change IFS or files with filenames containing spaces will not
# be handled correctly by for loop
IFS=$'\n'
for wma_file in ${wma_files}; do
mplayer -vo null -vc dummy -af resample=44100 \
-ao pcm -ao pcm:waveheader -ao pcm:file="${tmp_file}" \
"${wma_file}" && lame -m s "${tmp_file}" \
-o "${wma_file}".mp3 && rm "${wma_file}"
rm "${tmp_file}"
done
Perlオーディオコンバーター(pacpl)をインストールします。Sudo apt-get install pacpl
このコマンドは、指定されたディレクトリ内のすべてのwmaファイルをmp3ファイルに変換します(元のファイルはそのまま残します)。
pacpl -r -to mp3 -only wma <directory name>
危険を感じている場合は、--delete
オプションを追加して元のファイルも削除できます。
pacpl -r --delete -to mp3 -only wma <directory name>
I
特定のファイルタイプを選択できるGUIバージョンを探している場合:KDEツールsoundKonverter https://github.com/HessiJames/soundkonverter は、どのファイルタイプを会話キューに追加するかを尋ねます。
Mp3/ogg/wmaファイルを含む私の膨大なAudiobookコレクションに最適なソリューション。
以下は、ffmpegを使用したMarko Haapalaスクリプトの私のエディションです。
current_directory=$(pwd)
wma_files=$(find "${current_directory}" -type f -iname "*.wma")
# Need to change IFS or files with filenames containing spaces will not
# be handled correctly by for loop
# Also, it must be run as root to correctly handle spaces on Ubuntu 16
IFS=$'\n'
for wma_file in ${wma_files}; do
ffmpeg -i "${wma_file}" -q:a 0 "${wma_file}".mp3
#uncomment rm below to delete original wma's
#rm "${wma_file}"
done
サンプルレートを変更せず、中間の一時ファイルを必要としないため、ffmpegの方が好きです。
アプリを使用することもできます... dmMediaConverter 一括モードで。ビデオファイルの代わりにこのビデオを見るには、wmaファイルをドラッグアンドドロップしてください。 https://www.youtube.com/watch?v=rZR40mdFRoQ&index=1&list=PLwURYFQvHBAtG8wqzyVgOQ1WtEYSkiscO
Soundcoverterは、Windows MediaモジュールとPython 2.7に関するエラーを表示します
Avconvは正常に動作しました:avconv -i ./song.wma song.mp3