2026年版 カスタムウェイクワード作成:オフラインONNXモデル
カスタムウェイクワードとは、デバイスに聞き取らせたいフレーズのことです。ブランド名や製品トリガー、「ねえ ホーム」など。従来の作り方は、数百人の録音を集め、クリーニングとラベリングを行い、学習して反復する、2~4週間と本格的な予算のかかる道のりでした。ここでは、より速い方法をご紹介します。
従来の方法 vs 新しい方法
- 従来の方法。 多様な話者から500件以上の録音を収集 → クリーニングとラベリング → モデルを学習 → テストして再学習。2~4週間、しばしば数十万円。
- 新しい方法。 フレーズを入力してBasicモデルを自動学習し、コンソールで自分の声を使って評価します。その結果を見て、ONNXファイルを購入してダウンロードするか判断できます。
オンライン学習の仕組み
- キーワードを入力。 使いたいフレーズを入力します。日本語・英語・ドイツ語・フランス語・中国語に対応。
- 自動学習。 複数のTTS音声を合成し、ノイズミックス・速度摂動・室内音響シミュレーションを加えてから、軽量なニューラルネットワークを学習します。10~20分、全自動。
- コンソールで自分のモデルを無料テスト。 Basicモデルの学習とオンラインテストは無料です。購入前に、自分のマイクと自然な発音で呼び出しを確認し、通常の会話で誤検出しないかも試します。
- ダウンロードするか判断。 コンソールでBasicモデルを評価した後、購入してONNXをダウンロードし、端末での検証へ進むか決めます。
得られるもの
| 項目 | 値 |
|---|---|
| モデルサイズ | 約100~170KB |
| 学習時間 | 約10~20分 |
| 対応言語 | 日本語・英語・ドイツ語・フランス語・中国語 |
| Recall | 静かな環境で90%以上 |
| 対応プラットフォーム | Android・Linux・Windows・macOS・ESP32・Web |
GPU不要、音声収集不要、パラメータ調整不要。数週間かかる従来のパイプラインと比べて、ハードルは桁違いに下がります。
一般的なツールではなく、これを使う理由
英語はウェイクワードツールの激戦区で、openWakeWordもPicovoiceも対応しています。しかし多くのツールが提供できていないのは、「単語を入力するだけ」で全言語に効くワークフローです:
- 学習パイプライン不要。 openWakeWordの自作モデルはPython・CUDA・ハイパーパラメータで週末がつぶれます。ここでは「学習」そのものがプロダクトです。
- 1モデルで複数キーワード。 共有バックボーン1つで2~10キーワードを検出。単語ごとにモデルを丸ごと読み込む必要がありません。
- 非英語が本当に動く。 英語中心のツールは、日本語・フランス語・ドイツ語のフレーズが必要になった瞬間に壁にぶつかります。
- Picovoiceの代替。 Picovoiceの無料プランは2026年6月30日に終了。Voicuteは買い切りで、端末ごとのライセンス料はありません。
モデルを使う
モデルは標準ONNXで、オープンソースのonnx-wakewordエンジン(Apache 2.0)で動作します。Mel特徴抽出と多段階の誤検出フィルタを同梱しています。
Python(Linux / macOS / Windows)
from wakeword_engine import WakeWordEngine
engine = WakeWordEngine()
engine.load('model_info.json', 'melspectrogram.onnx')
engine.start(lambda word, prob, info: print(f'{word} {prob:.0%}'))
Android
val engine = OnnxWakeWord.create(context, "model_info.json", "melspectrogram.onnx")
engine.setCallback { word, prob -> onWake(word) }
engine.start() // CPU 1%未満、単一フレーム推論 5ms未満
Webブラウザ
const engine = VoicuteWakeWord.create()
await engine.load("model_info.json", "melspectrogram.onnx")
await engine.start((word, prob) => console.log(word))
1モデル、複数の単語
フレーズごとにモデルを用意する必要はありません。マルチキーワード学習なら、3~10個のウェイクワードやコマンドワードを1つのONNXファイルに収められます。3語で135KB、10語で167KB。
料金
Basicモデルの学習とオンライン体験は無料です。ONNX/TFLiteファイルをダウンロードする場合のみ料金が発生します。ダウンロード後は、端末ごとのライセンス料・サブスクリプション・従量課金はありません。
FAQ
重要:オンラインテストはBasicモデルを評価するためのもので、本番利用可能であることを保証するものではありません。基本モデルは汎用の負例データを使うため、選んだキーワードによっては特定の音で誤検出することがあります。その場合は該当する音を負例として収集し、カスタム最適化についてサポートへお問い合わせください。セルフサービス機能は現在開発中です。
TTSだけでウェイクワードを学習できますか?
はい。ベースモデルはすべてTTSで合成した音声のみで学習するため、録音は不要です。標準的な発音はこれでカバーされ、任意の実音声ステップ(短いクリップ数本)でアクセントや騒がしい環境を補えます。
録音なしでカスタムウェイクワードを学習するには?
フレーズを入力するだけで、プラットフォームが多数のTTS音声からノイズ・速度のオーグメンテーション付きで学習データを合成し、軽量モデルを学習します。音声の収集もアップロードも不要です。
テキストからウェイクワードを作成するには?
テキストを入力し、モデルを出力するだけ。パイプラインが数分でフレーズを数千の発話バリエーションに変換します。音声サンプルもGPUも不要です。
カスタムウェイクワードはESP32でオフライン動作しますか?
はい。ESP32-S3ではデスクトップ向けONNXではなくINT8 TFLite Microエクスポートを使用します。公開ESP-IDFサンプルはESP32-S3-HMI-DevKitで検証されており、他のボードでは音声BSPとメモリ設定の調整が必要です。
Picovoiceの代替として使えますか?
Picovoiceの無料プランは2026年6月30日に終了し、非商用プランの予定はありません。Voicuteは代替として、単語を入力するだけで10~20分でオフラインONNXモデルを取得でき、買い切りで端末ごとのライセンス料はありません。日本語・英語・ドイツ語・フランス語・中国語に対応します。
Home Assistant用のウェイクワードを作成するには?
ONNXモデルをonnx-wakewordエンジンでWyomingサービスとして実行するか、デバイス上で直接実行します。Home Assistantガイドをご覧ください。
ウェイクワードを学習して試す →