Arduino音声認識エンジンを使い、音声コマンドでデバイスを制御します。
音声認識とは
音声認識は、音声を取得、解釈し、音声をテキストに変換(Speech To Text: STT)する技術分野です。音声がテキストに変換されると、音声ディクテーション、音声コマンドコントローラー、健康モニタリング、ロボット、人工知能、アクセシビリティなど、様々なアプリケーションに適用することができます。
Arduino音声認識エンジン

Arduino音声認識エンジン
Cyberonが開発したArduino音声認識エンジンは、市場で最もすばらしい組込みマイクロコントローラーで、音声認識するためのプラットフォームの一つです。複数のArduinoボードで完全互換性があり、Arduino IDEを使うことで、趣味のプロジェクトから商用製品で、柔軟で効率的、容易に利用可能です。
Arduino音声認識エンジンは、ライセンス形態によっては、さらにカスタマイズ可能です。詳細は、このチュートリアルのライセンスを参照してください。
概要
このチュートリアルでは、Arduino音声認識エンジンを使い、複数の音声コマンドの設定方法と、認識したコマンドによるカスタムタスクの実行方法を示します。実現するには、ボードの登録や無料の試用ライセンスの有効化を行う必要があります。その後、デモスケッチをテストし、カスタム音声コマンドの作成方法を示します。
ツールの全ての機能を使うことに興味があれば、無料ライセンスの制限を取り除く有料ライセンスの取得方法も示します。
目的
- 音声コマンドトリガーの設定
- ボードのシリアルナンバーの取得とライブラリ設定に必要なファイルの取得
- ライセンスの取得とデモスケッチの利用
- カスタム音声コマンドを使う新規プロジェクトの作成
- 無料ライセンスの制限を取り除くための、優良ライセンスの取得方法を学ぶ
必要なハードウェアとソフトウェア
Arduino音声認識エンジンを使うには、以下のボードのどれかが必要です。
- Arduino Portenta H7 (any variant) + Portenta Vision Shield (LoRa or Ethernet)
- Arduino Nicla Vision
- Arduino Nano 33 BLE Sense Rev 1
- Arduino Nano 33 BLE Sense Rev 2
- Arduino Nano RP2040
Portenta H7を使う場合、Portenta Visionシールドを使うのではなく、外付けハードウェアとして外部マイクを使うことができます。
以下のハードウェアとソフトウェアも必要です。
説明
Arduino音声認識エンジンは、Cyberonによって開発されたソリューションで、その能力を引き出すには、いくつかの追加手順が必要です。このチュートリアルでは、以下を説明します。
- Arduinoデバイスのシリアルナンバーの取得
- IDEへのライブラリのインストール
- 無料デモのテスト
エンジンの機能を拡張するには、Arduinoストアのバウチャーを購入する必要があります。以下のステップに従ってください。
- Cyberonのウェブサイトで必要な情報を入力する
- 必要なファイルを取得してライセンスを有効化する
設定
ライブラリの設定
3つのライブラリがあり、利用するボードにより、どれかをインストールする必要があります。
- Portenta H7 Family: Cyberon_DSpotterSDK_Maker_PortentaH7
- Nicla Vision: Cyberon_DSpotterSDK_Maker_NiclaVision
- Nano 33 BLE Sense (Rev1 & Rev2): Cyberon_DSpotterSDK_Maker_33BLE
- Nano RP2040: Cyberon_DSpotterSDK_Maker_RP2040
ライブラリマネージャで、ボード用の必要なライブラリを検索し、インストールしてください。
ライブラリのインストールに関する詳細な情報が必要であれば、このガイドを参照してください。
シリアルナンバーの取得
Arduino音声認識エンジンを使うには、無料の試用ライセンスか有料ライセンスが必要です。どちらの場合でも、使用するボードのシリアルナンバーが必要です。
ボードのシリアルナンバーを取得するには、ライブラリをダウンロードして、ファイル > スケッチ例 > Cyberon_DSpotterSDK > GetSerialNumberと進みます。
PCにボードを接続し、スケッチをアップロード後、シリアルモニタを開くとデバイスのシリアルナンバーが表示されます。
ツール > ボード情報を取得をクリックすると、“SN"番号が表示されるので、それを記録してください。デモライセンスを取得する
シリアルナンバーを取得したら、https://tool.cyberon.com.tw/ArduinoDSpotterAuth/FDMain.php を開きます。
- ボードを選択する
- “Board serial number"フィールドに書き込む
- Submitボタンをクリックする

