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 แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้
