web-dev-qa-db-ja.com

WMAトラックのライブラリをMP3に変換しますか?

サウンドコンバーターなど、一度に1つのトラックまたはディレクトリを実行するオプションがありますが、ディレクトリのサブディレクトリを再帰的にクロールし、すべてのWMAをMP3に変換するツールはありますか?

私は基本的に〜/ Musicでそれを解き放ち、一度に1つのサブディレクトリを手動で与えることなく、そのことをさせたいと思っています。

28
Mike Crittenden

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
16
Rory Alsop

インストール SoundconverterInstall soundconverter

ランチャーまたはターミナルからSoundconverterを実行します

enter image description here

デフォルトの変換は.oggです。これをmp3に変更し、結果のタイプの下でedit-> preferencesに移動します。 Format次のようにMP3に:

enter image description here

[フォルダの追加]をクリックして、音楽フォルダを選択します。変換をクリックする前に、上記の設定で出力フォルダーを選択できます。

これが2回のクリックで行われることを願っています:)

39
Achu

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

まさにあなたが望むことをするように見えます。希望する品質レベルを確実に得るために、ラメフラグをいじる必要がある場合があることに留意してください。

13
David Futcher

これは少し古いことは知っていますが、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
2
V10lator

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

2
Eric Mathison

特定のファイルタイプを選択できるGUIバージョンを探している場合:KDEツールsoundKonverter https://github.com/HessiJames/soundkonverter は、どのファイルタイプを会話キューに追加するかを尋ねます。

Mp3/ogg/wmaファイルを含む私の膨大なAudiobookコレクションに最適なソリューション。

1
tuxflo

以下は、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の方が好きです。

1
Slavik

アプリを使用することもできます... dmMediaConverter 一括モードで。ビデオファイルの代わりにこのビデオを見るには、wmaファイルをドラッグアンドドロップしてください。 https://www.youtube.com/watch?v=rZR40mdFRoQ&index=1&list=PLwURYFQvHBAtG8wqzyVgOQ1WtEYSkiscO

0
mdalacu

Soundcoverterは、Windows MediaモジュールとPython 2.7に関するエラーを表示します

Avconvは正常に動作しました:avconv -i ./song.wma song.mp3

0
mapcuk