หัวข้อนี้จะเป็นตัวอย่างการใช้ Raspberry Pi ต่อกับ USB Microphone เพื่อทำการบันทึกเสียง โดยไฟล์ที่บันทึกได้จะมีนามสกุลเป็น .wav และเราจะทำการแปลงเสียงเป็นฟอร์แมตต่างๆ โดยใช้ ffmpeg อีกทีนะครับ อย่างแรกก็ไปหาซื้อไมโคโฟนที่เป็นแบบ USB และทำการต่อสายต่างๆ ให้เรียบร้อย
ทำการตรวจสอบหมายเลขไอดีและค่าของดีไวซ์ จากรูปจะเห็นว่าค่าของ Mic Capture Volume มี Values=0
1 | amixer --card 1 contents |
ทำการปรับระดับความดังของไมโครโฟนให้ดังสุด (หรือจะไม่สุดก็แล้วแต่) โดยใส่ค่าได้ตั้งแต่ 0 – 16
1 | amixer -c 1 cset numid=2 16 |
ตรวจสอบไอดีของการ์ดที่จะใช้ในการบันทึกเสียง จากรูปเป็นการ์ดหมายเลข 1
1 | arecord -l |
ทำการบันทึกเสียงโดยใช้คำสั่ง arecord โดยมีพารามิเตอร์ดังนี้ -d 5 หมายถึงให้บันทึกเสียงเป็นเวลา 5 วินาทีแล้วหยุด, -D plughw:1 ให้ใช้การ์ดหมายเลข 1, และ test.wav ให้บันทึกเป็นไฟล์ test.wav
1 | arecord -d 5 -f cd -t wav -D plughw:1 test.wav |
เมื่อบันทึกเสร็จ ให้ทดสอบทำการเปิดเสียงที่บันทึกเมื่อสักครู่โดยใช้คำสั่ง aplay
1 | aplay test.wav |
เมื่อได้ไฟล์เสียง .wav มาแล้ว เราสามารถแปลงเป็นฟอร์แมตต่างๆ ได้โดยใช้คำสั่ง ffmpeg ตัวอย่างเราจะแปลงเป็นไฟล์ .mp3 ก็ใช้คำสั่งดังนี้
1 | ffmpeg -i test.wav test.mp3 |
ถ้าเรียกใช้คำสั่ง ffmpeg แล้วไม่มีคำสั่งนี้อยู่ก็ให้ทำการติดตั้ง ffmpeg ก่อนนะครับ
1 | sudo apt-get install ffmpeg |