← すべてのドキュメント
プラグイン

音声入力のセットアップと JavaScript API

Web Speech API による音声のテキスト変換です。ツールバーのマイクボタンで聞き取りのオン/オフを切り替え、途中の書き起こしはカーソルの下にリアルタイムで表示されます。外部サービスは使いません。音声は、ブラウザーが使用している音声認識のベンダーによって処理されます。

オプトイン

この機能は意図的にオプトインになっています。対応しているブラウザーでも、プラグインを有効にしない限りツールバーのボタンは表示されません。マイクの許可は慎重に扱うべきものなので、既定でマイクのアイコンが表示されることは避けています。

var cfg = {
    dictationEnabled: true,
    dictationLang: "en-US",              // BCP-47
    dictationContinuous: true,
    dictationInterimResults: true,
    dictationAutoPunctuation: true
};
new RichTextEditor("#editor", cfg);

ASP.NET Core のタグヘルパーでは次のようにします。

<richtextbox asp-for="Body" toolbar="default"
             enable-dictation="true"
             dictation-lang="en-US"
             dictation-continuous="true"
             dictation-auto-punctuation="true" />

JavaScript API

editor.dictation.start();
editor.dictation.stop();
editor.dictation.toggle();
editor.dictation.isListening();     // boolean
editor.dictation.isSupported();     // false on Firefox

ブラウザーのサポート

  • Chrome, Edge, Opera — 対応(Google のクラウド音声サービスを使用)
  • Safari 14.1 以降(macOS)、iOS 14.5 以降 — 対応(OS によってデバイス上またはクラウド)
  • Firefox — SpeechRecognition はありません。プラグインがこれを検出してボタンを非表示にします。

最初にクリックしたときに、マイクの許可を求められます。ユーザーはブラウザーのサイト設定から、いつでもこれを取り消せます。onerror ハンドラーは、not-allowed の場合にわかりやすいメッセージを表示します。

オプション

オプション既定値備考
dictationEnabledfalse機能を有効にするためのスイッチ。これがないと、プラグインは動作しません。
dictationLangnavigator.languageBCP-47 の言語タグ:en-US、es-ES、zh-CN、ja-JP など。
dictationContinuoustruefalse の場合、1 回の発話で停止します。
dictationInterimResultstrueブラウザーがまだ聞き取っている内容を、薄い色でプレビュー表示します。
dictationAutoPunctuationtrue確定した各部分の先頭を大文字にし、ピリオドがなければ追加します。