วิธีใช้งานอินเตอร์เฟสผู้ใช้แบบเสียงบน MCU ที่จำกัดทรัพยากร

Contributed By DigiKey's North American Editors

ลำโพงอัจฉริยะและฮับที่เชื่อมต่ออื่นๆ เป็นหัวใจของบ้านอัจฉริยะ ช่วยให้ผู้ใช้สามารถควบคุมอุปกรณ์และเข้าถึงอินเตอร์เน็ตได้ แนวโน้มสองประการปรากฏชัดเจนเมื่ออุปกรณ์เหล่านี้แพร่หลายมากขึ้น: ผู้ใช้ชอบการควบคุมด้วยเสียงมากกว่าการกดปุ่มหรือระบบเมนูที่ซับซ้อน และการเชื่อมต่อคลาวด์อย่างต่อเนื่องจะรู้สึกไม่สบายมากขึ้น เนื่องจากข้อกังวลด้านความเป็นส่วนตัว

อย่างไรก็ตาม โดยทั่วไปแล้วอินเตอร์เฟสผู้ใช้ด้วยเสียง (VUI) ที่แข็งแกร่งและปลอดภัยนั้นต้องการฮาร์ดแวร์ที่ทรงพลังและซอฟต์แวร์ที่ซับซ้อนสำหรับการจดจำเสียง หากมีคุณสมบัติที่น้อยกว่านี้อาจส่งผลให้ประสิทธิภาพไม่ดีและประสบการณ์ผู้ใช้ที่ไม่น่าพอใจ นอกจากนี้ ลำโพงอัจฉริยะและฮับหลายตัวยังใช้พลังงานจากแบตเตอรี่ ดังนั้น VUI จึงต้องใช้พลังงานจำกัด โครงการที่มีความท้าทายดังกล่าวอาจเป็นเรื่องที่น่ากังวลสำหรับนักพัฒนาที่ไม่มีประสบการณ์เกี่ยวกับอินเตอร์เฟสเสียง

ผู้ผลิตชิปตอบสนองด้วยการแนะนำเทคนิคตามหน่วยเสียงที่ช่วยลดข้อกำหนดในการประมวลผลลงอย่างมาก ผลลัพธ์ที่ได้คือซอฟต์แวร์ VUI ที่มีความแม่นยำสูงและมีประสิทธิภาพสูง ซึ่งสามารถทำงานบนไมโครคอนโทรลเลอร์ (MCU) 32 บิตที่คุ้นเคย และได้รับการสนับสนุนจากเครื่องมือออกแบบที่ใช้งานง่าย

บทความนี้จะอธิบายความท้าทายของ VUI และกรณีการใช้งาน จากนั้นจะแนะนำซอฟต์แวร์การใช้งาน MCU เชิงพาณิชย์ที่ใช้งานง่าย และซอฟต์แวร์ VUI ที่ใช้หน่วยเสียงเฉพาะสำหรับการใช้งานภายในบ้านที่เชื่อมต่อ บทความนี้สรุปโดยแสดงให้นักพัฒนาเห็นถึงวิธีเริ่มต้นโปรเจ็กต์ VUI โดยการใช้ Renesas MCU, ซอฟต์แวร์ VUI และชุดประเมินผล

ความท้าทายในการสร้าง VUI

VUI คือเทคโนโลยีการรู้จำคำพูดที่ช่วยให้สามารถโต้ตอบกับคอมพิวเตอร์ สมาร์ทโฟน ระบบอัตโนมัติภายในบ้าน หรืออุปกรณ์อื่นๆ โดยใช้คำสั่งเสียง หลังจากความท้าทายด้านวิศวกรรมในช่วงแรก เทคโนโลยีได้พัฒนาจนกลายเป็นอินเตอร์เฟสการควบคุมที่เชื่อถือได้ และปัจจุบันมีการใช้กันอย่างแพร่หลายในลำโพงอัจฉริยะและอุปกรณ์สมาร์ทโฮมอื่นๆ ประโยชน์หลักของ VUI คือความสะดวก ควบคุมได้ทันทีจากทุกที่ภายในช่วงเสียงโดยไม่จำเป็นต้องใช้แป้นพิมพ์ เมาส์ ปุ่ม เมนู หรืออินเตอร์เฟสอื่นๆ เพื่อป้อนคำสั่ง (รูปที่ 1)

