Trong các ứng dụng nhà thông minh, loa thông minh kết hợp với các thiết bị kết nối trung tâm, tạo thành “trái tim” của hệ thống, cho phép người dùng dễ dàng kết nối với internet và điều khiển thiết bị chỉ bằng giọng nói. Hiện nay, một xu hướng khá rõ ràng là người dùng không thích sử dụng các menu cấu hình phức tạp, và thích việc sử dụng giọng nói để điều khiển hơn nhiều.
Tuy nhiên, việc sử dụng các ứng dụng nhận diện giọng nói khiến hệ thống phải kết nối với Clouds nhiều hơn và tăng các lo ngại liên quan đến bảo mật. Nhưng nếu không kết nối với Clouds, các hệ thống Voice User Interface (VUI) có tính bảo mật và đáng tin cậy đều yêu cầu phần cứng mạnh mẽ và phần mềm phức tạp để nhận diện giọng nói. Bên cạnh đó, rất nhiều các loa thông minh và thiết bị kết nối sử dụng pin, vì vậy một VUI cũng rất cần chú ý đến tính toán nguồn tiêu thụ.
Một dự án tham vọng với VUI giá thành thấp, đáng tin cậy, bảo mật tốt, ít phụ thuộc vào Clouds sẽ tạo ra nhiều thách thức với các kỹ sư ít kinh nghiệm trong giao diện giọng nói. Một số nhà sản xuất chip đã giới thiệu kỹ thuật nhận diện giọng nói dựa trên âm vị (phonemes) giúp làm giảm đáng kể yêu cầu xử lý dữ liệu. Ứng dụng kỹ thuật này giúp các kỹ sư có thể phát triển một phần mềm VUI có độ chính xác cao và hiệu quả có thể hoạt động động trên các MCUSs 32-bit, cũng như hỗ trợ các công cụ thiết kế dễ sử dụng.
Trong bài viết này, hãy cùng Điện tử Hatakey tìm hiểu về những thách thức khi triển khai hệ thống giao diện người dùng bằng giọng nói (VUI), cũng như các phần mềm VUI thương mại hiện nay đang triển khai trên vi điều khiển (VĐK) và cách triển khai một dự án VUI với vi điều khiển của Renesas nhé!
Thách thức của việc xây dựng VUI
Giao diện người dùng bằng giọng nói (VUI) là công nghệ nhận dạng giọng nói cho phép tương tác với máy tính, điện thoại thông minh, hệ thống tự động hóa trong nhà hoặc các thiết bị khác bằng lệnh thoại.
Sau những thách thức kỹ thuật ban đầu, công nghệ này đã phát triển thành một giao diện điều khiển đáng tin cậy và hiện đang được sử dụng rộng rãi trong loa thông minh và các thiết bị nhà thông minh khác. Lợi ích chính của VUI là sự tiện lợi: điều khiển tức thì từ bất kỳ vị trí nào trong phạm vi giọng nói mà không cần sử dụng bàn phím, chuột, nút bấm, menu hay các giao diện khác để nhập lệnh.
Hình 1. Công nghệ VUI đã và đang hiện hữu rộng rãi trong các ứng dụng nhà thông minh (Credit: Renesas)
Nhược điểm của giao diện người dùng bằng giọng nói (VUI) là sự phức tạp của nó. Công nghệ thông thường dựa trên việc huấn luyện mô hình lâu dài với các từ hoặc cụm từ cụ thể. Tuy nhiên, xử lý ngôn ngữ tự nhiên không phụ thuộc vào trật tự từ ngữ, điều này đòi hỏi nhiều công sức phát triển và sức mạnh tính toán đáng kể để chạy theo thời gian thực. Chính điều này đã làm chậm việc ứng dụng rộng rãi VUI.
Hiện nay, một kỹ thuật mới đã đơn giản hóa phần mềm VUI đến mức nó có thể chạy trên các vi điều khiển (MCU) nhỏ gọn, hiệu quả như các thiết bị Arm Cortex-M. Kỹ thuật này dựa trên thực tế rằng tất cả các từ trong một ngôn ngữ nói đều được cấu tạo từ các âm vị – gọi là phoneme. Số lượng âm vị ít hơn rất nhiều so với số lượng từ; tiếng Anh có 44 âm vị, tiếng Ý có 32, và tiếng Hawaii truyền thống chỉ có 14.
Nếu một hệ thống VUI sử dụng bộ lệnh bằng tiếng Anh gồm 200 từ, mỗi từ có thể được phân tách thành các âm vị tương ứng từ tập hợp 44 âm vị đó. Trong phần mềm VUI, mỗi âm vị sau đó có thể được nhận diện bằng một mã số (hoặc “token”), và các token khác nhau sẽ tạo thành ngôn ngữ.
Lưu trữ từ dưới dạng âm thanh cần nhiều tài nguyên tính toán và bộ nhớ hơn nhiều so với khi lưu âm vị dưới dạng token. Việc xử lý các token âm vị (và từ lệnh tương ứng) theo trật tự dự kiến càng giúp đơn giản hóa quá trình tính toán, khiến phần mềm VUI có thể chạy trực tiếp trên một MCU khiêm tốn (Hình 2).

