บันทึกเสียงลงในไฟล์ในเครื่องบนบอร์ด Intel® Edison

เอกสาร

การแก้ไขปัญหา

000018268

10/02/2020

คู่มือนี้ตามมาตรา๔.๔จาก คู่มือการตั้งค่าเสียงสำหรับ Intel® Edison โดยใช้ Plantronics BT300 เนื่องจากชุดหูฟัง Bluetooth * รุ่นนี้มีอะแดปเตอร์ USB ใช้เป็นชุดหูฟัง USB

หมาย เหตุหากใช้ชุด Intel® Edison สำหรับ Arduino * ให้เปิดใช้งานโหมดโฮสต์ USB โดยย้าย SW1 ไปยังตำแหน่งที่เหมาะสม หากใช้บอร์ดฝ่าวงล้อม Intel® Edison คุณจำเป็นต้องมีอะแดปเตอร์ USB-ต่อไมโคร USB นอกจากนี้คุณยังต้องใช้แหล่งจ่ายไฟภายนอกสำหรับทั้งชุด Intel Edison สำหรับ Arduino และบอร์ดฝ่าวงล้อม Intel Edison


1. เสียบชุดหูฟัง USB สำหรับอะแดปเตอร์ Bluetooth

2. บน Edison ให้ตรวจสอบว่าอุปกรณ์ได้รับการติดตั้งอย่างถูกต้องหรือไม่:
root@MyEdison: ~ cat/proc/asoula/pcm
00-00: loopback PCM: Loopback PCM: การเล่น 8: capture 8
00-01: loopback PCM: Loopback PCM: การเล่น 8: capture 8
01-00:14::: การเล่น 1: capture 1
01-01: ((null))::: การเล่นที่ 1: capture 1
01-02: ((null))::: การเล่นที่ 1: capture 1
02-00: เสียง USB: เสียง USB: การเล่นที่ 1: ถ่ายภาพ 1 คล้ายกับนี้

3. จากอุปกรณ์ USB นี้บน Edison คุณสามารถดูจำนวนสตรีมที่จัดการโดยอุปกรณ์โดยใช้คำสั่ง pactl list :
root@MyEdison: รายการ ~ # pactl | ชื่อ grep | grep
ชื่อ: alsa_output Plantronics_Plantronics_BT300_85c1bafebff57e4e80e864d6f4c9aa8a-00 BT300 อนาล็อก-โมโน ต้องการนี้
ชื่อ: alsa_output Plantronics_Plantronics_BT300_85c1bafebff57e4e80e864d6f4c9aa8a-00 BT300. จอแสดงผลแบบอนาล็อก
ชื่อ: alsa_input Plantronics_Plantronics_BT300_85c1bafebff57e4e80e864d6f4c9aa8a-00 BT300 อนาล็อก-โมโน
ชื่อ: alsa_card Plantronics_Plantronics_BT300_85c1bafebff57e4e80e864d6f4c9aa8a-00 BT300

4. บน Edison ให้ตั้งค่าอุปกรณ์เสียงออกที่เป็นค่าเริ่มต้นโดยใช้คำสั่ง pactl :
root@MyEdison: แบบ # pactl set-ค่าเริ่มต้น-alsa_output อ่าง Plantronics_Plantronics_BT300_85c1bafebff57e4e80e864d6f4c9aa8a-00 BT300 โมโนแบบอนาล็อก