ライセンス取得ページ
全ての準備が整えば、Submitボタンをクリックして、ライセンスを取得してください。ライセンスを示す数字の配列が表示されます。ライセンスを安全な場所に保存してください。次のステップで利用します。
無料のデモスケッチのテスト
- スケッチを開く: ファイル > スケッチ例 > Cyberon_DSpotterSDK > VoiceRecognition
CybLicense.hタブをクリック- 以下のように、波括弧{}の間にライセンスをペースト
|
|
g_lpdwLicenseの値を、取得したライセンスに置き換えることを忘れないでください。VoiceRecognitionに戻り、スケッチをアップロードします。
次に、シリアルモニタを開くと、利用できるコマンドが表示されています。これらが、CyberonSDKが認識できるコマンドです。

シリアルモニタの開始とコマンドリスト
次にエンジンをテストします。コマンドを大きな声で話すと、どのように音声を認識するかがわかります。
利用しているスケッチとライセンスはデモバージョンで、以下の制約があります。
- ボード開始後最大50回まで認識
- 各トリガーの前に20秒の遅延
コマンドのカスタマイズ
機能と人とのやり取りを拡張するために、Arduino音声認識エンジンで音声コマンドを作成することができます。このセクションでは、カスタム音声コマンドを含む新しいプロジェクトを作成するために、Cyberon Model Configurationの使い方を学びます。
Cyberon Model Configurationに行き、必要なフィールドに記入してください。
- 電子メールアドレス
- ボードモデル
- ボードのシリアルナンバー
- EULA Agreement: 注意深く読んでください

Cyberon Model Configuration
Nextをクリックすると新しいページに移ります。
- 新規プロジェクトの作成
- 既存プロジェクトのインポート
新規プロジェクトの作成
新規プロジェクトを作成するには、まず音声認識の言語を選ぶ必要があります。設定したら、Createをクリックします。

Cyberon: 新規プロジェクト
新しいトリガーを作成するために、以下のステップの設定を行います。
- 入力トリガーワード(例えば、“Hey Arduino”)を作成します。入力トリガーワードは、デバイスに通知し、その後にコマンドを発話することをボードに知らせます。

Cyberon: 入力トリガーを追加する
- コマンドリストを追加します。コマンドは、スケッチのタスクを実行するのに使います。例えば、
shareというコマンドがあるとき、後で、コマンドを取得してスケッチで何かを行うことが簡単にできます。

Cyberon: コマンドリストを追加する
- 次のステップでは、入力したデーが正しいかを確認します。Nextをクリックして終了します。
次のページでは、既に設定されている設定が全て表示されます。すべて正しいか確認してください。間違いがあれば、Backをクリックして修正してください。

Cyberon: モデル設定を終了する
全て確認したら、Confirmをクリックし、ヘッダーファイル(model.h)を作成します。このヘッダーは新規プロジェクトの一部で、使うにはスケッチフォルダーにコピーする必要があります。
電子メールの受信箱に何通貨のメールを受け取ります。それらをPCにダウンロードしてください。
IDEで、ファイル > スケッチ例 > Cyberon_DSpotterSDK > VoiceRecognition を開き、ファイル > 名前を付けて保存 をクリックし、スケッチ名を入力します。
保存したら、エクスプローラーを開き、スケッチのパスを選びます。
スケッチディレクトリで、先ほど電子メールの受信箱から取得したファイルをペーストします。
CybLicense_<id>.hModel_<id>.h
入力トリガーコマンドとコマンドリストを実装するには、スケッチを開き、以下のヘッダーをダウンロードしたものに置き換えます。
|
|
この時点で、プロジェクトが利用できるようになります。スケッチをアップロードして、シリアルモニタを開きます。作成した新しい入力トリガーワードとコマンドリストをテストすることができます。新しい入力トリガーワードを大きな声で話せば、認識されたワードがシリアルモニタに表示されます。
サンプルコードを修正する
定義したトリガーとコマンドで、自分の処理を実行したければ、VRCallback関数で実行できます。
まず、トリガーとコマンドのIDを知る必要があります。シリアルモニタに表示されてます。この場合、以下の通りです。
| キーワード | ID |
|---|---|
| Hey Arduino | 100 |
| read | 10000 |
| upload | 10001 |
| share | 10002 |
以下に修正したVRCallbackを示します。コマンドを検出したときの機能を簡単に追加できます。
|
|
ここでは、switch...caseを追加し、nID変数を評価し、別のIDと比較しています。それぞれのcase内で、トリガーやコマンドで実行するコードを追加してください。
|
|
制限を解除する(ライセンス)
モデルのカスタマイズや、コマンドやトリガーワードを追加したければ、適切なライセンスがあります。
- Speech Recognition license: Arduino Storeでバウチャーを用意しています
- Pro License: 制限を解除するのに、アクセスしてください
プロジェクトの要件に合う異なるライセンスがあります。Licensing section (Voucher codes)を参照してください。有料ライセンスを使うには、既にプロジェクトが存在している必要があります。前のセクションを参照してください。
Cyberon’s Licensed Project Configurationを参照してください。
必要なフィールドに記入してください。
- 電子メールアドレス
- ボード
- ボードのシリアルナンバー
- バウチャーコード
- プロジェクトのインポート: プロジェクトを作成する際に電子メールで受け取った
.dsprojファイル - EULAアグリーメント: 注意深く読んでください