Hình 2: Mô tả các từ dưới dạng âm vị cần ít tài nguyên vi điều khiển hơn (Credit: Renesas)
Điều này có nghĩa là hiệu suất phần mềm đạt được nhờ sử dụng các âm vị cho phép quá trình xử lý diễn ra ngay trên thiết bị. Việc loại bỏ nhu cầu xử lý trên đám mây (Cloud) cũng đồng nghĩa với việc không cần kết nối Internet liên tục, từ đó giải quyết các mối lo ngại liên quan đến quyền riêng tư của người dùng và bảo mật dữ liệu, đồng thời giảm bớt chi phí vận hành.
Renesas đã giới thiệu một gói phần mềm VUI thương mại dựa trên nguyên lý âm vị như một phần của hệ sinh thái của hãng. Phần mềm này, có tên Cyberon DSpotter, tạo ra một thuật toán VUI đủ tinh gọn để có thể chạy trên dòng vi điều khiển RA series của Renesas, sử dụng lõi Arm Cortex-M4 và M33.
Phát triển VUI với Cyberon DSpotter
Cyberon DSpotter được xây dựng dựa trên thư viện các âm vị và tổ hợp âm vị. Đây là một phương pháp thay thế cho cách tiếp cận truyền thống, vốn đòi hỏi nhiều tài nguyên tính toán để huấn luyện thuật toán nhận diện từ cụ thể. Để phân tích từ thành các âm vị và sau đó biểu diễn chúng dưới dạng token, lập trình viên có thể sử dụng công cụ DSpotter Modeling Tool.
DSpotter là phần mềm nhúng (không sử dụng Clouds), hoạt động như một giải pháp nhận diện lệnh thoại và kích hoạt bằng giọng nói tại chỗ với khả năng khử nhiễu cao. Phần mềm này tiêu tốn rất ít tài nguyên và có độ chính xác cao. Tùy thuộc vào loại MCU được chọn, có thể triển khai cả chức năng truyền dữ liệu an toàn.
DSpotter yêu cầu mỗi từ hoặc cụm từ lệnh, và công cụ sẽ phân tích chúng thành các âm vị. Tập lệnh (command set) và dữ liệu hỗ trợ cho VUI sau đó sẽ được tạo thành một tệp nhị phân (binary file) mà lập trình viên sẽ đưa vào dự án cùng với thư viện Cyberon. Thư viện và tệp nhị phân này sẽ được sử dụng cùng nhau trên MCU để hỗ trợ nhận diện các lệnh thoại mong muốn.
Công cụ DSpotter tạo ra các CommandSet có thể được lập trình viên kết nối logic trong chương trình để xây dựng một VUI nhiều cấp độ. Điều này cho phép tạo ra các lệnh đa cấp như: “Lightbulb set high” — các từ lệnh là: “lightbulb”, tiếp theo là “set”, và “high”. Mỗi lệnh trong một nhóm sẽ có chỉ số riêng, cũng như từng lệnh trong từng cấp độ (Hình 3).

Hình 3: Công cụ DSpotter cho phép tạo ‘CommandSets’ có thể kết nối một cách logic với nhau thông qua lập trình để tạo ra các VUI nhiều mức độ (Credit: Renesas)
Thư viện DSpotter xử lý âm thanh đầu vào và tìm kiếm các âm vị phù hợp với các lệnh đã có trong cơ sở dữ liệu. Khi tìm thấy kết quả phù hợp, nó sẽ trả về số chỉ mục (index) và số nhóm (group) tương ứng. Cách sắp xếp này cho phép mã chính của ứng dụng tạo ra một cấu trúc điều kiện phân cấp (hierarchical switch statement) để xử lý các từ hoặc cụm từ lệnh khi chúng được nhận diện.
Thư viện kết quả có thể nhỏ đến mức đủ để chạy trên một vi điều khiển (MCU) chỉ với 256 kilobytes (KB) bộ nhớ flash và 32 KB bộ nhớ SRAM.
CommandSet có thể được mở rộng nếu có thêm bộ nhớ khả dụng. Tuy nhiên, điều quan trọng là lập trình viên cần hiểu rằng phương pháp sử dụng âm vị trong VUI cũng có những giới hạn. Các tài nguyên tương đối hạn chế của vi điều khiển (MCU) khiến Cyberon DSpotter chỉ hỗ trợ nhận diện lời nói (speech recognition) chứ không phải nhận diện giọng nói (voice recognition). Điều này có nghĩa là phần mềm không thực hiện được xử lý ngôn ngữ tự nhiên.
Vì vậy, nếu các từ lệnh không được phát theo một trình tự logic (ví dụ: nói “high, lightbulb, set” thay vì “lightbulb, set, high”), hệ thống sẽ không nhận diện được lệnh và sẽ thiết lập lại về cấp độ cao nhất.
Một gợi ý thiết kế là thêm chỉ báo trực quan vào VUI (chẳng hạn như đèn LED) để báo hiệu khi bộ xử lý đang ở cấp độ đầu tiên của CommandSet. Điều này giúp nhắc nhở người dùng phát lại lệnh theo đúng thứ tự logic (Hình 4).

