# ตั้งค่าไมโครโฟนและลำโพง - Raspberry Pi ในส่วนนี้ของบทเรียน คุณจะเพิ่มไมโครโฟนและลำโพงให้กับ Raspberry Pi ของคุณ ## ฮาร์ดแวร์ Raspberry Pi ต้องการไมโครโฟน เนื่องจาก Pi ไม่มีไมโครโฟนในตัว คุณจะต้องเพิ่มไมโครโฟนภายนอก มีหลายวิธีในการทำเช่นนี้: * ไมโครโฟน USB * ชุดหูฟัง USB * ลำโพงแบบรวมไมโครโฟน USB * อะแดปเตอร์เสียง USB และไมโครโฟนที่มีแจ็ค 3.5 มม. * [ReSpeaker 2-Mics Pi HAT](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html) > 💁 ไมโครโฟน Bluetooth ไม่ได้รองรับทั้งหมดบน Raspberry Pi ดังนั้นหากคุณมีไมโครโฟนหรือชุดหูฟัง Bluetooth คุณอาจพบปัญหาในการจับคู่หรือบันทึกเสียง Raspberry Pi มาพร้อมกับแจ็คหูฟัง 3.5 มม. คุณสามารถใช้แจ็คนี้เชื่อมต่อหูฟัง ชุดหูฟัง หรือ ลำโพงได้ นอกจากนี้คุณยังสามารถเพิ่มลำโพงโดยใช้: * เสียง HDMI ผ่านจอภาพหรือทีวี * ลำโพง USB * ชุดหูฟัง USB * ลำโพงแบบรวมไมโครโฟน USB * [ReSpeaker 2-Mics Pi HAT](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html) พร้อมลำโพงที่เชื่อมต่อผ่านแจ็ค 3.5 มม. หรือพอร์ต JST ## เชื่อมต่อและตั้งค่าไมโครโฟนและลำโพง ไมโครโฟนและลำโพงต้องถูกเชื่อมต่อและตั้งค่าให้ถูกต้อง ### งาน - เชื่อมต่อและตั้งค่าไมโครโฟน 1. เชื่อมต่อไมโครโฟนโดยใช้วิธีที่เหมาะสม เช่น เชื่อมต่อผ่านพอร์ต USB หนึ่งในพอร์ต 1. หากคุณใช้ ReSpeaker 2-Mics Pi HAT คุณสามารถถอด Grove base hat ออก แล้วติดตั้ง ReSpeaker hat แทนที่ ![Raspberry Pi พร้อม ReSpeaker hat](../../../../../translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.th.png) คุณจะต้องใช้ปุ่ม Grove ในบทเรียนนี้ แต่ปุ่มหนึ่งได้ถูกติดตั้งใน hat นี้แล้ว ดังนั้นจึงไม่จำเป็นต้องใช้ Grove base hat เมื่อ hat ถูกติดตั้งแล้ว คุณจะต้องติดตั้งไดรเวอร์ ดูคำแนะนำการเริ่มต้นใช้งานได้ที่ [Seeed getting started instructions](https://wiki.seeedstudio.com/ReSpeaker_2_Mics_Pi_HAT_Raspberry/#getting-started) สำหรับคำแนะนำในการติดตั้งไดรเวอร์ > ⚠️ คำแนะนำใช้ `git` เพื่อโคลน repository หากคุณยังไม่มี `git` ติดตั้งใน Pi ของคุณ คุณสามารถติดตั้งได้โดยรันคำสั่งต่อไปนี้: > > ```sh > sudo apt install git --yes > ``` 1. รันคำสั่งต่อไปนี้ใน Terminal บน Pi หรือเชื่อมต่อผ่าน VS Code และ remote SSH session เพื่อดูข้อมูลเกี่ยวกับไมโครโฟนที่เชื่อมต่อ: ```sh arecord -l ``` คุณจะเห็นรายการไมโครโฟนที่เชื่อมต่อ มันจะมีลักษณะดังนี้: ```output 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 ### งาน - เชื่อมต่อและตั้งค่าลำโพง 1. เชื่อมต่อลำโพงโดยใช้วิธีที่เหมาะสม 1. รันคำสั่งต่อไปนี้ใน Terminal บน Pi หรือเชื่อมต่อผ่าน VS Code และ remote SSH session เพื่อดูข้อมูลเกี่ยวกับลำโพงที่เชื่อมต่อ: ```sh aplay -l ``` คุณจะเห็นรายการลำโพงที่เชื่อมต่อ มันจะมีลักษณะดังนี้: ```output 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 คุณจะเห็นรายการนี้ด้วย 1. หากคุณใช้ลำโพงเพิ่มเติม และไม่ได้ใช้ลำโพงหรือหูฟังที่เชื่อมต่อกับแจ็คหูฟังในตัว คุณต้องตั้งค่าให้เป็นค่าเริ่มต้น โดยรันคำสั่งต่อไปนี้: ```sh sudo nano /usr/share/alsa/alsa.conf ``` คำสั่งนี้จะเปิดไฟล์การตั้งค่าใน `nano` ซึ่งเป็นโปรแกรมแก้ไขข้อความใน Terminal ใช้ปุ่มลูกศรบนคีย์บอร์ดเลื่อนลงจนเจอบรรทัดต่อไปนี้: ```output defaults.pcm.card 0 ``` เปลี่ยนค่าจาก `0` เป็นหมายเลขการ์ดของการ์ดที่คุณต้องการใช้จากรายการที่ได้จากคำสั่ง `aplay -l` ตัวอย่างเช่น ในผลลัพธ์ข้างต้นมีการ์ดเสียงที่สองชื่อ `card 1: M0 [eMeet M0], device 0: USB Audio [USB Audio]` ใช้การ์ด 1 ในการใช้งานนี้ ฉันจะอัปเดตบรรทัดให้เป็น: ```output defaults.pcm.card 1 ``` ตั้งค่านี้ให้เป็นหมายเลขการ์ดที่เหมาะสม คุณสามารถเลื่อนไปยังหมายเลขโดยใช้ปุ่มลูกศรบนคีย์บอร์ด จากนั้นลบและพิมพ์หมายเลขใหม่ตามปกติเมื่อแก้ไขไฟล์ข้อความ 1. บันทึกการเปลี่ยนแปลงและปิดไฟล์โดยกด `Ctrl+x` กด `y` เพื่อบันทึกไฟล์ จากนั้นกด `return` เพื่อเลือกชื่อไฟล์ ### งาน - ทดสอบไมโครโฟนและลำโพง 1. รันคำสั่งต่อไปนี้เพื่อบันทึกเสียง 5 วินาทีผ่านไมโครโฟน: ```sh arecord --format=S16_LE --duration=5 --rate=16000 --file-type=wav out.wav ``` ขณะที่คำสั่งนี้กำลังทำงาน ให้ส่งเสียงเข้าไมโครโฟน เช่น พูด ร้องเพลง บีทบ็อกซ์ เล่นเครื่องดนตรี หรืออะไรก็ได้ที่คุณต้องการ 1. หลังจาก 5 วินาที การบันทึกจะหยุด รันคำสั่งต่อไปนี้เพื่อเล่นเสียงที่บันทึกไว้: ```sh aplay --format=S16_LE --rate=16000 out.wav ``` คุณจะได้ยินเสียงที่เล่นผ่านลำโพง ปรับระดับเสียงของลำโพงตามความเหมาะสม 1. หากคุณต้องการปรับระดับเสียงของพอร์ตไมโครโฟนในตัว หรือปรับ gain ของไมโครโฟน คุณสามารถใช้ยูทิลิตี้ `alsamixer` คุณสามารถอ่านเพิ่มเติมเกี่ยวกับยูทิลิตี้นี้ได้ที่ [Linux alsamixer man page](https://linux.die.net/man/1/alsamixer) 1. หากคุณพบข้อผิดพลาดในการเล่นเสียง ให้ตรวจสอบการตั้งค่าการ์ดที่คุณตั้งค่าเป็น `defaults.pcm.card` ในไฟล์ `alsa.conf` --- **ข้อจำกัดความรับผิดชอบ**: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้