ภาพเทคโนโลยี VUI ที่ได้รับการยอมรับอย่างกว้างขวางรูปที่ 1: เทคโนโลยี VUI ถูกนำมาใช้อย่างแพร่หลายในบ้านและอาคารอัจฉริยะ เนื่องจากสะดวกและยืดหยุ่น (แหล่งที่มาภาพ: Renesas)

ข้อเสียของ VUI คือความซับซ้อน เทคโนโลยีทั่วไปมีพื้นฐานมาจากการฝึกฝนโมเดลด้วยคำหรือวลีเฉพาะเจาะจงเป็นเวลานาน แต่การประมวลผลภาษาธรรมชาตินั้นมีความอิสระในการเรียงลำดับคำ ซึ่งต้องการงานพัฒนาจำนวนมากและพลังการประมวลผลที่สำคัญในการทำงานแบบเรียลไทม์ สิ่งนี้ได้ชะลอการยอมรับ VUI ในวงกว้างมากขึ้น

ปัจจุบันเทคนิคใหม่ทำให้ซอฟต์แวร์ VUI ง่ายขึ้นจนถึงขนาดที่สามารถทำงานบนไมโครคอนโทรลเลอร์ (MCU) ขนาดเล็กและมีประสิทธิภาพ เช่นอุปกรณ์ Arm® Cortex®-M เทคนิคนี้อาศัยความจริงที่ว่าทุกคำในภาษาพูดแต่ละภาษาประกอบด้วยเสียงทางภาษาที่เรียกว่าหน่วยเสียง มีหน่วยเสียงน้อยกว่าคำพูดมาก ภาษาอังกฤษมี 44 หน่วยเสียง อิตาลีมี 32 หน่วยเสียง และภาษาฮาวายดั้งเดิมมีเพียง 14 หน่วยเสียง หาก VUI ใช้ชุดคำสั่งภาษาอังกฤษจำนวน 200 คำ แต่ละคำสามารถแบ่งออกเป็นหน่วยเสียงที่เกี่ยวข้องจากชุด 44 หน่วยเสียง

ภายในซอฟต์แวร์ VUI แต่ละหน่วยเสียงสามารถระบุได้ด้วยรหัสตัวเลข (หรือ "โทเค็น") โดยมีโทเค็นต่างๆ ที่สร้างภาษา การจัดเก็บคำในรูปแบบเสียงต้องใช้ทรัพยากรในการคำนวณอย่างกว้างขวาง และใช้พื้นที่หน่วยความจำมากกว่าหน่วยเสียงที่จัดเก็บเป็นโทเค็น การประมวลผลโทเค็นหน่วยเสียง (และคำคำสั่ง) ในลำดับที่คาดไว้จะทำให้การคำนวณง่ายขึ้น และทำให้สามารถรันซอฟต์แวร์ VUI ภายในเครื่องบน MCU ที่เรียบง่าย (รูปที่ 2)

ภาพแสดงคำโดยใช้หน่วยเสียงรูปที่ 2: การแสดงคำโดยใช้หน่วยเสียงต้องการทรัพยากรไมโครคอนโทรลเลอร์น้อยลง (แหล่งที่มาภาพ: Renesas)

ซึ่งหมายความว่าประสิทธิภาพของซอฟต์แวร์ที่ได้รับจากการใช้หน่วยเสียงช่วยให้การประมวลผลทำงานในเครื่องได้ การขจัดความจำเป็นในการประมวลผลบนคลาวด์หมายความว่าไม่มีข้อกำหนดสำหรับการเชื่อมต่ออินเตอร์เน็ตอย่างต่อเนื่องซึ่งทำให้เกิดข้อกังวลด้านความเป็นส่วนตัวและความปลอดภัยของข้อมูล

