本仕様書は、Linux環境においてローカルAIモデルを活用し、音声入力を汎用的なテキスト入力(キーボード・エミュレーション)として変換・出力するシステムの設計を定義する。本システムはX11およびWaylandの両ディスプレイサーバー環境に対応する設計となっている。
デバイス上のマイクから取得した音声をローカル環境内で即座にテキスト化し、アクティブなウィンドウへ自動入力する。ディスプレイサーバーの種類(X11/Wayland)を動的に判別し、最適な入力エミュレーションを実行する。
| カテゴリ | ツール名 | 対象環境 / 備考 |
|---|---|---|
| 録音管理 | SoX (rec) | 全環境共通。音声キャプチャに使用。 |
| 音声認識 | Whisper.cpp | 全環境共通。軽量モデルを用いた推論。 |
| 入力操作 | xdotool | X11環境用。キーストロークのシミュレート。 |
| ydotool / wtype | Wayland環境用。仮想デバイスを介した入力。 | |
| 通知機能 | libnotify | 全環境共通。デスクトップ通知。 |
出力層において、以下のロジックに基づき入力ツールを切り替える設計とする。
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then# Wayland用の入力コマンドを実行 (ydotool, wtype等)else# X11用の入力コマンドを実行 (xdotool)fi