VS Code Speechを使って音声でテキスト入力する

はじめに

長時間のコーディングやドキュメント作成で、指や手首が疲れている方も多いのではないだろうか。
私もその一人で、キーボード入力以外の手段を探していたところ、VS Codeの音声入力拡張機能がなかなか優秀だという話を聞いた。

VS Code Speechは、Microsoftが提供する拡張機能で、ローカル環境で音声認識処理を行ってくれるようだ。
つまり、音声データが外部サーバーに送信されることがないため、機密性の高いコードやドキュメントでも安心して音声入力ができる。

今回は、この VS Code Speech を導入して、実際に音声でテキスト入力を行うまでの手順をまとめてみた。

環境

VS Code: 1.107.0
Windows 11 Professional
Extension: VS Code Speech (ms-vscode.vscode-speech)

VS Code Speechとは

Microsoftが開発・提供しているVS Code用の拡張機能である。 主な特徴は以下の通り。

  • Speech-to-Text
    音声をテキストに変換(エディタ入力、チャット入力)

  • Text-to-Speech
    テキストを音声で読み上げ

  • ローカル処理
    インターネット接続不要で、PC上で処理が完結する

特に「ローカル処理」というのは大きなメリット。
クラウドベースの音声認識は精度が高い反面、レイテンシやプライバシーの懸念があるため。

インストール

1. 拡張機能のインストール

VS Codeの拡張機能ビュー(Ctrl+Shift+X)を開き、VS Code Speech を検索してインストールする。

VS Code Speech - Visual Studio Marketplace

2. 言語パックのインストール

インストール後、初めて音声認識機能を使おうとすると、言語パックのインストールを促される場合がある。
日本語で入力したい場合は、Japanese (Japan) language support for VS Code Speech という拡張機能が必要になる。

手動で探す場合は、拡張機能ビューで @category:"Other" speech などで検索すると出てくる。

設定

言語設定

デフォルトではOSの言語設定が参照されるようだが、明示的に日本語を指定しておいたほうがよい。
設定画面(Ctrl+,)を開き、accessibility.voice.speechLanguage を検索する。

"accessibility.voice.speechLanguage": "ja-JP"

これを ja-JP に設定すれば準備完了である。

マイクの権限確認

OS側でVS Codeに対してマイクの使用許可が与えられているか確認しておこう。
特にmacOSの場合は、「システム設定」→「プライバシーとセキュリティ」→「マイク」でVS Codeがオンになっている必要がある。

VS Code Speechにはマイクを選択する設定がなく、OSの既定のデバイスが使用される。

使ってみる

エディタでの音声入力

テキストファイルやMarkdownファイルを開き、以下のショートカットキーを押すと音声入力モードになる。

  • Windows / Linux: Ctrl + Alt + V
  • macOS: Cmd + Alt + V

コマンドパレット(F1)から Voice: Start Dictation in Editor を実行しても同じ。

マイクアイコンが表示され、話し始めるとリアルタイムでテキストが入力されていく。
停止するには Esc キーを押すか、もう一度同じショートカットキーを押せばよい。

トランシーバーモード (Walky-Talky Mode)

上記のショートカットキーを長押ししている間だけ音声認識を有効にすることもできる。
「ここだけ音声で入力したい」というピンポイントな修正には、このモードが便利。

チャットでの音声入力

GitHub Copilot Chatなどを使っている場合、チャット入力欄でも音声入力が可能だ。

  • Windows / Linux: Ctrl + I
  • macOS: Cmd + I

入力欄にあるマイクアイコンをクリックしても開始できる。 「コードを修正して」とか「この関数のテストを書いて」といった指示を口頭で出せるのは良い。

問題が起きる場合

今回、マイクが反応しないという問題が発生した。
その場合は以下を確認してみること。

ログの確認

  1. Ctrl + Shift + U で「出力 (Output)」パネルを開く。
  2. 右上のプルダウンから 「Speech」 を選択する。
  3. 音声入力を行おうとした際に、エラーが出ているかを確認

エラーを元にググってみると、解決策が見つかるかもしれない。

参考

おわりに

実際に使ってみた感想としては、認識精度はまあ普通くらいかも…。
Azure Speech SDKがベースになっているだけあって、専門用語でなければスムーズに変換してくれる。
ローカル処理のおかげか、発話から文字が表示されるまでのラグは気にならないレベルだった。
ただ、句読点(、。)の自動挿入については、話し方や設定によって挙動が変わるかもしれない。
「改行」と言えば改行してくれるなど、いくつかのボイスコマンドも存在するようなので、使いこなせばキーボードに触れる時間を減らせそう。

VS Code Speech は、単なるアクセシビリティ機能にとどまらず、プログラマの入力支援ツールとしても実用的だと感じた。
また、言葉に発することで思考が整理され、コードの設計やドキュメントの構成を考える助けにもなる。

オフィスで独り言を呟き続けるのは少々勇気がいるが、リモートワーク環境であれば、誰にも気兼ねなく使える。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。