Renesas ได้แสดงชุดซอฟต์แวร์ VUI เชิงพาณิชย์ตามหลักการหน่วยเสียงซึ่งเป็นส่วนหนึ่งของระบบนิเวศ ซอฟต์แวร์ที่เรียกว่า Cyberon DSpotter สร้างอัลกอริทึม VUI ที่มีประสิทธิภาพเพียงพอที่จะทำงานบน MCU Renesas ซีรีส์ RA ที่มีคอร์ Arm Cortex-M4 และ M33

พัฒนาด้วย Cyberon DSpotter

Cyberon DSpotter สร้างขึ้นจากคลังหน่วยเสียงและชุดหน่วยเสียง นี่เป็นอีกทางเลือกหนึ่งของการฝึกอบรมอัลกอริธึมแบบดั้งเดิมที่ต้องใช้คอมพิวเตอร์อย่างหนักเพื่อจดจำคำเฉพาะ หากต้องการแยกคำออกเป็นหน่วยเสียงแล้วแสดงเป็นโทเค็น นักพัฒนาสามารถใช้ DSpotter Modeling Tool

DSpotter เป็นซอฟต์แวร์ฝังตัว (ไม่ใช่บนคลาวด์) ซึ่งทำงานเป็นทริกเกอร์เสียงในเครื่องและโซลูชันการรู้จำคำสั่งพร้อมการลดเสียงรบกวนที่แข็งแกร่ง ใช้ทรัพยากรน้อยที่สุดและมีความแม่นยำสูง ขึ้นอยู่กับ MCU ที่เลือก การถ่ายโอนข้อมูลที่ปลอดภัยก็สามารถทำได้เช่นกัน

DSpotter จะถามคำสั่งแต่ละคำหรือวลี ซึ่งเครื่องมือจะแยกย่อยออกเป็นหน่วยเสียง ชุดคำสั่งและข้อมูลสนับสนุนสำหรับ VUI จะถูกสร้างขึ้นในไฟล์ไบนารีที่นักพัฒนารวมไว้ในโปรเจ็กต์พร้อมกับไลบรารี Cyberon ไลบรารีและไฟล์ไบนารี่ถูกใช้ร่วมกันบน MCU เพื่อรองรับการจดจำคำสั่งเสียงที่ต้องการ

เครื่องมือ DSpotter จะสร้าง “ชุดคำสั่ง” ที่สามารถเชื่อมต่อเชิงตรรกะโดยโปรแกรมของนักพัฒนาซอฟต์แวร์ เพื่อสร้าง VUI ที่มีระดับต่างๆ ซึ่งช่วยให้สามารถใช้คำสั่งได้หลายระดับ เช่น “ฉันต้องการให้หลอดไฟตั้งค่าความสว่างสูงสุด”: คำคำสั่งคือ “หลอดไฟ” ตามด้วย “ตั้งค่า” และ “สูง” แต่ละคำสั่งในกลุ่มจะมีดัชนีของตัวเอง เช่นเดียวกับแต่ละคำสั่งภายในระดับ (รูปที่ 3)

รูปภาพของเครื่องมือ DSpotter ช่วยให้สามารถสร้าง “CommandSets” รูปที่ 3: เครื่องมือ DSpotter อนุญาตให้สร้าง “ชุดคำสั่ง” ที่สามารถเชื่อมต่อเชิงตรรกะโดยโปรแกรมของนักพัฒนา เพื่อสร้าง VUI ที่มีระดับต่างๆ (แหล่งที่มาภาพ: Renesas)

ไลบรารี DSpotter ประมวลผลเสียงที่เข้ามาและค้นหาหน่วยเสียงที่ตรงกับคำสั่งในฐานข้อมูล เมื่อพบรายการที่ตรงกันก็จะส่งคืนพร้อมดัชนีและหมายเลขกลุ่ม การจัดเรียงดังกล่าวอนุญาตให้โค้ดการใช้งานหลักสร้างคำสั่งสวิตช์แบบลำดับชั้นเพื่อประมวลผลคำ/วลีคำสั่งที่เกิดขึ้น ไลบรารีผลลัพธ์อาจมีขนาดเล็กพอที่จะพอดีกับ MCU ที่มีหน่วยความจำแฟลชเพียง 256 กิโลไบต์ (Kbytes) และ SRAM ขนาด 32 Kbytes CommandSet สามารถขยายได้หากมีหน่วยความจำเพิ่มขึ้น

