マルツTOP > APPLICATION LAB TOPページ おすすめ技術記事アーカイブス > リソースに制約のあるMCUに音声ユーザーインターフェースを実装する方法

リソースに制約のあるMCUに音声ユーザーインターフェースを実装する方法

DigiKeyの北米担当編集者の提供
2023-12-14

マルツ掲載日:2024-05-20



 スマートスピーカーやその他のコネクテッドハブにより、スマートホームの中心が形成され、ユーザーがデバイスを制御したり、インターネットにアクセスしたりすることが可能になります。これらのデバイスの普及に伴い、2つの傾向が明らかになっています。1つはユーザーがボタンを押したり複雑なメニューシステムよりも音声制御を好むこと、もう1つはプライバシー上の懸念から常時クラウドに接続されることに対する不安感が高まっていることです。

 しかし、堅牢で安全な音声ユーザーインターフェース(VUI)には、通常、音声認識のための強力なハードウェアと複雑なソフトウェアが必要になります。それ以下では、パフォーマンスが低下し、満足のいくユーザー体験が得られない可能性が高くなります。また、多くのスマートスピーカーやハブはバッテリ駆動であるため、VUIは厳しいパワーバジェット内で実現されなければなりません。このような大規模なプロジェクトは、音声インターフェースの経験が乏しい開発者にとっては大変なことです。

 チップメーカーは、処理要件を大幅に削減する音素をベースにした技術を導入することで対応しています。その結果、使い慣れた32ビットマイクロコントローラ(MCU)上で動作し、使いやすい設計ツールでサポートされる、高精度で効率的なVUIソフトウェアが実現しました。

 この記事では、VUIの課題と使用例について説明します。続いて、コネクテッドホームアプリケーションのための、市販の使いやすいMCUアプリケーションソフトウェアとローカル音素ベースのVUIソフトウェアを紹介します。最後に、Renesas MCU、VUIソフトウェア、および評価キットを使用したVUIプロジェクトの開始方法について説明します。

VUI構築の課題

 VUIとは音声認識技術のことで、音声コマンドを使ってコンピュータやスマートフォン、ホームオートメーションシステム、その他の機器との対話を可能にするものです。初期のエンジニアリング上の課題を経て、この技術は信頼性の高い制御インターフェースとして成熟し、現在ではスマートスピーカやその他のスマートホームデバイスに広く使用されています。

 VUIの主な利点は、その利便性にあります。キーボード、マウス、ボタン、メニュー、またはコマンドを入力するための他のインターフェースを使用する必要がなく、音声の届く範囲であればどこからでも即座にコントロールできます(図1)。


図1:VUI技術は、便利で柔軟性があるため、家庭やスマートビルで広く採用されています。(画像提供:Renesas)

 VUIの欠点はその複雑さにあります。従来の技術は、特定の単語やフレーズを使ったモデルの長時間のトレーニングをベースにしています。しかし、自然言語処理は語順に依存しないため、リアルタイムで実行するにはかなりの開発作業と大きな計算能力が必要になります。これがVUIの普及を遅らせている原因です。

 現在、新しい技術により、VUIソフトウェアは、 Arm Cortex-Mデバイスのような小型で効率的なマイクロコントローラ(MCU)で実行できる程度まで簡素化されています。この技術は、話し言葉のすべての単語が音素と呼ばれる言語音で構成されているという事実に基づいています。

 英語の音素数は44、イタリア語の音素数は32、伝統的なハワイ語の音素数は14です。VUIが200の単語からなる英語のコマンドセットを使用する場合、各単語は44のセットから関連する音素に分解することができます。

 VUIソフトウェア内では、各音素は数字コード(またはトークン)によって識別され、さまざまなトークンが言語を形成します。単語を音として保存するには膨大な計算リソースが必要であり、トークンとして保存される音素よりもはるかに多くのメモリ容量を消費します。

 音素トークン(したがって命令語)を予想される順序で処理することで、計算がさらに簡素化され、比較的低仕様のMCUでVUIソフトウェアをローカルで実行することが可能になります(図2)。


図2:音素を使って単語を表現すると、マイコンのリソースが少なくて済みます。(画像提供:Renesas)

 つまり、音素を使用することでソフトウェアの効率が向上し、その結果、処理をローカルで実行できるようになります。クラウド処理の必要性がなくなるということは、ユーザーのプライバシーやデータセキュリティの懸念が生じるインターネットの常時接続が不要になるということです。

 Renesasは、そのエコシステムの一部として、音素の原理に基づいた商用VUIソフトウェアパッケージを発表しました。Cyberon Dspotterと呼ばれるこのソフトウェアは、Arm Cortex-M4コアやM33コアを搭載したRenesas RA シリーズMCUで動作するように効率化されたVUIアルゴリズムを生成します。