Hình 4: Mô tả chuỗi logic của lệnh được cài đặt qua Cyberon DSpotter
Vận hành VUI không Cloud với tài nguyên giới hạn
Cyberon DSpotter có hiệu suất xử lý cao, cho phép triển khai hiệu quả trên các dòng vi điều khiển Arm Cortex-M của Renesas bao gồm RA2, RA4 và RA6. Các dòng MCU này được sử dụng rộng rãi trong nhiều ứng dụng dân dụng, công nghiệp và IoT. Với sự hỗ trợ của các công cụ thiết kế thân thiện và dễ sử dụng, người dùng có thể phát triển giao diện điều khiển bằng giọng nói (Voice User Interface – VUI) một cách đơn giản, mà không đòi hỏi nhiều kinh nghiệm lập trình hoặc chuyên môn sâu về xử lý giọng nói.
Việc lựa chọn dòng vi điều khiển RA phù hợp chủ yếu phụ thuộc vào độ phức tạp của tập lệnh điều khiển và kích thước thư viện Cyberon sử dụng. Một công tắc đèn thông minh, vốn chỉ yêu cầu tập lệnh đơn giản và công suất tính toán ở mức vừa phải để vận hành hiệu quả, có thể được triển khai dựa trên vi điều khiển R7FA4W1AD2CNG thuộc dòng RA4. Vi điều khiển này sử dụng nhân Arm Cortex-M4 hoạt động ở tần số 48 MHz, tiết kiệm pin, đi kèm với 512 KB bộ nhớ flash và 96 KB SRAM.
Ngoài ra, thiết bị còn tích hợp bộ điều khiển LCD dạng phân đoạn, khối cảm ứng điện dung, kết nối không dây Bluetooth Low Energy (Bluetooth LE), giao tiếp USB 2.0 tốc độ đầy đủ (Full-Speed), bộ chuyển đổi tương tự–số (ADC) 14-bit, bộ chuyển đổi số–tương tự (DAC) 12-bit, cùng với các tính năng bảo mật và an toàn (xem Hình 5).