เป็นสิ่งสำคัญสำหรับนักพัฒนาที่จะต้องทราบว่ามีข้อจำกัดในวิธีการหน่วยเสียงสำหรับ VUI ทรัพยากรที่ค่อนข้างจำกัดของ MCU กำหนดว่า Cyberon DSpotter เป็นระบบการรู้จำเสียงพูดมากกว่าการรู้จำเสียง ซึ่งหมายความว่าซอฟต์แวร์ไม่สามารถประมวลผลภาษาธรรมชาติได้ ดังนั้น หากคำสั่งไม่เป็นไปตามลำดับตรรกะ (เช่น "สูง" "หลอดไฟ" "ตั้งค่า" แทนที่จะเป็น "หลอดไฟ" "ตั้งค่า" "สูง") ระบบจะไม่รับรู้ คำสั่งและจะรีเซ็ตกลับสู่ระดับบนสุด

ข้อเสนอแนะในการออกแบบประการหนึ่งคือการเพิ่มตัวบ่งชี้ภาพให้กับ VUI (เช่น LED) เพื่อระบุว่าเมื่อใดที่โปรเซสเซอร์ถือว่าโปรเซสเซอร์อยู่ที่ระดับบนสุดของชุดคำสั่ง โดยแจ้งให้ผู้ใช้ออกคำสั่งใหม่ตามลำดับตรรกะ (รูปที่ 4)

ภาพลักษณะที่คล่องตัวของ Cyberon DSpotterรูปที่ 4: ลักษณะที่มีประสิทธิภาพของ Cyberon DSpotter กำหนดให้คำสั่งต้องเป็นไปตามลำดับตรรกะ ไม่เช่นนั้นระบบจะไม่รู้จักคำสั่งเหล่านั้น (แหล่งที่มาภาพ: Renesas)

การเรียกใช้ VUI ที่ไม่ใช่บนคลาวด์ด้วยทรัพยากรที่ถูกจำกัด

ประสิทธิภาพของ Cyberon DSpotter ช่วยให้สามารถทำงานบน MCU Arm Cortex-M ตระกูล RA2, RA4 และ RA6 ของ Renesas ซึ่งได้รับความนิยมในการใช้งานของผู้บริโภค อุตสาหกรรม และ IoT ที่หลากหลาย ได้รับการสนับสนุนจากเครื่องมือออกแบบที่ใช้งานง่าย ทำให้การสร้าง VUI ง่าย ตรงไปตรงมา โดยไม่ต้องมีประสบการณ์การเขียนโค้ดที่กว้างขวางหรือความเชี่ยวชาญภายในองค์กร

การเลือก MCU ตระกูล RA โดยเฉพาะนั้นขึ้นอยู่กับความซับซ้อนของคำสั่งและขนาดของไลบรารี Cyberon เป็นหลัก สวิตช์ไฟอัจฉริยะซึ่งต้องใช้ชุดคำสั่งที่เรียบง่ายและพลังการประมวลผลที่จำกัดเพื่อให้ทำงานได้อย่างมีประสิทธิภาพ อาจเป็นไปตาม R7FA4W1AD2CNG จากตระกูล RA4 MCU นี้มีแกน Arm Cortex-M4 ที่เป็นมิตรต่อแบตเตอรี่ 48 เมกะเฮิรตซ์ (MHz) ซึ่งรองรับโดยหน่วยความจำแฟลช 512 Kbytes และ SRAM 96 Kbytes ประกอบด้วยตัวควบคุม LCD ส่วน, ยูนิตการตรวจจับการสัมผัสแบบคาปาซิทีฟ, การเชื่อมต่อไร้สาย Bluetooth Low Energy (Bluetooth LE), USB 2.0 Full-Speed, ตัวแปลงอะนาล็อกเป็นดิจิตอล (ADC) 14 บิต), ตัวแปลงดิจิตอลเป็น 12 บิต - ตัวแปลงอะนาล็อก (DAC) พร้อมคุณสมบัติด้านความปลอดภัย (รูปที่ 5)

