Я знаю, что существуют опции, такие как Звуковой Преобразователь для того, чтобы сделать их одна дорожка или каталог за один раз, но там какие-либо инструменты, которые рекурсивно проверят через подкаталоги каталога и преобразуют весь WMA's в MP3?
Я в основном хотел бы выпустить его на своем ~ / Музыка и позволить ему сделать свою вещь без меня вручную имеющий необходимость дать ему один подкаталог за один раз.
MPlayer, вероятно, уже установлен. Также убедитесь, что у вас есть lame:
sudo apt-get install mplayer lame
Тогда есть два способа сделать это: простая для чтения версия и короткий и грязный скрипт для этого:
Все 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
Mplayer и Ламе должны быть установлены сначала:
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
Похож на него, делает точно, что Вы хотите. Примите во внимание, что можно хотеть играть с хромыми флагами, чтобы гарантировать, чтобы Вы получили желаемый уровень качества.
Установите преобразователь аудио 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>
Я
Я знаю, что это немного старо, но я изменил сценарий, показанный 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
Для тех, кто ищет версию GUI, которая может выбрать определенные типы файлов: инструмент soundKonverter https: KDE//github.com/HessiJames/soundkonverter спрашивает, какие типы файлов должны быть добавлены к очереди разговора.
Лучшее решение для моего огромного набора Аудиокниги, содержащего mp3/ogg/wma файлы.
Soundcoverter показывает ошибке что-то о модуле Windows Media и Python 2.7
Avconv хорошо работал: avconv-i./song.wma song.mp3
Вот мой выпуск сценария Marko Haapala, с помощью ffmpeg:
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 в режиме Bulk. Поскольку справка смотрит это видео... вместо видеофайлов, перетаскивает wma. https://www.youtube.com/watch? v=rZR40mdFRoQ&index=1&list=PLwURYFQvHBAtG8wqzyVgOQ1WtEYSkiscO
Установите Soundconverter
и запустите Soundconverter
из модуля запуска или терминала
Преобразование по умолчанию - .ogg
изменить это в mp3
перейдя в edit-> Предпочтения
в зависимости от типа результатов. Отформатируйте
в MP3 следующим образом:
Нажмите «Добавить папку», а затем выберите свою музыкальную папку. Вы можете выбрать выходную папку в приведенной выше конфигурации предпочтений, прежде чем нажимать конвертировать.
Надеюсь, что это будет сделано двумя щелчками мыши:
Вы можете просто использовать ffmpeg для этой цели:
$ shopt -s globstar # enable ** globing support
$ for wma_file in **/*.wma; do
ffmpeg -i "$wma_file" "${wma_file%%.wma}.mp3"
done
Я использую WinFF, который по сути является графическим интерфейсом для ffmpeg
sudo apt install winff
Он работает как для аудио, так и для видео.