サウンドコンバーターなど、一度に1つのトラックまたはディレクトリを実行するオプションがありますが、ディレクトリのサブディレクトリを再帰的にクロールし、すべてのWMAをMP3に変換するツールはありますか?
私は基本的に〜/ Musicでそれを解き放ち、一度に1つのサブディレクトリを手動で指定することなく、それを実行させたいと思います。
サウンドコンバーターなど、一度に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
-ao pcm -waveheader
して-ao pcm:waveheader
。
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が示したスクリプトを変更しました。変更点は次のとおりです。
/tmp
一時wavファイルに現在のフォルダーの代わりに使用します(これを使用して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
-o "${wma_file}".mp3 && rm "${wma_file}" "${tmp_file}"
これにより、rmの別のexecがないため、処理速度がわずかに向上します。
特定のファイルタイプを選択できる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