แผนผังของ Renesas R7FA4W1AD2CNG MCUรูปที่ 5: MCU R7FA4W1AD2CNG มอบทรัพยากรที่เพียงพอสำหรับการสร้าง VUI ที่ไม่ใช่ระบบคลาวด์สำหรับการใช้งาน เช่น สวิตช์ไฟอัจฉริยะ (แหล่งที่มาภาพ: Renesas)

ไลบรารี Cyberon DSpotter ที่กว้างขวางยิ่งขึ้นและแกนประมวลผลที่ทรงพลังยิ่งขึ้นนั้นจำเป็นสำหรับการใช้งาน เช่น ลำโพงอัจฉริยะ อุปกรณ์ที่เหมาะสมคือ R7FA6M4AF3CFM MCU จากตระกูล RA6 นี้โดดเด่นด้วยคอร์ Arm Cortex-M33 ความเร็ว 200 MHz ที่ทรงพลังกว่า ซึ่งรองรับโดยหน่วยความจำแฟลช 1 เมกะไบต์ (Mbyte) และ SRAM ขนาด 256 Kbytes โดยมี CAN บัส, อีเธอร์เน็ต, I²C, LIN บัส, ยูนิตการตรวจจับแบบสัมผัสแบบคาปาซิทีฟ และอินเทอร์เฟซและอุปกรณ์ต่อพ่วงอื่นๆ อีกมากมาย

กลุ่มผลิตภัณฑ์ RA4 และ RA6 ได้รับการรองรับด้วยบอร์ดประเมินผล ได้แก่RTK7EKA4W1S00000BJ และ RTK7EKA6M4S00001BE ตามลำดับ เพื่อให้นักพัฒนาได้ใช้ความสามารถของ MCU บอร์ดประเมินผลแต่ละบอร์ดมี MCU เป้าหมายและดีบักเกอร์ออนบอร์ด

Renesas ยังมีชุดโซลูชัน VUI เพื่อเร่งการพัฒนาอีกด้วย ชุดนี้มีลักษณะคล้ายกับบอร์ดประเมินผลตรงที่รวมอุปกรณ์เป้าหมายและดีบักเกอร์เข้าด้วยกัน บอร์ดยังมีอินเตอร์เฟส I/O หลายอินเตอร์เฟสและมีไมโครโฟนสี่ตัว: อะนาล็อกสองตัวและดิจิตอลสองตัว

การเข้าถึงซอฟต์แวร์ที่จำเป็นสำหรับการพัฒนาด้วยชุดโซลูชัน VUI มีอยู่ในเว็บไซต์ของ Cyberon ซึ่งรวมถึงการเข้าถึง Cyberon DSpotter Modeling Tool ฟรี และมีโปรเจ็คต์ e2 studio พร้อม CommandSet เสียงที่ใช้งานได้ (e2 studio คือสภาพแวดล้อมการพัฒนาแบบรวม (IDE) ที่ใช้ Eclipse สำหรับ Renesas MCU) ตัวอย่าง CommandSet สามารถใช้เป็นเทมเพลตสำหรับการพัฒนาลำดับคำสั่งเสียงแบบกำหนดเองได้ ปฏิกิริยาของระบบสามารถตรวจสอบได้โดยใช้หน้าต่างเทอร์มินอล โดยทั่วไปจะใช้เวลาประมาณ 15 นาทีในการสร้างโครงสร้าง VUI ดังแสดงในรูปที่ 4

การออกแบบซอฟต์แวร์การใช้งานที่ซับซ้อนมากขึ้นสำหรับแพ็คเกจ Cyberon ได้รับการสนับสนุนโดย Renesas แพคเกจซอฟต์แวร์ที่ยืดหยุ่น (FSP) ของบริษัท สำหรับการออกแบบระบบฝังตัวโดยใช้ตระกูล RA FSP ขึ้นอยู่กับระบบนิเวศซอฟต์แวร์แบบเปิดและรวมถึง Azure RTOS หรือ FreeRTOS, รหัสเดิม และระบบนิเวศของบุคคลที่สาม สามารถทำงานได้ในหลาย IDE รวมถึง e2 studio

VUI ทำงานได้ดีแค่ไหน?

