Có cách nào để chuyển đổi tập tin âm thanh trong Mac OS X hoặc dòng lệnh mà không cần sử dụng iTunes không?


96

Bây giờ, tôi biết tôi có thể sử dụng iTunes để chuyển đổi âm nhạc. Nhưng nó khá là đau .. Tất cả những gì tôi hỏi là: Có bất cứ thứ gì được tích hợp trong OS X hoặc UNIX để chuyển đổi tệp không? Ngay bây giờ tôi chỉ đơn giản muốn chuyển đổi .mp4 thành .mp3 ..


2
Bạn có xem các gói nguồn mở là các ứng dụng của bên thứ ba không? Hoặc bạn có muốn gắn bó với các Sản phẩm của Apple chỉ đi kèm với HĐH. Bạn có thể làm rõ điều đó trong câu hỏi của bạn?
Sairam

Tôi muốn làm điều đó với phần mềm được tải sẵn.
James Litewski

3
Một nhận xét về giải pháp FFmpeg (thiếu danh tiếng). Kiểm soát chất lượng đầu ra cho MP3 có thể được thực hiện thông qua codec:a libmp3lameqscale:a [0-9]các tùy chọn (xem wiki FFmpeg ). Chẳng hạn, để có được VBR trong phạm vi 140-185 kbit / s, hãy sử dụng: ffmpeg out.mp3 -i in.mp4 -codec: a libmp3lame -qscale: a 4 Điều này cũng có thể được sử dụng để giảm kích thước tệp MP3.
thử

Câu trả lời:


16

AppleScripts cho iTunes

kể cả

Chuyển đổi và xuất 2.0

là một tập hợp các tập lệnh hữu ích mà bạn có thể chạy từ Finder hoặc dòng lệnh. Tất nhiên tất cả họ đều sử dụng iTunes để xử lý dữ liệu, nhưng bạn có thể thấy thuận tiện hơn là phải sử dụng các lệnh chuột và GUI của iTunes để chuyển đổi tệp.


Làm thế nào để bạn chạy tập lệnh này? Tôi thấy không có hướng dẫn trên trang web.
CoolAJ86

Hướng dẫn cài đặt và cấu hình từ anh chàng cung cấp các tập lệnh có tại đây: dougscripts.com/itunes/itinfo/doadfaq.php

7
Lưu ý cho những người không biết: đây không phải là giải pháp dòng lệnh. Nó đặt một biểu tượng lên trên thanh công cụ iTunes. Bạn phải chọn một tập hợp các bài hát, sau đó chọn tập lệnh từ menu thả xuống. Nó sẽ mặc định là 256Kbps cho AAC. Nó không được đề cập ở bất cứ đâu trong tài liệu (mà tôi có thể tìm thấy), nhưng bạn có thể thấy nó trong đoạn ghi hình trong 2 hoặc 3 giây cuối cùng.
CoolAJ86

161

Tôi đã cài đặt ffmpegqua MacPorts, mặc dù nó cũng có sẵn thông qua Homebrew ( brew install ffmpeg) hoặc tải xuống tệp nhị phân .

Để chuyển đổi một cái gì đó như thế, (mà không phải lo lắng về chất lượng âm thanh, mà tôi không biết gì về nó), tôi chỉ cần sử dụng:

ffmpeg -i input.mp4 output.mp3

Dưới đây là một ví dụ về cách bạn sẽ chuyển đổi một .wavtệp .mp3từ trang web của họ :

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

Dưới đây là một ví dụ về cách tìm tất cả .wavcác tệp lớn hơn 50M, chuyển đổi chúng sang mp3 và sau đó xóa wav gốc (còn gọi là chế độ hàng loạt - thay đổi lệnh find để tạo 'lô' của bạn)

find . -size +50M -iname *.wav -type f -exec ffmpeg -i {} -codec:a libmp3lame -qscale:a 2 {}.mp3 -y \; -exec /bin/rm {} \;

Cảm ơn câu trả lời dễ dàng. Làm thế nào để chuyển đổi danh sách các tập tin? Nó cũng có tùy chọn nối tiếp hoặc song song?
Khaled Annajar

ffmpeg cũng hoạt động để chuyển đổi ogg sang mp3:ffmpeg -i beep.ogg beep.mp3
rgkobashi

32

OS X không xuất xưởng với bất kỳ bộ mã hóa MP3 nào ngoài bộ mã hóa trong iTunes. Để chuyển đổi sang âm thanh mpeg4, bạn có thể sử dụng lệnh CLI afconvert (afconvert -h cho các tùy chọn khả dụng). Ví dụ:

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

