マイクから入力された音声を文字列に変換し、テスト中のコメントとして記録する LatteArt の拡張機能です。
本拡張機能では音声-文字列の変換を行うため、LatteArt とは別に音声認識サーバを起動する必要があります。
音声認識サーバでマイクからの音声を取得するために、音声編集ツール( SoX )をインストールします。
SoXを「ダウンロードサイト」からダウンロードし、インストールします。SoXのインストールディレクトリにパスを通します。
音声認識サーバをビルドするために、PythonとVisual Studio Build Toolsをインストールします。
-
Python3 系(~ 3.11.x)をインストールします。
⚠️ バージョン 3.12 だとエラーになるため注意。 -
Visual Studio Build Toolsをインストールします。- 「ダウンロードサイト」下部の「すべてのダウンロード」→「Tools for Visual Studio」を開き、「Build Tools for Visual Studio 2022」の右側のボタンからインストーラをダウンロードします。
- ダウンロードしたインストールを起動します。
- ワークロードから「C++ によるデスクトップ環境」をチェックします。
⚠️ Windows10 の場合は、右側のインストールの詳細から追加で「Windows 10 SDK」を全てチェックします。(Windows11 の場合は不要) - 右下の「インストール」ボタンを押下します。
- ext-speech-recognition 拡張の clone
- 本リポジトリを任意のディレクトリに clone します。
- 依存パッケージのインストール
- ext-speech-recognition の
speech-recognitionディレクトリ配下で以下コマンドを実行し、依存パッケージのインストールを行います。$ npm install
- ext-speech-recognition の
- サーバのビルド
- ext-speech-recognition の
speech-recognitionディレクトリ配下で以下コマンドを実行し、音声認識サーバをビルドします。$ npm run build
- ext-speech-recognition の
音声認識サーバでは、OSSの音声認識ツール(VOSK)を使用しています。
音声認識を行うために、VOSKの言語モデルを音声認識サーバに配置します。
- ext-speech-recognition の
speech-recognitionディレクトリ配下にmodelsディレクトリを作成します。 VOSKの言語モデルを「ダウンロードサイト」からダウンロードし、modelsディレクトリ配下に配置します。
speech-recognitionディレクトリ配下の設定ファイル(speech-recognition.config.json)から各種設定を変更します。
modelPathプロパティで、VOSKの言語モデルのディレクトリパスを指定します。
例: vosk-model-small-ja-0.22ディレクトリをmodels配下に配置した場合
必要に応じて音声認識に関する以下の設定も変更可能です。
| プロパティ | 説明 |
|---|---|
| sampleRate | 音声のサンプリングレート。 |
| voskLogLevel | VOSK のログレベル。 |
-
サーバの起動
- ext-speech-recognition の
speech-recognitionディレクトリ配下で以下コマンドを実行し、音声認識サーバを起動します。$ npm run run
💡 デフォルトの待ち受けポート番号は
3003です。ポート番号は環境変数PORTに設定してサーバを起動することで変更することができます。 - ext-speech-recognition の
拡張機能 が搭載された LatteArt は以下の画面が拡張されます。
以下の設定項目が追加されます。
- 音声認識設定
- テスト中にマイクから入力された音声をコメントとして記録する
- ON にすると記録中に別途起動した音声認識サーバと通信し、マイクから入力された音声がテスト中のコメントとして自動的に記録されるようになります。
⚠️ 本設定は保存されません。LatteArt の GUI を再表示した場合は、設定画面から再度設定してください。
- 音声認識サーバ URL
- 接続先の音声認識サーバの URL を設定してください。
- テスト中にマイクから入力された音声をコメントとして記録する
以下の手順で LatteArt 本体と組み合わせてビルドします。
-
LatteArt 本体の clone
- LatteArt のリポジトリを任意のディレクトリに clone します。
⚠️ LatteArt 本体のバージョンは 2.15.0 以上である必要があります。
-
ext-speech-recognition 拡張の clone
- 本リポジトリを LatteArt 本体とは別のディレクトリに clone します。
-
ext-speech-recognition 拡張の本体側への配置
- LatteArt 本体側ディレクトリの
latteart/packages/latteart-gui/src/extensions配下にext-speech-recognitionディレクトリを作成し、配下に ext-speech-recognition 拡張側ディレクトリのguiディレクトリをディレクトリごとコピーします。
- LatteArt 本体側ディレクトリの
-
拡張機能を読み込むためのソースコード修正
-
LatteArt 本体側ディレクトリの
latteart/packages/latteart-gui/src/extensions/index.tsファイルをエディタで開き、以下のように修正します。// ファイル冒頭にimport文を追記 import { extSpeechRecognition } from "./ext-speech-recognition/gui"; // ... 省略 ... export const extensions: GuiExtension[] = [ // 配列内に`extSpeechRecognition`を追記 extSpeechRecognition ];
-
-
依存パッケージのインストール
- LatteArt 本体側ディレクトリのルートディレクトリ(
latteart) 配下で以下コマンドを実行し、依存パッケージのインストールを行います。$ npm install
- LatteArt 本体側ディレクトリのルートディレクトリ(
事前準備が完了していれば、LatteArt 本体側ディレクトリ配下で各種 npm スクリプトを実行することでビルド可能です。詳細はLatteArt 本体側のドキュメントをご覧ください。
{ "modelPath": "./models/vosk-model-small-ja-0.22", // ... }