Cyberon DSpotterによる開発

 Cyberon DSpotterは、音素と音素の組み合わせのライブラリをベースにして構築されています。これは、特定の単語を認識するための、従来の計算量の多いアルゴリズムのトレーニングに代わるアプローチです。単語を音素に分解し、トークンとして表現するには、DSpotterモデリングツールを使用します。

 DSpotterは、堅牢なノイズ除去機能を備えたローカル音声トリガとコマンド認識ソリューションとして機能する組み込み型(非クラウド)ソフトウェアです。最小限のリソースしか消費せず、精度も高くなっています。選択したMCUによっては、セキュアなデータ転送を実装することもできます。

 DSpotterはコマンドの単語やフレーズを尋ねますが、ツールはこれを音素に分解します。VUI用のコマンドセットとサポートデータは、その後、Cyberonライブラリとともにプロジェクトに含めるバイナリファイルにビルドされます。ライブラリとバイナリファイルはMCU上で一緒に使用され、希望する音声コマンドの認識をサポートします。

 DSpotterツールは「CommandSets」を生成し、プログラムによって論理的に接続することで、さまざまなレベルのVUIを作成することができます。これによって、「電球を高く設定してください」というような「電球」、「設定」、「高く」のような複数レベルのコマンドが可能になります。グループ内の各コマンドは、レベル内の各コマンドと同様に、独自のインデックスを持ちます(図3)。


図3:DSpotterツールは、開発者のプログラムによって論理的に接続され、異なるレベルのVUIを作成できる「CommandSets」を生成することができます。(画像提供:Renesas)

 DSpotterライブラリは、入力された音声を処理し、データベース内のコマンドに一致する音素を検索します。マッチすると、インデックスとグループ番号が返されます。このような準備により、メインアプリケーションコードは、コマンドワードとフレーズを処理するための階層的なスイッチステートメントを生成することができます。

 こうしてできたライブラリは、わずか256Kバイトのフラッシュメモリと32KバイトのSRAMを搭載したMCUに収まるほど小さくできます。CommandSetは、より多くのメモリが利用可能であれば、大きくすることができます。

 開発者は、VUIのための音素法には限界があることを理解することが重要です。MCUのリソースが比較的限られているため、Cyberon DSpotterは音声認識ではなくスピーチ認識を行うことになります。これは、ソフトウェアが自然言語処理を行えないことを意味します。したがって、コマンドの単語が論理的な順序に従っていない場合(たとえば、「電球」、「設定」、「高く」ではなく、「高く」、「電球」、「設定」)、システムはコマンドを認識できず、トップレベルにリセットされます。

 1つの設計提案は、プロセッサがCommandSetのトップレベルにいると仮定したときに、それを示す視覚インジケータ(たとえばLED)をVUIに追加し、論理シーケンスでコマンドを再発行するようユーザに促すことです(図4)。


図4:Cyberon DSpotterの効率的な性質上、コマンドは論理的な順序に従わなければ認識されません。(画像提供:Renesas)

制限されたリソースでの非クラウドVUIの実行

 Cyberon DSpotterの効率性により、ルネサスのRA2、RA4、RA6ファミリのArm Cortex-M MCU上で動作します。これらは、民生用、産業、IoTなど幅広い用途で人気があります。使いやすいデザインツールによってサポートされているため、豊富なコーディング経験や社内に専門知識がなくても、シンプルなVUIを比較的簡単に構築できます。

 特定のRAファミリのMCUを選択する主な理由は、コマンドの複雑さとCyberonライブラリのサイズにあります。効果的に動作させるために、必要なコマンドセットと計算能力が限られているスマートライトスイッチは、RA4ファミリのR7FA4W1AD2CNGをベースにすることができます。

 このMCUは、バッテリに優しい48MHzのArm Cortex-M4コアと、512Kバイトのフラッシュメモリ、96KバイトのSRAMを搭載しています。セグメントLCDコントローラ、静電容量式タッチセンシングユニット、Bluetooth Low Energy(Bluetooth LE)ワイヤレスコネクティビティ、USB 2.0フルスピード、14ビットA/Dコンバータ(ADC)、12ビットD/Aコンバータ(DAC)、さらにセキュリティと安全機能を備えています(図5)。