Cyberon: バウチャーコードでのモデル設定
Nextをクリックし、プロジェクトオプションを確認したら、Continueをクリックしてください。
新しいライセンスとモデルヘッダーが新しい電子メールで送られてきます。
新規プロジェクトの作成で複製したスケッチを開きます。
#includeファイルを、最新のもの(異なるIDです)で置き換えます。
|
|
ボードにスケッチをアップロードすると、試用バージョンの制限が解除されていることがわかります。
ライセンス
各ライセンスとそれぞれのデバイスでの制限を示します。ライセンス用に取得したコードは、バウチャーコードとも呼ばれます。

Arduino音声認識エンジンのライセンスオプション
フリーデモ
- CDSpotterSDKライブラリとの互換性
- セット数: x1
- トリガー数: x1
- コマンド数: 4
- トリガー設定: 固定(設定不可)
- コマンド設定: 固定(設定不可)
- 認識回数: 制限なし
- トリガーモードの遅延: なし
- ハードウェア固定: なし
音声認識フリートライアル
認識回数が上限に達すると、モデルは停止するので、リブートする必要があります。
- CDSpotterSDKライブラリとの互換性
- セット数: x1
- トリガー数: x1
- コマンド数: 最大20
- トリガー設定: 設定可
- コマンド設定: 設定可
- 認識回数: x50
- トリガーモードの遅延: 20秒[1]
- ハードウェア固定: あり
[1]トリガーモードの遅延は、トリガーモードに入って起動ワードを認識されるまでに20秒の遅延があります。
音声認識ライセンス
- CDSpotterSDKライブラリとの互換性
- セット数: x1
- トリガー数: x1
- コマンド数: 最大20
- トリガー設定: 設定可
- コマンド設定: 設定可
- 認識回数: 制限なし
- トリガーモードの遅延: なし
- ハードウェア固定: あり
PRO
- CDSpotterSDKライブラリとの互換性
- セット数: 制限なし(ハードウェア依存)
- トリガー数: 制限なし(ハードウェア依存)
- コマンド数: 制限なし(ハードウェア依存)
- トリガー設定: 設定可
- コマンド設定: 設定可
- 認識回数: 制限なし
- トリガーモードの遅延: なし
- ハードウェア固定: あり
次のステップ
デモスケッチが動作したら、Arduino音声認識エンジンの全能力を引き出すために、これを実装することをおすすめします。
さらに情報が必要であれば、Cyberonのドキュメントを参照してください。
- ライブラリと"extra"フォルダの下には、要件とこのチュートリアルで示したステップを記載した
Readme.mdに加え、Cyberonによる追加ドキュメントがあります。 - Cyberonのyoutubeチャネルには、ステップバイステップチュートリアルのシリーズがあり、Arduino音声認識エンジンの使い方を知るのに役立ちます。
- Cyberon’s official Maker User Guideも参照してください。
おわりに
このチュートリアルでは、Arduino音声認識エンジンとは何か、ライセンスの種類と制限、ライセンスの取得方法を学びました。ライセンスを入手したら、フリーデモスケッチでのテスト方法と、カスタム音声トリガーでプロジェクトを作成する方法を学びました。そして、無料ライセンスで作成したプロジェクトをより高度なライセンスで使う方法を学びました。
オリジナルのページ
https://docs.arduino.cc/tutorials/nano-33-ble-sense/speech-recognition-engine/
最終更新日
August 16, 2026