Existe uma maneira de converter arquivos de áudio no Mac OS X ou na linha de comando sem usar o iTunes?

96

Agora, eu sei que posso usar o iTunes para converter músicas. Mas é uma dor. Tudo o que estou perguntando é: Existe algo embutido no OS X ou UNIX para a conversão de arquivos? No momento, eu simplesmente quero converter .mp4 para .mp3 ..

James Litewski
fonte
2
Você considera pacotes de código aberto como aplicativos de terceiros? Ou você deseja usar os produtos Apple fornecidos apenas com o sistema operacional. Você pode deixar isso claro na sua pergunta?
Sairam
Eu gostaria de fazê-lo com software pré-carregado.
James Litewski
3
Um comentário sobre a solução FFmpeg (sem reputação). O controle de qualidade de saída para MP3 pode ser feito via codec:a libmp3lamee qscale:a [0-9]opções (consulte o wiki do FFmpeg ). Por exemplo, para obter o VBR em um intervalo de 140-185 kbit / s, use: ffmpeg out.mp3 -i in.mp4 -codec: um libmp3lame -qscale: a 4 Isso também pode ser usado para reduzir o tamanho dos arquivos MP3.
trybik

Respostas:

16

AppleScripts de Doug para iTunes

Incluindo

Converter e exportar 2.0

é uma coleção de scripts úteis que você pode executar no Finder ou na linha de comando. É claro que todos eles usam o iTunes para processar dados, mas você pode achar mais conveniente do que ter que usar a GUI e os comandos do mouse do iTunes para converter arquivos.


fonte
Como você executa esse script? Não vejo instruções no site.
precisa saber é o seguinte
As instruções de instalação e configuração do cara que fornecem os scripts está aqui: dougscripts.com/itunes/itinfo/downloadfaq.php
7
Nota para aqueles que não sabem: esta não é uma solução de linha de comando. Ele coloca um ícone na barra de ferramentas do iTunes. Você deve selecionar uma coleção de músicas e selecionar o script no menu suspenso. O padrão será 256Kbps para o AAC. Ele não é mencionado em nenhum lugar da documentação (que eu poderia encontrar), mas você pode vê-lo no screencast nos últimos 2 ou 3 segundos.
precisa saber é o seguinte
161

Eu instalei ffmpegvia MacPorts, embora também esteja disponível via Homebrew ( brew install ffmpeg) ou baixe o binário .

Para converter algo assim (sem me preocupar com a qualidade do áudio, sobre o qual não sei nada), apenas uso:

ffmpeg -i input.mp4 output.mp3

Aqui está um exemplo de como você converteria um .wavarquivo para .mp3o site deles :

ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 2 output.mp3 

Aqui está um exemplo de como encontrar todos os .wavarquivos maiores que 50M, convertê-los em mp3 e excluir o wav original (também conhecido como modo de lote - altere o comando find para criar seu 'lote')

find . -size +50M -iname *.wav -type f -exec ffmpeg -i {} -codec:a libmp3lame -qscale:a 2 {}.mp3 -y \; -exec /bin/rm {} \;
zpletan
fonte
Obrigado pela resposta fácil. Como converter lista de arquivos? Também possui opções seriais ou paralelas?
Khaled Annajar
ffmpeg também funciona para converter ogg para mp3:ffmpeg -i beep.ogg beep.mp3
rgkobashi
32

O OS X não é fornecido com nenhum codificador de MP3, exceto o do iTunes. Para converter para áudio mpeg4, você pode usar o comando da CLI afconvert (afconvert -h para opções disponíveis). Por exemplo:

afconvert track.aiff -o track.m4a -q 127 -b 128000 -f m4af -d aac

A ajuda para esta ferramenta pode ser encontrada executando "afconvert --help", pois "man afconvert" não aponta para uma página de manual útil.

