Theppitak's blog

My personal blog.

12 กรกฎาคม 2548

รีดเพลง MP3

จะครบสองอาทิตย์พอดี ที่ไม่ได้เขียน blog ชีวิตมันจะวุ่นวายอะไรปานนั้น ทำเอาอดนอนไปหลายคืน

วันนี้เบาหน่อย ถือเป็นวันพักผ่อน แต่ก็ไม่ใช่ว่านอนพักอะไร เพียงแต่งานที่ทำเป็นงานเบาๆ หน่อยเท่านั้น คือมีญาติซื้อมือถือใหม่ อยากให้ช่วยเอาเพลงจากซีดีและวีซีดีคาราโอเกะของเขา ถ่ายลงเครื่องไว้ฟังหน่อย ไหนๆ นั่งทำแล้วก็อย่าเสียเปล่า.. บันทึกสรุปวิธีทำซะหน่อย ไว้เตือนความจำ

เริ่มจากการรีดเพลง ถ้าเป็นซีดีเพลง (audio CD) ก็ตรงไปตรงมา คือจะใช้ cdda2wav หรือ cdparanoia ก็ได้:

$ cdparanoia -v 2 02.wav # rip from track 2

ส่วนวีซีดีคาราโอเกะ ก็รีดออกมาเป็น mpeg stream ด้วย vcdxrip ที่มากับแพกเกจ vcdimager ก่อน (ดู blog เก่า ประกอบ):

$ vcdxrip -p -C /dev/cdrom

จากนั้น ก็ใช้ ffmpeg แยกเอาเฉพาะส่วน audio จาก chapter ที่ต้องการออกมาเป็น WAV:

$ ffmpeg -i avseq03.mpg 03.wav # rip from chapter 3

ทำไมต้องทำเป็น WAV ก่อน? เพราะมัน edit ง่ายดี เนื่องจากวีซีดีมักจะมีไตเติลขึ้นมาก่อนเพลง ยิ่งของบางค่ายมี ดู-วี-ดู-วี-ดู มาเต้นโชว์ก่อนเพลงจริงด้วย ก็เลยต้อง edit โดยตัดไตเติลออกก่อน ลองค้นแพกเกจใน debian เจอ WAV editor หลายตัว เลือกไปเลือกมาก็เอา sweep นี่ละ

ทั้งจาก audio CD และจาก VCD ก็ได้เป็น WAV file มา เอามา encode เป็น mp3 เพื่อใช้กับ mp3 player ในมือถือ ก็ใช้ ffmpeg อีกน่ะแหละ หรือจะใช้ lame ก็ได้ (วันนี้เจอ notlame อีกอัน) แต่เพิ่มคุณภาพเสียงเสียหน่อย ด้วยการใช้ bit rate 128 kbit/s:

$ ffmpeg -i 03.wav -ab 128 03.mp3

หรือ:

$ lame -h 03.wav 03.mp3

ความจริง ใช้ sox แปลงก็ได้ ถ้าคอมไพล์ไว้ให้สนับสนุน mp3 (แต่ debian ปิดไป เพื่อเลี่ยงปัญหาสิทธิบัตร และอันที่จริง lame ที่เคยมีอยู่ก็ถูกตัดออกไปด้วยเหมือนกัน):

  $ sox 03.wav 03.mp3
  sox: Sorry, no MP3 encoding support

แต่ถ้ามีเครื่องเล่นที่เล่น ogg (แทน mp3) ได้ ทุกอย่างก็ง่าย จะใช้ sox หรือ oggenc จาก vorbis-tools ก็ได้ ไม่ต้องกลัวว่า distro จะ disable:

$ oggenc 03.wav

ใช้ ogg ปลอดปัญหาสิทธิบัตร หาเครื่องมือ FOSS จัดการง่าย แต่หาเครื่องเล่นที่เป็นฮาร์ดแวร์ยาก :P

0 ความเห็น:

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem