การตั้งค่า afconvert สำหรับการตั้งค่าการเข้ารหัส iTunes Plus AAC คืออะไร


8

ความท้าทาย

ฉันต้องการแปลงไฟล์ WAV ขนาดใหญ่เป็น AAC โดยใช้การตั้งค่า "iTunes Plus" ใน iTunes iTunes อธิบายการตั้งค่านี้เป็น:

128 kbps (โมโน) / 256 kbps (สเตอริโอ), 44.100 kHz, VBR เหมาะสำหรับ MMX / SSE2

ฉันต้องการทำให้กระบวนการนำเข้านี้เป็นแบบอัตโนมัติ

ลองผิดลองถูก

afconvertเครื่องมือบรรทัดคำสั่งสามารถแปลงระหว่างรูปแบบไฟล์เสียง ฉันได้ลองตั้งค่าบางอย่างแล้วและสิ่งที่ใกล้เคียงที่สุดที่ฉันจะทำได้คือ:

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

ดังนั้น: verbose ( -v) ใช้รูปแบบข้อมูล AAC ( -d aac) เข้ารหัสที่ 256 kbps ( -b 256000) จัดเก็บในรูปแบบไฟล์ Apple MPEG-4 Audio ( -f m4af), ใช้คุณภาพสูงสุด ( -q 127) ใช้ VBR constrained ( -s 2) และเพิ่ม SoundCheck data ไปยังไฟล์

ฉันยังสร้างm4aไฟล์โดยใช้การตั้งค่า iTunes Plus

m4aไฟล์ที่สร้างขึ้นโดยafconvertมีขนาดประมาณเดียวกับไฟล์ iTunes; เล็กกว่า 65536 ไบต์

ผล

โดยใช้afinfoเครื่องมือที่ผมเทียบไฟล์ที่สร้างขึ้นโดย iTunes afconvertเพื่อไฟล์ที่สร้างขึ้นโดย มีความแตกต่างสองอย่างในafinfoเอาต์พุต:

  1. ไฟล์ที่สร้างโดย iTunes นั้นมีขนาดaudio data file offset131072 อันโดยafconvert65536 สิ่งนี้จะอธิบายความแตกต่างของขนาดไฟล์
  2. อย่างใดไฟล์ที่สร้างโดย iTunes มีsound checkค่าแตกต่างจากที่แปลงโดยafconvert:

    • ไฟล์ 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 ไฟล์:

      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
      

    โดยเฉพาะอย่างยิ่งsc peak amplitude msecและsc max perceived power msecค่าแตกต่างกันมาก นี่คือไฟล์อินพุตเดียวกันที่แน่นอนอะไรที่ทำให้เกิดความแตกต่างนี้

คำถาม

มีวิธีใดที่จะได้ผลลัพธ์ที่ใกล้เคียงกับการตั้งค่า "iTunes Plus" หรือไม่

คำตอบ:


6

ฉันมีความหลงไหลแบบเดียวกันและจบลงด้วยการสร้างผู้นำเข้า FLAC-to-iTunes ที่ถอดรหัสไฟล์ FLAC เป็น WAV และนำเข้าสู่ iTunes โดยใช้โปรแกรมเปลี่ยนไฟล์ของ iTunes: https://github.com/cbguder/FLAC2iTunes

ควรง่ายพอที่จะปรับเปลี่ยน FLAC2iTunes เพื่อรองรับอินพุต WAV โดยตรง

สำหรับค่า soundcheck ฉันเปรียบเทียบ iTunes, XLDและ afconvert โดยการเข้ารหัสไฟล์ WAV กับ AAC และถอดรหัสกลับเป็น WAV และเปรียบเทียบข้อมูลเสียงที่ถอดรหัสแล้ว ฉันยังเปรียบเทียบเอาท์พุท afinfo สำหรับไฟล์ที่เข้ารหัส ในขณะที่ค่า souncheck นั้นแตกต่างกันไปสำหรับแต่ละไฟล์ WAV ที่ถอดรหัสแล้วจะเหมือนกันดังนั้นแม้ว่าคุณจะใช้ XLD หรือ Afconvert แต่โอกาสที่ไฟล์ที่ได้จะมีความเหมือนกัน

สำหรับ Afconvert ฉันใช้พารามิเตอร์ที่ Apple แนะนำในคำแนะนำ " Mastered for iTunes " พร้อมไฟล์ CAF ระดับกลาง:

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

สำหรับ XLD ฉันใช้การตั้งค่าเหล่านี้:

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

ขอบคุณฉันไม่ได้ลองคลายการบีบอัดไฟล์ AAC ทั้งสองและเปรียบเทียบการถอดรหัสทั้งสองไฟล์ ฉันยังไม่แน่ใจว่าทำไมsound checkค่าจะแตกต่างกันและสิ่งที่พวกเขาหมายถึงจริง ฉันจะยอมรับคำตอบของคุณ (และ: จริง ๆ แล้วฉันมีไฟล์ FLAC จำนวนมากเช่นกัน ;-))
rdvdijk

2

คุณสามารถใช้ดรอปเล็ต "Mastering For iTunes" ที่มีอยู่ในเว็บไซต์ของ apple

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

ฉันต้องการแก้ไขสคริปต์เพื่อให้ทำงานบน Yosemite / El Capitan แต่มันค่อนข้างเล็กน้อย:

  • แสดงเนื้อหาแพ็คเกจของแอพใน Finder (Applications / Utilities / Master สำหรับ iTunes Droplet)
  • นำทางไปยังเนื้อหา / ทรัพยากร / สคริปต์
  • เปิด main.scpt
  • อัพเดตเวอร์ชันของระบบเปรียบเทียบบรรทัดกับ "10.10" (มีสองบรรทัดที่ต้องการการเปลี่ยนแปลงนี้):

    if systemVersion is less than "10.10" then

  • บันทึก main.scpt

ตอนนี้คุณสามารถลากและวางไฟล์ FLAC หรือ WAV ของคุณไปยังหยดและมันจะสร้างไฟล์ CAFF ระดับกลางตามด้วยไฟล์ iTunes Plus AAC

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

สำหรับผู้ที่สนใจดูเหมือนว่ารูทีนย่อย afconvert ใช้คำสั่งต่อไปนี้ (โปรดสังเกตว่าสิ่งเหล่านี้ถูกดึงออกมาจากบริบทของโค้ดและจะไม่ทำงานตามที่เป็นอยู่):

  • WAV / FLAC เป็น CAFF:

    • ถ้า sampleRate มากกว่า "44100":

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

    • อื่น

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

  • CAFF เพื่อ AAC

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.