5. ใช้คำสั่ง arecord-l เพื่อแสดงอุปกรณ์เสียงและค้นหาอะแดปเตอร์ชุดหูฟัง USB, เอาต์พุตการแสดงผลบน Edison ควรมีลักษณะดังนี้:
root@MyEdison: ~ # arecord-l
รายชื่ออุปกรณ์ฮาร์ดแวร์จับภาพ ***
การ์ด 0: การวนรอบ [Loopback], อุปกรณ์ 0: PCM Loopback [Loopback PCM]
อุปกรณ์ย่อย: 8/8
#0 อุปกรณ์ย่อย: #0 อุปกรณ์ย่อย
#1 อุปกรณ์ย่อย: #1 อุปกรณ์ย่อย
#2 อุปกรณ์ย่อย: #2 อุปกรณ์ย่อย
#3 อุปกรณ์ย่อย: #3 อุปกรณ์ย่อย
#4 อุปกรณ์ย่อย: #4 อุปกรณ์ย่อย
#5 อุปกรณ์ย่อย: #5 อุปกรณ์ย่อย
#6 อุปกรณ์ย่อย: #6 อุปกรณ์ย่อย
#7 อุปกรณ์ย่อย: #7 อุปกรณ์ย่อย
การ์ด 0: การวนรอบ [Loopback], อุปกรณ์ 1: PCM Loopback [Loopback PCM]
อุปกรณ์ย่อย: 8/8
#0 อุปกรณ์ย่อย: #0 อุปกรณ์ย่อย
#1 อุปกรณ์ย่อย: #1 อุปกรณ์ย่อย
#2 อุปกรณ์ย่อย: #2 อุปกรณ์ย่อย
#3 อุปกรณ์ย่อย: #3 อุปกรณ์ย่อย
#4 อุปกรณ์ย่อย: #4 อุปกรณ์ย่อย
#5 อุปกรณ์ย่อย: #5 อุปกรณ์ย่อย
#6 อุปกรณ์ย่อย: #6 อุปกรณ์ย่อย
#7 อุปกรณ์ย่อย: #7 อุปกรณ์ย่อย
การ์ด 1: เครื่องเสียง dummyaudio [-เสียง], อุปกรณ์ 0:14 []
อุปกรณ์ย่อย: 1/1
#0 อุปกรณ์ย่อย: #0 อุปกรณ์ย่อย
การ์ด 1: เครื่องเสียง dummyaudio [-เสียง], อุปกรณ์ 1: ((null)) []
อุปกรณ์ย่อย: 1/1
#0 อุปกรณ์ย่อย: #0 อุปกรณ์ย่อย
การ์ด 1: เครื่องเสียง dummyaudio [-เสียง], อุปกรณ์ 2: ((null)) []
อุปกรณ์ย่อย: 1/1
#0 อุปกรณ์ย่อย: #0 อุปกรณ์ย่อย
การ์ด 2: BT300 [Plantronics BT300], อุปกรณ์ 0: เสียง USB [เสียง USB] อุปกรณ์เสียง usb ของเรา
อุปกรณ์ย่อย: 1/1
#0 อุปกรณ์ย่อย: #0 อุปกรณ์ย่อย
         
6. จากเอาต์พุตที่แสดงในขั้นตอนที่5จดการ์ด # และอุปกรณ์หมายถึง (ในตัวอย่างนี้การ์ดคือ2และอุปกรณ์คือ 0) สิ่งเหล่านี้จำเป็นสำหรับขั้นตอนต่อไปนี้

7. อุปกรณ์พร้อมที่จะบันทึก/เล่นเสียง ใช้คำสั่ง arecord เพื่อบันทึกและจัดเก็บในไฟล์ท้องถิ่นบนไดเรกทอรีภายในบ้าน Edison
root@MyEdison: ~ # # -D hw: 2, 0-S16_LE f r16000 audio_record .wav
หมายเหตุ: หากต้องการหยุดบันทึกใช้ Ctrl + C
 
คำอธิบายโดยสังเขปของพารามิเตอร์ใช้arecord-h เพื่อรับข้อมูลเพิ่มเติม
*-D hw: การ์ด #, อุปกรณ์ # = ชื่ออุปกรณ์ PCM
*-f S16_LE = รูปแบบที่แตกต่างจากอุปกรณ์ไปจนถึงอุปกรณ์
*-r16000 = ความถี่ (16000Hz) แตกต่างกันไปตั้งแต่อุปกรณ์ไปจนถึงอุปกรณ์
* audio_record. wav = ชื่อไฟล์

8. ใช้คำสั่ง aplay เพื่อเล่นไฟล์ที่สร้างขึ้นบนชุดหูฟังของคุณ:
root@MyEdison:-# การ เล่นแบบ hw-D: 2, 0-S16_LE f r16000 audio_record .wav
 
คำอธิบายโดยสังเขปของพารามิเตอร์ใช้aplay-h เพื่อรับข้อมูลเพิ่มเติม
*-D hw: การ์ด #, อุปกรณ์ # = ชื่ออุปกรณ์ PCM
*-f S16_LE = รูปแบบที่แตกต่างจากอุปกรณ์ไปจนถึงอุปกรณ์
*-r16000 = ความถี่ (16000Hz) แตกต่างกันไปตั้งแต่อุปกรณ์ไปจนถึงอุปกรณ์
* audio_record. wav = ชื่อไฟล์