การที่ VUI ทำงานได้ดีในห้องทดลองที่เงียบสงบถือเป็นเรื่องหนึ่ง แต่ก็เป็นอีกเรื่องหนึ่งที่ VUI จะทำงานได้อย่างแม่นยำโดยมีเสียงรบกวนรอบข้างมาก สภาพแวดล้อมการทำงานโดยทั่วไปสำหรับลำโพงอัจฉริยะอาจรวมถึง TV หรือวิทยุ การสนทนา แหล่งเพลงอื่นๆ และเสียงอึกทึกครึกโครมของครอบครัวหรือการรวมตัวทางสังคม ยิ่งไปกว่านั้น VUI จะต้องต่อสู้กับภาษาถิ่นและการใช้ถ้อยคำที่ไม่สมบูรณ์แบบ แม้จะมีความท้าทายเหล่านี้ แต่ผู้ใช้ก็คาดหวังถึงประสิทธิภาพที่แทบจะไร้ที่ติ

เพื่อปรับปรุงประสิทธิภาพในสภาพแวดล้อมการฟังที่ยากลำบาก ซอฟต์แวร์ Cyberon DSpotter ที่ทำงานบน MCU ตระกูล Renesas RA มีคุณสมบัติป้องกันเสียงรบกวนที่ต้องใช้ทรัพยากรโปรเซสเซอร์น้อยที่สุด เพื่อแสดงให้เห็นถึงประสิทธิภาพ การทดสอบได้ดำเนินการโดยใช้ Cyberon DSpotter VUI ฟังคำสั่งในขณะที่อยู่ภายใต้แหล่งกำเนิดเสียงรบกวนพื้นหลังต่างๆ ที่ระยะ 1.5 และ 3 เมตร (m) และมีอัตราส่วนสัญญาณต่อเสียงรบกวน (SNR) เท่ากับ 0, 5 และ 10 เดซิเบล (dB) ในทุกกรณี VUI มีประสิทธิภาพเหนือกว่าเกณฑ์มาตรฐานของ Amazon Alexa (ตารางที่ 1)

SNR เสียงพื้นหลัง ระยะห่าง อัตราการเข้าชม ข้อกำหนดของ Alexa
(ทำความสะอาด) ไม่มี 1.5 m 100.00% 90%
(ทำความสะอาด) ไม่มี 3 m 100.00% 90%
10 dB พูดไม่ชัด 1.5 m 98.55% 80%
10 dB พูดไม่ชัด 3 m 98.84% 80%
10 dB ดนตรี 1.5 m 98.26% 80%
10 dB ดนตรี 3 m 98.55% 80%
10 dB TV 1.5 m 98.84% 80%
10 dB TV 3 m 98.55% 80%
5 dB พูดไม่ชัด 1.5 m 98.84% 80%
5 dB พูดไม่ชัด 3 m 96.24% 80%
5 dB ดนตรี 1.5 m 98.84% 80%
5 dB ดนตรี 3 m 97.08% 80%
5 dB TV 1.5 m 93.37% 80%
5 dB TV 3 m 90.72% 80%

ตารางที่ 1: ผลการทดสอบความสำเร็จของคำสั่งสำหรับ VUI ที่ขับเคลื่อนด้วย Cyberon พร้อมแหล่งเสียงรบกวนพื้นหลังต่างๆ ในทุกกรณี VUI มีประสิทธิภาพเหนือกว่าเกณฑ์มาตรฐานของ Amazon Alexa (แหล่งรูปภาพ: Renesas)

สรุป

VUI กำลังกลายเป็นอินเตอร์เฟสการควบคุมผู้บริโภคที่เป็นที่ต้องการสำหรับผลิตภัณฑ์อัจฉริยะอย่างรวดเร็ว วิธีการควบคุมคำพูดโดยใช้หน่วยเสียงเป็นพื้นฐานของคำสั่งและโครงสร้างคำสั่งที่เข้มงวดสามารถลดความต้องการหน่วยความจำและการประมวลผลลงได้อย่างมาก ทำให้เทคโนโลยีสามารถทำงานบน MCU ขนาดเล็กที่มีทรัพยากรจำกัดได้ภายในเครื่อง

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this publisher

DigiKey's North American Editors