Có thể tìm thấy trợ giúp cho công cụ này bằng cách chạy "afconvert --help" vì "man afconvert" không trỏ đến trang hướng dẫn hữu ích.


1
+1 nhưng tôi thực sự muốn ai đó sẽ thêm một con trỏ vào tài liệu đầy đủ. Tôi đã nhận được nó để làm việc thông qua thử nghiệm và lỗi và phỏng đoán, nhưng nhiều tùy chọn mà tôi có lẽ nên sử dụng được ghi lại rất ngắn gọn.
tripleee

3
Các trang người đàn ông là bên cạnh vô dụng ... :-(
Greenonline

1
Tôi tìm thấy hướng dẫn này là thông tin. Có thể xem các đối số hợp lệ cho các định dạng dữ liệu và tệp bằng cách sử dụngafconvert -hf
chb

5

afconvertsẽ không viết. mp3các tập tin. Mặc dù nó được liệt kê trong trợ giúp dưới dạng:

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'

Nếu bạn cố gắng sử dụng nó:

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

sau đó xảy ra lỗi:

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

Như đã giải thích trên afconvert MPG3?

'Core Audio có thể đọc, nhưng không thể ghi, các tệp MP3 ...'

Tôi đã kết thúc bằng cách sử dụng câu trả lời của zpletan và cài đặt ffmpeg

brew install ffmpeg

và tập lệnh sau, được đặt trong cùng thư mục với tệp .MP4 mà tôi muốn chuyển đổi. Nó cũng hoạt động cho các tệp có khoảng trắng:

#!/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

Ví dụ, biến thể nhẹ ở trên để sửa các tiện ích mở rộng: <code>for i in *.m4a; do echo "${i%.*}.mp3" ; ffmpeg -i "$i" "${i%.*}.mp3"; done
Mahesh Neelakanta

3

Ngoài ra còn có Bộ giải mã X lossless - bộ giải mã âm thanh lossless cho Mac OS X có sẵn dưới dạng công cụ dòng lệnh và ứng dụng GUI. Phiên bản GUI hỗ trợ MP3 dưới dạng định dạng đầu ra.


1

Tôi biên dịch libavtừ nguồn để phục vụ mục đích này. Đây là gói tương tự được cài đặt theo mặc định trên các phiên bản Ubuntu Linux gần đây, vì vậy các hướng dẫn cho Ubuntu hoạt động gần như trên OS X với libav.

Dưới đây là một số điều tôi làm để chuyển đổi MP4 (AAC) sang MP3 (sử dụng LAME) bằng cách sử dụng dòng lệnh và tệp tạo tệp (vì mục đích song song):

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

Điều chỉnh số sau -jcủa makelệnh xuống còn khoảng 1.5x số bộ xử lý lõi của bạn. Máy chủ của tôi có 24 lõi nhưng -j24đã khiến tôi bị nghẽn cổ chai nghiêm trọng, điều chỉnh lại -j20và hiệu năng khá cân bằng.


1

Tôi đã không sử dụng nó trong một thập kỷ nhưng tôi thích ecasoundchuyển đổi các tập tin âm thanh.

Nếu bạn đã brewthiết lập:

brew install ecasound

ecasound -i input.mp4 -o output.mp3

Tôi đã không thử nó với .mp4bản thân mình nhưng nó sẽ hoạt động .

Tôi chỉ va vào câu hỏi này khi tìm cách chuyển đổi wavthành flac.


1

Với thiết bị tự động, hãy xác định một dịch vụ (Cảm ơn BLOG MUSIC BLOG cho ý tưởng): nhập mô tả hình ảnh ở đây

Và shell script là như sau:

    # -----------------------------
    # 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

Ý bạn là aachay mp3trong AFCPARAM="-f mp4f -d aac -b 128000"?
John N

-1

Trong linux, tôi thấy python-audio-tools thực hiện chính xác những gì tôi muốn. Thật không may, tôi đã không thể có được nó để mã hóa sang mp3 theo OSX . Nó có thể làm việc cho bạn, mặc dù. Nó hoàn toàn không được tích hợp vào OSX, nhưng nó rất nhẹ và có thể chuyển đổi giữa khá nhiều cặp định dạng (hoặc chỉ chuyển đổi thành tệp nén hơn với cùng định dạng).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.