¿Hay alguna forma de convertir archivos de audio en Mac OS X o la línea de comandos sin usar iTunes?

96

Ahora, sé que puedo usar iTunes para convertir música. Pero es bastante doloroso. Todo lo que pregunto es: ¿hay algo integrado en OS X o UNIX para convertir archivos? En este momento, simplemente quiero convertir .mp4 a .mp3 ..

James Litewski
fuente
2
¿Considera los paquetes de código abierto como aplicaciones de terceros? ¿O desea seguir con los productos de Apple que se envían solo con el sistema operativo? ¿Puedes dejar eso claro en tu pregunta?
Sairam
Me gustaría hacerlo con software precargado.
James Litewski
3
Un comentario sobre la solución FFmpeg (falta de reputación). El control de calidad de salida para MP3 se puede hacer a través de codec:a libmp3lamey qscale:a [0-9]opciones (ver FFmpeg wiki ). Por ejemplo, para obtener VBR en un rango de 140-185 kbit / s, utilice: ffmpeg out.mp3 -i in.mp4 -codec: a libmp3lame -qscale: a 4 Esto también se puede usar para reducir el tamaño de los archivos MP3.
trybik

Respuestas:

16

Doug's AppleScripts para iTunes

incluso

Convertir y exportar 2.0

es una colección de scripts útiles que puede ejecutar desde el Finder o la línea de comandos. Por supuesto, todos usan iTunes para procesar datos, pero puede que le resulte más conveniente que tener que usar la GUI de iTunes y los comandos del mouse para convertir archivos.


fuente
¿Cómo ejecutas este script? No veo instrucciones en el sitio.
CoolAJ86
Las instrucciones de instalación y configuración del tipo que proporciona los scripts están aquí: dougscripts.com/itunes/itinfo/downloadfaq.php
77
Nota para aquellos que no saben: esta no es una solución de línea de comandos. Pone un icono en la barra de herramientas de iTunes. Debe seleccionar una colección de canciones y luego seleccionar el guión en el menú desplegable. El valor predeterminado será 256 Kbps para AAC. No se menciona en ninguna parte de la documentación (que pude encontrar), pero puede verlo en el screencast en los últimos 2 o 3 segundos.
CoolAJ86
161

Lo instalé a ffmpegtravés de MacPorts, aunque también está disponible a través de Homebrew ( brew install ffmpeg) o descargué el binario .

Para convertir algo así, (sin preocuparme por la calidad de audio, de la que no sé nada), solo uso:

ffmpeg -i input.mp4 output.mp3

Aquí hay un ejemplo de cómo convertiría un .wavarchivo .mp3desde su sitio web :

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

Aquí hay un ejemplo de cómo encontrar todos los .wavarchivos de más de 50M, convertirlos a mp3 y luego eliminar el wav original (también conocido como modo por lotes, alterar el comando de búsqueda para crear su 'lote')

find . -size +50M -iname *.wav -type f -exec ffmpeg -i {} -codec:a libmp3lame -qscale:a 2 {}.mp3 -y \; -exec /bin/rm {} \;
zpletan
fuente
Gracias por la respuesta fácil. ¿Cómo convertir la lista de archivos? ¿También tiene opciones en serie o en paralelo?
Khaled Annajar
ffmpeg también funciona para convertir ogg a mp3:ffmpeg -i beep.ogg beep.mp3
rgkobashi
32

OS X no se envía con ningún codificador de MP3 aparte del que está en iTunes. Para convertir a audio mpeg4 puede usar el comando CLI afconvert (afconvert -h para las opciones disponibles). Por ejemplo:

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

Puede encontrar ayuda para esta herramienta ejecutando "afconvert --help" ya que "man afconvert" no apunta a una página de manual útil.

Gerry
fuente
1
+1 pero realmente deseo que alguien agregue un puntero a la documentación exhaustiva. Lo hice funcionar a través de prueba y error y conjeturas, pero muchas de las opciones que quizás debería haber estado usando están muy brevemente documentadas.
tripleee
3
La página del manual está al lado de inútil ... :-(
Greenonline
1
Encontré este tutorial para ser informativo. Los argumentos válidos para los formatos de datos y archivos se pueden ver usandoafconvert -hf
chb
5

afconvertNo escribirá. mp3archivos. Aunque aparece en la ayuda como un 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'

Si intentas usarlo:

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

entonces ocurre un error:

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

Como se explica en el MPG3 afconvertido?

'Core Audio puede leer, pero no escribir, archivos MP3 ...'

Terminé usando la respuesta de zpletan e instalé ffmpeg

brew install ffmpeg

y el siguiente script, colocado en el mismo directorio que los archivos .MP4 que quiero convertir. También funciona para archivos con espacios:

#!/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
fuente
Ligera variación en lo anterior, por ejemplo, para arreglar las extensiones: <code>for i in *.m4a; do echo "${i%.*}.mp3" ; ffmpeg -i "$i" "${i%.*}.mp3"; done
Mahesh Neelakanta
3

También está el X Lossless Decoder , un decodificador de audio sin pérdidas para Mac OS X disponible como herramienta de línea de comandos y una aplicación GUI. La versión GUI admite MP3 como formato de salida.

ralf
fuente
1

Compilé libavdesde la fuente para cumplir este propósito. Este es el mismo paquete instalado de forma predeterminada en las últimas versiones de Ubuntu Linux para tutoriales de Ubuntu funciona casi como está en OS X con libav.

Aquí hay algo que hago para convertir MP4 (AAC) a MP3 (usando LAME) usando la línea de comandos y un archivo MAKE (en aras del 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 el número después -jdel makecomando a aproximadamente 1.5x el número de núcleo de su procesador. Mi servidor tenía 24 núcleos, pero -j24me dio un serio cuello de botella de E / S, lo estrangulé -j20y el rendimiento es bastante equilibrado.

Maxthon Chan
fuente
1

No lo había usado en una década, pero me encanta ecasoundconvertir archivos de sonido.

Si ha brewconfigurado:

brew install ecasound

ecasound -i input.mp4 -o output.mp3

No lo he intentado .mp4conmigo mismo, pero debería funcionar .

Yo sólo encontré con esta pregunta cuando se busca convertir waven flac.

Fifi Finance
fuente
1

Con el automatizador, defina un servicio (gracias DIGITALHOBBIT'S MUSIC BLOG por la idea): ingrese la descripción de la imagen aquí

Y el script de shell es el siguiente:

    # -----------------------------
    # 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
fuente
¿Quiso decir aaco mp3en AFCPARAM="-f mp4f -d aac -b 128000"?
John N
-1

En Linux, encuentro que python-audio-tools hace exactamente lo que quiero. Desafortunadamente, no he podido codificarlo en mp3 con OSX . Sin embargo, podría funcionar para ti. No está integrado en OSX, pero es muy liviano y puede convertir prácticamente cualquier par de formatos (o simplemente convertirlo a un archivo más comprimido con el mismo formato).

intuido
fuente