12 KiB
ตั้งค่าไมโครโฟนและลำโพง - Raspberry Pi
ในส่วนนี้ของบทเรียน คุณจะเพิ่มไมโครโฟนและลำโพงให้กับ Raspberry Pi ของคุณ
ฮาร์ดแวร์
Raspberry Pi ต้องการไมโครโฟน
เนื่องจาก Pi ไม่มีไมโครโฟนในตัว คุณจะต้องเพิ่มไมโครโฟนภายนอก มีหลายวิธีในการทำเช่นนี้:
- ไมโครโฟน USB
- ชุดหูฟัง USB
- ลำโพงแบบรวมไมโครโฟน USB
- อะแดปเตอร์เสียง USB และไมโครโฟนที่มีแจ็ค 3.5 มม.
- ReSpeaker 2-Mics Pi HAT
💁 ไมโครโฟน Bluetooth ไม่ได้รองรับทั้งหมดบน Raspberry Pi ดังนั้นหากคุณมีไมโครโฟนหรือชุดหูฟัง Bluetooth คุณอาจพบปัญหาในการจับคู่หรือบันทึกเสียง
Raspberry Pi มาพร้อมกับแจ็คหูฟัง 3.5 มม. คุณสามารถใช้แจ็คนี้เชื่อมต่อหูฟัง ชุดหูฟัง หรือ ลำโพงได้ นอกจากนี้คุณยังสามารถเพิ่มลำโพงโดยใช้:
- เสียง HDMI ผ่านจอภาพหรือทีวี
- ลำโพง USB
- ชุดหูฟัง USB
- ลำโพงแบบรวมไมโครโฟน USB
- ReSpeaker 2-Mics Pi HAT พร้อมลำโพงที่เชื่อมต่อผ่านแจ็ค 3.5 มม. หรือพอร์ต JST
เชื่อมต่อและตั้งค่าไมโครโฟนและลำโพง
ไมโครโฟนและลำโพงต้องถูกเชื่อมต่อและตั้งค่าให้ถูกต้อง
งาน - เชื่อมต่อและตั้งค่าไมโครโฟน
-
เชื่อมต่อไมโครโฟนโดยใช้วิธีที่เหมาะสม เช่น เชื่อมต่อผ่านพอร์ต USB หนึ่งในพอร์ต
-
หากคุณใช้ ReSpeaker 2-Mics Pi HAT คุณสามารถถอด Grove base hat ออก แล้วติดตั้ง ReSpeaker hat แทนที่
คุณจะต้องใช้ปุ่ม Grove ในบทเรียนนี้ แต่ปุ่มหนึ่งได้ถูกติดตั้งใน hat นี้แล้ว ดังนั้นจึงไม่จำเป็นต้องใช้ Grove base hat
เมื่อ hat ถูกติดตั้งแล้ว คุณจะต้องติดตั้งไดรเวอร์ ดูคำแนะนำการเริ่มต้นใช้งานได้ที่ Seeed getting started instructions สำหรับคำแนะนำในการติดตั้งไดรเวอร์
⚠️ คำแนะนำใช้
git
เพื่อโคลน repository หากคุณยังไม่มีgit
ติดตั้งใน Pi ของคุณ คุณสามารถติดตั้งได้โดยรันคำสั่งต่อไปนี้:sudo apt install git --yes
-
รันคำสั่งต่อไปนี้ใน Terminal บน Pi หรือเชื่อมต่อผ่าน VS Code และ remote SSH session เพื่อดูข้อมูลเกี่ยวกับไมโครโฟนที่เชื่อมต่อ:
arecord -l
คุณจะเห็นรายการไมโครโฟนที่เชื่อมต่อ มันจะมีลักษณะดังนี้:
pi@raspberrypi:~ $ arecord -l **** List of CAPTURE Hardware Devices **** card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0
หากคุณมีไมโครโฟนเพียงตัวเดียว คุณควรเห็นเพียงรายการเดียว การตั้งค่าไมโครโฟนอาจซับซ้อนใน Linux ดังนั้นการใช้ไมโครโฟนเพียงตัวเดียวและถอดตัวอื่นออกจะง่ายที่สุด
จดหมายเลขการ์ดไว้ เพราะคุณจะต้องใช้ในภายหลัง ในตัวอย่างข้างต้น หมายเลขการ์ดคือ 1
งาน - เชื่อมต่อและตั้งค่าลำโพง
-
เชื่อมต่อลำโพงโดยใช้วิธีที่เหมาะสม
-
รันคำสั่งต่อไปนี้ใน Terminal บน Pi หรือเชื่อมต่อผ่าน VS Code และ remote SSH session เพื่อดูข้อมูลเกี่ยวกับลำโพงที่เชื่อมต่อ:
aplay -l
คุณจะเห็นรายการลำโพงที่เชื่อมต่อ มันจะมีลักษณะดังนี้:
pi@raspberrypi:~ $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0
คุณจะเห็น
card 0: Headphones
เสมอ เนื่องจากนี่คือแจ็คหูฟังในตัว หากคุณเพิ่มลำโพงเพิ่มเติม เช่น ลำโพง USB คุณจะเห็นรายการนี้ด้วย -
หากคุณใช้ลำโพงเพิ่มเติม และไม่ได้ใช้ลำโพงหรือหูฟังที่เชื่อมต่อกับแจ็คหูฟังในตัว คุณต้องตั้งค่าให้เป็นค่าเริ่มต้น โดยรันคำสั่งต่อไปนี้:
sudo nano /usr/share/alsa/alsa.conf
คำสั่งนี้จะเปิดไฟล์การตั้งค่าใน
nano
ซึ่งเป็นโปรแกรมแก้ไขข้อความใน Terminal ใช้ปุ่มลูกศรบนคีย์บอร์ดเลื่อนลงจนเจอบรรทัดต่อไปนี้:defaults.pcm.card 0
เปลี่ยนค่าจาก
0
เป็นหมายเลขการ์ดของการ์ดที่คุณต้องการใช้จากรายการที่ได้จากคำสั่งaplay -l
ตัวอย่างเช่น ในผลลัพธ์ข้างต้นมีการ์ดเสียงที่สองชื่อcard 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]
ใช้การ์ด 1 ในการใช้งานนี้ ฉันจะอัปเดตบรรทัดให้เป็น:defaults.pcm.card 1
ตั้งค่านี้ให้เป็นหมายเลขการ์ดที่เหมาะสม คุณสามารถเลื่อนไปยังหมายเลขโดยใช้ปุ่มลูกศรบนคีย์บอร์ด จากนั้นลบและพิมพ์หมายเลขใหม่ตามปกติเมื่อแก้ไขไฟล์ข้อความ
-
บันทึกการเปลี่ยนแปลงและปิดไฟล์โดยกด
Ctrl+x
กดy
เพื่อบันทึกไฟล์ จากนั้นกดreturn
เพื่อเลือกชื่อไฟล์
งาน - ทดสอบไมโครโฟนและลำโพง
-
รันคำสั่งต่อไปนี้เพื่อบันทึกเสียง 5 วินาทีผ่านไมโครโฟน:
arecord --format=S16_LE --duration=5 --rate=16000 --file-type=wav out.wav
ขณะที่คำสั่งนี้กำลังทำงาน ให้ส่งเสียงเข้าไมโครโฟน เช่น พูด ร้องเพลง บีทบ็อกซ์ เล่นเครื่องดนตรี หรืออะไรก็ได้ที่คุณต้องการ
-
หลังจาก 5 วินาที การบันทึกจะหยุด รันคำสั่งต่อไปนี้เพื่อเล่นเสียงที่บันทึกไว้:
aplay --format=S16_LE --rate=16000 out.wav
คุณจะได้ยินเสียงที่เล่นผ่านลำโพง ปรับระดับเสียงของลำโพงตามความเหมาะสม
-
หากคุณต้องการปรับระดับเสียงของพอร์ตไมโครโฟนในตัว หรือปรับ gain ของไมโครโฟน คุณสามารถใช้ยูทิลิตี้
alsamixer
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับยูทิลิตี้นี้ได้ที่ Linux alsamixer man page -
หากคุณพบข้อผิดพลาดในการเล่นเสียง ให้ตรวจสอบการตั้งค่าการ์ดที่คุณตั้งค่าเป็น
defaults.pcm.card
ในไฟล์alsa.conf
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้