Gerry
fonte
1
+1, mas eu realmente gostaria que alguém adicionasse um ponteiro à documentação exaustiva. Consegui fazê-lo funcionar por tentativa, erro e adivinhação, mas muitas das opções que talvez eu devesse estar usando estão muito brevemente documentadas.
tripleee
3
A página de manual fica ao lado de inútil ... :-(
Greenonline
1
Eu achei este tutorial informativo. Argumentos válidos para dados e formatos de arquivo podem ser vistos usandoafconvert -hf
CHB
5

afconvertnão vai escrever. mp3arquivos. Mesmo que esteja listado na ajuda como um formato:

MacBook-Pro:local user$ afconvert -hf
Audio file and data formats:
    '3gpp' = 3GP Audio (.3gp)
               data_formats: 'Qclp' 'aac ' 'aace' 'aacf' 'aach' 'aacl' 
                             'aacp' 'samr' 
    '3gp2' = 3GPP-2 Audio (.3g2)
               data_formats: 'Qclp' 'aac ' 'aace' 'aacf' 'aach' 'aacl' 
                             'aacp' 'samr' 
    'adts' = AAC ADTS (.aac, .adts)
               data_formats: 'aac ' 'aach' 'aacp' 
    'ac-3' = AC3 (.ac3)
               data_formats: 'ac-3' 
    'AIFC' = AIFC (.aifc, .aiff, .aif)
               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 'ulaw' 
                             'alaw' 'MAC3' 'MAC6' 'ima4' 'QDMC' 'QDM2' 
                             'Qclp' 'agsm' 
    'AIFF' = AIFF (.aiff, .aif)
               data_formats: I8 BEI16 BEI24 BEI32 
    'amrf' = AMR (.amr)
               data_formats: 'samr' 
    'm4af' = Apple MPEG-4 Audio (.m4a, .m4r)
               data_formats: 'aac ' 'aace' 'aacf' 'aach' 'aacl' 'aacp' 
                             'alac' 'paac' 
    'm4bf' = Apple MPEG-4 AudioBooks (.m4b)
               data_formats: 'aac ' 'aace' 'aacf' 'aach' 'aacl' 'aacp' 
                             'paac' 
    'caff' = CAF (.caf)
               data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp' 
                             'Qclq' 'aac ' 'aace' 'aacf' 'aach' 'aacl' 
                             'aacp' 'alac' 'alaw' 'dvi8' 'ilbc' 'ima4' 
                             I8 BEI16 BEI24 BEI32 BEF32 BEF64 LEI16 LEI24 
                             LEI32 LEF32 LEF64 'ms\x00\x02' 'ms\x00\x11' 
                             'ms\x001' 'paac' 'samr' 'ulaw' 
    'MPG1' = MPEG Layer 1 (.mp1, .mpeg, .mpa)
               data_formats: '.mp1' 
    'MPG2' = MPEG Layer 2 (.mp2, .mpeg, .mpa)
               data_formats: '.mp2' 
    'MPG3' = MPEG Layer 3 (.mp3, .mpeg, .mpa)
               data_formats: '.mp3'

Se você tentar usá-lo:

/usr/bin/afconvert -d '.mp3' -f MPG3 mysong.MP4 -o mysong.mp3

ocorre um erro:

Error: ExtAudioFileSetProperty ('cfmt') failed ('fmt?')

Como explicado no afconvert MPG3?

'O Core Audio pode ler, mas não gravar, arquivos MP3 ...'

Acabei usando a resposta do zpletan e instalei o ffmpeg

brew install ffmpeg

e o script a seguir, colocado no mesmo diretório que os arquivos .MP4 que desejo converter. Também funciona para arquivos com espaços:

#!/bin/sh -x
for f in *.MP4; do
        /usr/local/Cellar/ffmpeg/2.5.4/bin/ffmpeg -i "$f" "$f.mp3"
#        /usr/bin/afconvert -d '.mp3' -f MPG3 "$f" -o "$f.mp3"
        echo "$f converted"
done
Greenonline
fonte
Pequena variação no exemplo acima, para corrigir as extensões: <code>for i in *.m4a; do echo "${i%.*}.mp3" ; ffmpeg -i "$i" "${i%.*}.mp3"; done
Mahesh Neelakanta
3

Há também o decodificador sem perdas X - um decodificador de áudio sem perdas para Mac OS X disponível como ferramenta de linha de comando e aplicativo GUI. A versão da GUI suporta MP3 como formato de saída.

ralf
fonte
1

Compilei libavda fonte para servir a esse propósito. Este é o mesmo pacote instalado por padrão em versões recentes do Ubuntu Linux para tutoriais para Ubuntu funciona quase como está no OS X com libav.

Aqui está algo que eu faço para converter MP4 (AAC) para MP3 (usando LAME) usando a linha de comando e um makefile (por uma questão de paralelismo):

for each in *.mp4; do mv "$each" "$(echo "$each" | sed "s/ /./g")"; done
cat << EOF > Makefile
MP4_FILES := $(wildcard *.mp4)
MP3_FILES := ${MP4_FILES:.mp4=.mp3}

all: $(MP3_FILES)

%.mp3: %.mp4
    avconv -i $< -c:a libmp3lame $@
EOF
make -j20

Ajuste o número após -jo makecomando para cerca de 1,5x o número do núcleo do processador. Meu servidor tinha 24 núcleos, mas -j24me deu um sério gargalo de IO, reduzi- -j20o e o desempenho é bastante equilibrado.

Maxthon Chan
fonte
1

Eu não o usava há uma década, mas adoro ecasoundconverter arquivos de som.

Se você brewconfigurou:

brew install ecasound

ecasound -i input.mp4 -o output.mp3

Eu não tentei .mp4comigo mesmo, mas deve funcionar .

Acabei de me deparar com essa questão ao procurar converter wavem flac.

fifi finanças
fonte
1

Com o automator, defina um serviço (Agradecemos o BLOG DE MÚSICA DA DIGITALHOBBIT pela idéia): insira a descrição da imagem aqui

E o shell script é o seguinte:

    # -----------------------------
    # DESCRIPTION
    #   Export iTunes Music to another destination to get only MP3 files
    #       - Copy MP3 to Destination
    #       - Convert M4A in MP3 in Destination
    #
    # -----------------------------
    # DATE      : 06-Apr-2017
    # AUTHOR    : JF LE MADEC
    # VERSION   : 1.0
    # -----------------------------

    # Local iTunes Directory
    ITUNDIR="$HOME/Music/iTunes/iTunes Media/Music"

    # binary to convert audio files
    AFCONVERT="afconvert"
    # conversion paramaters
    AFCPARAM="-f mp4f -d aac -b 128000"

    # Audio files suffixes
    # Source
    M4ASUF=".m4a"
    # Destination
    MP3SUF=".mp3"

    # for all directories given in arguments copy music
    for destination in "$@"
    do

        # Copy MP3 files
        find "$ITUNDIR" -name "*$MP3SUF" | while read myMp3File; do
            mp3dir=`dirname "$myMp3File"`
            targetDir="$destination${mp3dir#$ITUNDIR}"
            fileName=`basename "$mp3File"`
            [[ -d "$targetDir" ]] || mkdir -p "$targetDir"
            cp -R "$myMp3File" "$targetDir"
        done

        # Convert and copy M4A files (iTunes native)
        find "$ITUNDIR" -name "*$M4ASUF" | while read m4aFile; do
            #afconvert -f mp4f -d aac -b 128000 "./Vianney/Vianney/11 Le Galopin.m4a"  /Users/jflm/Desktop/output2.mp3
            # Get file info
            m4aDir=`dirname "$m4aFile"`
            targetDir="$destination${m4aDir#$ITUNDIR}"
            fileName=`basename -s $M4ASUF "$m4aFile"`
            # Create parent directories if not exist
            [[ -d "$targetDir" ]] || mkdir -p "$targetDir"

            # Convert audio file directly in destination directory
            $AFCONVERT $AFCPARAM "$m4aFile" "$targetDir/$fileName$MP3SUF"

        done
    done
JFLM
fonte
Você quis dizer aacou mp3entrou AFCPARAM="-f mp4f -d aac -b 128000"?
John N
-1

No linux, acho que o python-audio-tools faz exatamente o que eu quero. Infelizmente, não consegui codificá-lo para mp3 no OSX . Pode funcionar para você, no entanto. Ele não é totalmente incorporado ao OSX, mas é muito leve e pode converter entre praticamente qualquer par de formatos (ou apenas converter em um arquivo mais compactado com o mesmo formato).

intuído
fonte