WMA 트랙 라이브러리를 MP3로 변환하시겠습니까?

WMA 트랙 라이브러리를 MP3로 변환하시겠습니까?

한 번에 하나의 트랙이나 디렉터리를 수행할 수 있는 Sound Converter와 같은 옵션이 있다는 것을 알고 있지만 디렉터리의 하위 디렉터리를 반복적으로 크롤링하고 모든 WMA를 MP3로 변환하는 도구가 있습니까?

나는 기본적으로 그것을 내 ~/Music에 놓아서 한 번에 하나의 하위 디렉터리를 수동으로 제공할 필요 없이 해당 작업을 수행하도록 하고 싶습니다.

답변1

설치하다사운드 변환기 사운드 변환기 설치

Soundconverter런처 또는 터미널에서 실행

여기에 이미지 설명을 입력하세요

기본 변환은 .ogg이를 결과 유형 아래 mp3로 변경하는 것입니다. 다음과 같이 MP3에:edit-> preferencesFormat

여기에 이미지 설명을 입력하세요

폴더 추가를 클릭한 다음 음악 폴더를 선택하세요. 변환을 클릭하기 전에 위 기본 설정 구성에서 출력 폴더를 선택할 수 있습니다.

두 번의 클릭으로 이 작업이 완료되기를 바랍니다. :)

답변2

MPlayer가 이미 설치되어 있을 가능성이 높습니다. 또한 절름발이가 있는지 확인하십시오.

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

답변3

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

정확히 원하는대로 작동하는 것 같습니다. 원하는 품질 수준을 얻기 위해 lame 플래그를 조작할 수도 있다는 점을 명심하세요.

답변4

나는 이것이 약간 오래되었다는 것을 알고 있지만 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

관련 정보