Apa pengaturan afconvert untuk pengaturan encoding iTunes Plus AAC?

8

Tantangan

Saya ingin mengonversi banyak koleksi file WAV ke AAC menggunakan pengaturan "iTunes Plus" di iTunes. iTunes menjelaskan pengaturan ini sebagai:

128 kbps (mono) / 256 kbps (stereo), 44,100 kHz, VBR, dioptimalkan untuk MMX / SSE2.

Saya ingin mengotomatiskan proses impor ini.

Trial and error

The afconvertalat baris perintah dapat mengkonversi antara format file audio. Saya sudah mencoba beberapa pengaturan dan yang paling dekat yang bisa saya dapatkan adalah:

afconvert -v -d aac -b 256000 -f m4af -q 127 -s 2 --soundcheck-generate input.wav output.m4a

Jadi: menjadi verbose ( -v), gunakan format data AAC ( -d aac), disandikan pada 256 kbps ( -b 256000), simpan dalam format file Audio Apple MPEG-4 ( -f m4af), gunakan kualitas tertinggi ( -q 127), gunakan VBR yang dibatasi ( -s 2) dan tambahkan SoundCheck data ke file.

Saya juga membuat m4afile menggunakan pengaturan iTunes Plus.

The m4afile yang dibuat oleh afconvertadalah tentang ukuran yang sama dengan iTunes berkas; hanya 65536 byte lebih kecil.

Hasil

Dengan menggunakan afinfoalat ini, saya membandingkan file yang dihasilkan oleh iTunes dengan file yang dihasilkan oleh afconvert. Ada dua perbedaan dalam afinfooutput:

  1. File yang dihasilkan oleh iTunes memiliki audio data file offset131072, yang oleh afconvert65536. Ini menjelaskan perbedaan dalam ukuran file
  2. Entah bagaimana file yang dihasilkan oleh iTunes memiliki sound checknilai yang berbeda dari yang dikonversi oleh afconvert:

    • File iTunes:

      sc ave perceived power coeff             343 407
      sc max perceived power coeff             6873 8940
      sc peak amplitude msec                   154389 194861
      sc max perceived power msec              194025 194025
      sc peak amplitude                        31129 30928
      
    • afconvert mengajukan:

      sc ave perceived power coeff             341 388
      sc max perceived power coeff             6087 4157
      sc peak amplitude msec                   212509 152323
      sc max perceived power msec              215481 185017
      sc peak amplitude                        31024 29857
      

    Terutama sc peak amplitude msecdan sc max perceived power msecnilainya berbeda cukup banyak. Ini adalah file input yang sama persis, apa yang dapat menyebabkan perbedaan ini?

Pertanyaan

Apakah ada cara untuk mendapatkan hasil yang lebih dekat dengan pengaturan "iTunes Plus"?

rdvdijk
sumber

Jawaban:

6

Saya memiliki obsesi yang sama persis, dan akhirnya menciptakan importir FLAC-ke-iTunes yang menerjemahkan file FLAC ke WAV dan mengimpornya ke iTunes menggunakan encoder iTunes sendiri: https://github.com/cbguder/FLAC2iTunes

Seharusnya cukup mudah untuk memodifikasi FLAC2iTunes untuk mendukung input WAV langsung.

Adapun nilai-nilai soundcheck, saya membandingkan iTunes, XLD dan afconvert dengan menyandikan file WAV ke AAC dan mendekode kembali ke WAV dan membandingkan data audio yang diterjemahkan. Saya juga membandingkan keluaran afinfo untuk file yang disandikan. Sementara nilai souncheck berbeda untuk setiap file, WAV yang didekodekan sama persis, jadi meskipun Anda menggunakan XLD atau afconvert, kemungkinan file yang dihasilkan akan terdengar sama persis.

Untuk afconvert, saya menggunakan parameter yang disarankan oleh Apple dalam panduan " Mastered for iTunes ", dengan file CAF perantara:

afconvert source.wav intermediate.caf -d 0 -f caff --soundcheck-generate
afconvert intermediate.caf -d aac -f m4af -u pgcm 2 --soundcheck-read -b 256000 -q 127 -s 2 final.m4a

Untuk XLD, saya menggunakan pengaturan ini:

Format: MPEG-4 AAC
Mode: VBR (Constrained)
Encoder Quality: Max
Sample Rate: Auto
Target bitrate: 256 kbps
Add gapless information for iTunes: checked
Write accurate bitrate information: checked
Bisa Berk Güder
sumber
Terima kasih, saya belum mencoba mendekompresi dua file AAC dan membandingkan dua file yang diterjemahkan. Saya masih tidak yakin mengapa sound checknilainya akan berbeda, dan apa artinya sebenarnya. Saya akan menerima jawaban Anda. (Dan: Saya sebenarnya punya banyak file FLAC juga ;-))
rdvdijk
2

Anda dapat menggunakan droplet "Mastering For iTunes" yang tersedia di situs web apple.

http://www.apple.com/itunes/mastered-for-itunes/

Saya memang perlu memodifikasi skrip untuk dijalankan di Yosemite / El Capitan, tapi itu cukup sepele:

  • Tampilkan konten paket aplikasi di Finder (Aplikasi / Utilitas / Master untuk iTunes Droplet).
  • Arahkan ke Konten / Sumber Daya / Skrip
  • Buka main.scpt
  • Perbarui versi sistem bandingkan baris ke "10.10" (ada dua baris yang memerlukan perubahan ini):

    if systemVersion is less than "10.10" then

  • Simpan main.scpt

Sekarang Anda cukup drag dan drop file FLAC atau WAV Anda ke tetesan dan itu akan membuat file CAFF menengah diikuti oleh file iTunes Plus AAC.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Bagi yang berminat, sepertinya subrutin afconvert menggunakan perintah berikut (perhatikan ini ditarik keluar dari konteks kode dan tidak akan berjalan apa adanya):

  • WAV / FLAC ke CAFF:

    • jika sampleRate lebih besar dari "44100":

    afconvert -d LEF32@44100 -f caff --soundcheck-generate --src-complexity bats -r 127

    • lain

    afconvert -d 0 -f caff --soundcheck-generate

  • CAFF ke AAC

    afconvert -d aac -f m4af -u pgcm 2 --soundcheck-read -b 256000 -q 127 -s 2

niagarajohn
sumber