Преобразовать библиотеку дорожек WMA к MP3?

Я знаю, что существуют опции, такие как Звуковой Преобразователь для того, чтобы сделать их одна дорожка или каталог за один раз, но там какие-либо инструменты, которые рекурсивно проверят через подкаталоги каталога и преобразуют весь WMA's в MP3?

Я в основном хотел бы выпустить его на своем ~ / Музыка и позволить ему сделать свою вещь без меня вручную имеющий необходимость дать ему один подкаталог за один раз.

28
задан 1 August 2011 в 07:31

11 ответов

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
17
ответ дан 23 November 2019 в 00:54

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

Похож на него, делает точно, что Вы хотите. Примите во внимание, что можно хотеть играть с хромыми флагами, чтобы гарантировать, чтобы Вы получили желаемый уровень качества.

13
ответ дан 23 November 2019 в 00:54

Установите преобразователь аудио 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>Я

2
ответ дан 23 November 2019 в 00:54

Я знаю, что это немного старо, но я изменил сценарий, показанный 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
2
ответ дан 23 November 2019 в 00:54

Для тех, кто ищет версию GUI, которая может выбрать определенные типы файлов: инструмент soundKonverter https: KDE//github.com/HessiJames/soundkonverter спрашивает, какие типы файлов должны быть добавлены к очереди разговора.

Лучшее решение для моего огромного набора Аудиокниги, содержащего mp3/ogg/wma файлы.

1
ответ дан 23 November 2019 в 00:54

Soundcoverter показывает ошибке что-то о модуле Windows Media и Python 2.7

Avconv хорошо работал: avconv-i./song.wma song.mp3

0
ответ дан 23 November 2019 в 00:54

Вот мой выпуск сценария 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, потому что он не изменяет частоту дискретизации, и ему не нужен промежуточный временный файл

1
ответ дан 23 November 2019 в 00:54

Можно также использовать мое приложение... dmMediaConverter в режиме Bulk. Поскольку справка смотрит это видео... вместо видеофайлов, перетаскивает wma. https://www.youtube.com/watch? v=rZR40mdFRoQ&index=1&list=PLwURYFQvHBAtG8wqzyVgOQ1WtEYSkiscO

0
ответ дан 23 November 2019 в 00:54

Установите Soundconverter Install soundconverter

и запустите Soundconverter из модуля запуска или терминала

enter image description here

Преобразование по умолчанию - .ogg изменить это в mp3 перейдя в edit-> Предпочтения в зависимости от типа результатов. Отформатируйте в MP3 следующим образом:

enter image description here

Нажмите «Добавить папку», а затем выберите свою музыкальную папку. Вы можете выбрать выходную папку в приведенной выше конфигурации предпочтений, прежде чем нажимать конвертировать.

Надеюсь, что это будет сделано двумя щелчками мыши:

40
ответ дан 23 November 2019 в 00:54

Вы можете просто использовать ffmpeg для этой цели:

$ shopt -s globstar # enable ** globing support
$ for wma_file in **/*.wma; do
    ffmpeg -i "$wma_file" "${wma_file%%.wma}.mp3"
  done
0
ответ дан 27 April 2020 в 22:49

Я использую WinFF, который по сути является графическим интерфейсом для ffmpeg

sudo apt install winff

Он работает как для аудио, так и для видео.

0
ответ дан 27 April 2020 в 22:57

Другие вопросы по тегам:

Похожие вопросы: