การแปลงไฟล์ amr เป็น mp3

มีงานต้องแปลงไฟล์เสียงสกุล amr ไปเป็น mp3 เพื่อแจกจ่าย พบปัญหาว่า

  • เมื่อแปลงแล้วจะเกิดเสียง hiss มาก
  • เสียงต้นฉบับเบามาก
  • lame ไม่รู้จัก amr

ทางแก้ไขคือ

  • ปัญหาเสียง hiss เกิดจากการแปลงด้วยออปชันปกติหรือเพิ่มออปชันที่ไปเพิ่มคุณภาพเสียง แก้ด้วยการใช้ lame โดยใส่ออปชันว่าไม่ต้องพยายามเพิ่มลดอะไรจากต้นฉบับ -q9
  • ปัญหาเสียงเบา แก้ด้วยการ normalize
  • ปัญหา lame ไม่รู้จัก amr แก้ด้วยการแปลงจาก amr เป็น wav ก่อน ด้วย ffmpeg แล้วจึงแปลงเป็น mp3 ด้วย lame

โปรแกรมที่ต้องการใช้งานคือ ffmpeg, normalize-audio, lame จาก debian-multimedia.org

(ผมใช้ squeeze ให้เปลี่ยนตามที่ใช้จริง)

$ sudo vi /etc/apt/sources.list
...
deb http://www.debian-multimedia.org squeeze main non-free
...
$ sudo aptitude update
$ sudo aptitude install ffmpeg normalize-audio lame

คำสั่งที่ใช้คือ

$ for i in *amr; do 
  ffmpeg -i "$i" /tmp/x.wav
  normalize-audio /tmp/x.wav
  lame -q9 /tmp/x.wav "/PATH/TO/NEW/FILE/${i%amr}mp3"
  rm /tmp/x.wav
done

จะได้ไฟล์ mp3 ที่คุณภาพและขนาดไฟล์ใกล้เคียงกับต้นฉบับ amr และไม่มีเสียง hiss ตามต้องการ

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้