Hình 5: Vi điều khiển R7FA4W1AD2CNG cung cấp đầy đủ tài nguyên để xây dựng giao diện điều khiển bằng giọng nói (VUI) không cần kết nối đám mây, phù hợp với các ứng dụng như công tắc đèn thông minh. (Credit: Renesas)
Đối với các ứng dụng như loa thông minh, vốn yêu cầu thư viện Cyberon DSpotter lớn hơn và lõi xử lý mạnh mẽ hơn, cần sử dụng vi điều khiển có hiệu năng cao hơn. Một lựa chọn phù hợp là vi điều khiển R7FA6M4AF3CFM. Đây là sản phẩm thuộc dòng RA6, được trang bị nhân xử lý Arm Cortex-M33 hoạt động ở tần số 200 MHz, đi kèm với 1 MB bộ nhớ flash và 256 KB SRAM. Thiết bị còn hỗ trợ các giao tiếp như CAN bus, Ethernet, I²C, LIN bus, khối cảm ứng điện dung, cùng nhiều giao diện ngoại vi và tính năng khác.
Các dòng RA4 và RA6 đều được hỗ trợ bởi các bo mạch đánh giá lần lượt là RTK7EKA4W1S00000BJ và RTK7EKA6M4S00001BE, giúp các nhà phát triển dễ dàng kiểm thử và khai thác toàn diện các tính năng của vi điều khiển. Mỗi bo mạch đánh giá đều tích hợp sẵn vi điều khiển mục tiêu và bộ gỡ lỗi (debugger) trên bo mạch.
Renesas cũng cung cấp bộ công cụ giải pháp VUI nhằm tăng tốc quá trình phát triển. Bộ kit này tương tự như các bo mạch đánh giá ở chỗ tích hợp sẵn vi điều khiển mục tiêu và bộ gỡ lỗi (debugger). Ngoài ra, bo mạch còn được trang bị nhiều giao diện I/O và tích hợp bốn micro: hai micro analog và hai micro kỹ thuật số.
Phần mềm cần thiết để phát triển với bộ công cụ VUI có thể truy cập trên trang web của Cyberon. Gói phần mềm này bao gồm quyền truy cập miễn phí vào công cụ Cyberon DSpotter Modeling Tool và đi kèm với một dự án mẫu cho môi trường phát triển tích hợp e² studio (e² studio là IDE dựa trên nền tảng Eclipse dành cho vi điều khiển Renesas). Bộ lệnh điều khiển giọng nói mẫu (CommandSet) có thể được sử dụng như một khuôn mẫu để xây dựng các chuỗi lệnh điều khiển bằng giọng nói tùy chỉnh. Phản hồi của hệ thống có thể được theo dõi thông qua cửa sổ terminal. Thông thường, chỉ mất khoảng 15 phút để tạo ra cấu trúc VUI như minh họa ở Hình 4.
Việc thiết kế phần mềm ứng dụng phức tạp hơn cho gói Cyberon được hỗ trợ thông qua Renesas Flexible Software Package (FSP) – một nền tảng phần mềm linh hoạt dành cho thiết kế hệ thống nhúng sử dụng các dòng vi điều khiển RA. FSP được xây dựng dựa trên một hệ sinh thái phần mềm mở, bao gồm các thành phần như Azure RTOS hoặc FreeRTOS, mã nguồn kế thừa (legacy code), và hỗ trợ tích hợp với các hệ sinh thái từ bên thứ ba. FSP có thể hoạt động trên nhiều môi trường phát triển tích hợp (IDE), bao gồm cả e² studio.
Hệ thống VUI hoạt động tốt đến mức nào trong thực tế?
Việc một hệ thống VUI hoạt động hiệu quả trong môi trường phòng thí nghiệm yên tĩnh là một chuyện, nhưng để đạt được độ chính xác cao trong điều kiện có nhiều tạp âm lại là một thách thức hoàn toàn khác. Một môi trường vận hành điển hình của loa thông minh có thể bao gồm tiếng TV hoặc radio, tiếng trò chuyện, âm thanh từ các nguồn nhạc khác, cùng với các âm thanh sinh hoạt thường ngày trong gia đình hoặc tại các buổi tụ họp. Ngoài ra, hệ thống VUI còn phải xử lý được các giọng địa phương và cách phát âm chưa chuẩn xác. Bất chấp những thách thức này, người dùng vẫn kỳ vọng vào hiệu suất gần như hoàn hảo.
Để cải thiện hiệu suất trong môi trường nghe khó khăn, phần mềm Cyberon DSpotter chạy trên các dòng MCU RA của Renesas đã tích hợp các tính năng chống nhiễu (noise immunity), sử dụng rất ít tài nguyên xử lý. Nhằm chứng minh hiệu quả này, các bài kiểm tra đã được thực hiện với hệ thống VUI sử dụng Cyberon DSpotter trong khi phát lệnh dưới các điều kiện có nguồn tạp âm khác nhau, ở khoảng cách 1,5 mét và 3 mét, với tỷ lệ tín hiệu trên nhiễu (SNR) lần lượt là 0, 5 và 10 dB. Trong tất cả các trường hợp thử nghiệm, hệ thống VUI đều vượt trội so với chuẩn hiệu suất của Amazon Alexa (xem Bảng 1). Trong tất cả các trường hợp, hệ thống VUI đều vượt qua mức chuẩn của Amazon Alexa.
Bảng 1: Kết quả kiểm tra tỷ lệ nhận lệnh thành công của hệ thống VUI sử dụng Cyberon trong các điều kiện có nguồn tạp âm khác nhau. (Credit: Renesas)
Kết luận
Giao diện điều khiển bằng giọng nói (VUI) đang ngày càng trở thành phương thức điều khiển ưa thích cho các sản phẩm thông minh. Phương pháp điều khiển bằng giọng nói sử dụng các âm vị (phonemes) làm cơ sở cho các lệnh và cấu trúc lệnh chặt chẽ có thể giảm đáng kể yêu cầu về bộ nhớ và khả năng tính toán, giúp công nghệ này có thể hoạt động trực tiếp trên các vi điều khiển nhỏ, hạn chế tài nguyên.
Dịch bởi: Điện tử Hatakey