図5:R7FA4W1AD2CNG MCUは、スマートライトスイッチのようなアプリケーション向けの非クラウドVUIを構築するための十分なリソースを提供します。(画像提供:Renesas)

 スマートスピーカーのようなアプリケーションには、より広範なCyberon DSpotterライブラリと、より強力なコアが必要です。最適な候補は R7FA6M4AF3CFMです。RA6ファミリのこのMCUは、より強力な200MHzのArm Cortex-M33コアと、1Mバイトのフラッシュメモリ、256KバイトのSRAMを搭載しています。CANバス、Ethernet、I²C、LINバス、静電容量式タッチセンシングユニット、その他多くのインターフェースと周辺モジュールを備えています。

 RA4ファミリとRA6ファミリは、それぞれRTK7EKA4W1S00000BJRTK7EKA6M4S00001BEという評価ボードでサポートされており、MCUの機能を試すことができます。各評価ボードには、ターゲットMCUとオンボードデバッガが搭載されています。

 Renesasは、開発を加速するVUIソリューションキットも提供しています。このキットは、ターゲットデバイスとデバッガが組み込まれている点で、評価ボードと似ています。このボードはまた、いくつかのI/Oインターフェースを備えており、2つのアナログと2つのデジタルの計4つのマイクを搭載しています。

 VUIソリューションキットによる開発に必要なソフトウェアへのアクセスは、Cyberonのウェブサイトから入手できます。これには、Cyberon Dspotterモデリングツールへの無料アクセスと、音声コマンドセットを含むe2 studioプロジェクトが含まれます(e2 studioは、EclipseベースのルネサスMCU用統合開発環境(IDE)です)。

 CommandSetの例は、カスタム音声コマンドシーケンスを開発するためのテンプレートとして使用できます。システムから応答は、ターミナルウィンドウを使ってモニタすることができます。通常、図4に示すVUI構造を生成するのに約15分かかります。

 Cyberonパッケージのより高度なアプリケーションソフトウェア設計は、RAファミリを使用した組込みシステム設計向けのRenesas FSP(Flexible Software Package)によってサポートされます。FSPはオープンソフトウェアエコシステムをベースにしており、Azure RTOSまたはFreeRTOS、レガシーコード、サードパーティのエコシステムが含まれます。e2 studioを含むいくつかのIDEで実行できます。

VUIの性能

 静かな実験室でVUIがうまく機能することと、大きなバックグラウンドノイズの中でVUIが正確に機能することは全く別のことです。スマートスピーカーの標準的な使用環境には、テレビやラジオ、会話、他の音楽ソース、家庭やパーティなどの一般的な喧騒などが含まれます。さらに、VUIは方言や完璧でない言葉遣いとも戦わなければなりません。こうした課題にもかかわらず、ユーザーはほぼ完璧な性能を期待しています。

 RenesasのRAファミリMCU上で動作するCyberon DSpotterソフトウェアには、厳しいリスニング環境での性能を向上させるために、最小限のプロセッサリソースで動作するノイズイミュニティ機能が搭載されています。その有効性を実証するため、1.5メートルと3メートルの距離、0、5、10デシベルのSN比(信号対雑音比)で、さまざまなバックグラウンドノイズを受けながら、Cyberon DSpotter VUIでコマンドをリッスンするテストが行われました。すべてのケースで、VUIはAmazon Alexaベンチマークを上回りました(表1)。


表1:さまざまなバックグラウンドノイズを含むCyberon-powered VUIのコマンド成功テスト結果。すべてのケースで、VUIはAmazon Alexaベンチマークを上回りました。(画像提供:Renesas)

まとめ

 VUIは、スマート製品の消費者向け制御インターフェースとして急速に普及しています。音素をコマンドの基礎とし、厳密なコマンド構造を使用する音声制御アプローチは、メモリと計算要件を劇的に削減できるため、リソースに制約のある小型MCUでもローカルで動作させることができます。




免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKey Electronicsの意見、信念および視点またはDigiKey Electronicsの公式な方針を必ずしも反映するものではありません。

 

このページのコンテンツはDigiKey社より提供されています。
英文でのオリジナルのコンテンツはDigiKeyサイトでご確認いただけます。


DigiKey社の全製品は 1個からマルツオンラインで購入できます

※製品カテゴリー総一覧はこちら



ODM、OEM、EMSで定期購入や量産をご検討のお客様へ【価格交渉OK】

毎月一定額をご購入予定のお客様や量産部品としてご検討されているお客様には、マルツ特別価格にてDigiKey社製品を供給いたします。
条件に応じて、マルツオンライン表示価格よりもお安い価格をご提示できる場合がございます。
是非一度、マルツエレックにお見積もりをご用命ください。


ページトップへ