本プログラムは、Pythonを用いてマイクからの音声をリアルタイムで認識し、テキストに変換するGUIアプリケーションです。英語と日本語の音声認識に対応し、認識結果をテキストフィールドに表示、クリップボードへのコピー、プレーンテキストファイルへの保存が可能です。ユーザビリティを向上させるため、直感的なアイコンボタンや動作ログ表示を備えます。
- 言語: Python 3.x
- ライブラリ:
speech_recognition
: 音声認識pyperclip
: クリップボード操作pyaudio
: マイク入力tkinter
: GUI構築
- 依存: インターネット接続(Google Speech Recognition API使用)
- マイクアイコンボタン: 音声認識の開始を指示。
- バツアイコンボタン: 音声認識のキャンセルを指示。
- テキストフィールド: 認識した音声をリアルタイムで表示。
- 動作ログフィールド: プログラムの動作状況(開始、終了、エラーなど)を表示。
- クリップボードコピーボタン: 認識結果をワンクリックでクリップボードにコピー。
- 保存ボタン: 認識結果をプレーンテキストファイルに保存。
- 終了ボタン: プログラムを終了。
- 言語選択: 英語(
en-US
)と日本語(ja-JP
)のラジオボタン。
- 開始: マイクアイコンボタン押下で開始。
- 終了条件:
- バツアイコンボタン押下で手動キャンセル。
- 5秒間の沈黙で自動終了。
- リアルタイム表示: 認識中の音声を逐次テキストフィールドに反映。
- クリップボードコピー:
- 認識終了後、自動でクリップボードにコピー。
- クリップボードコピーボタンで手動コピーも可能。
- 動作ログフィールドに以下の情報を表示:
- 認識開始時: "音声認識を開始しました"
- 認識中: "認識中..."
- 認識成功: "認識結果: [テキスト]"
- 認識失敗: "音声を認識できませんでした"
- エラー: "エラー: [詳細]"
- 保存ボタン押下で、認識結果をプレーンテキストファイル(例:
output.txt
)に保存。 - 保存先はプログラム実行ディレクトリ。
- 終了ボタン押下でプログラムを正常終了。
- プログラム起動時、GUIが表示される。
- ユーザーが言語を選択し、マイクアイコンボタンを押す。
- マイクがアクティブになり、音声認識が開始。動作ログに状況を表示。
- 音声が認識されると、テキストフィールドにリアルタイムで表示。
- 5秒沈黙またはキャンセルボタン押下で認識終了。
- 認識終了後、自動でクリップボードにコピー。
- ユーザーが必要に応じてクリップボードコピーボタンまたは保存ボタンを使用。
- 終了ボタンでプログラム終了。
+-----------------------------+
| [マイク] [バツ] |
| 言語: [英語] [日本語] |
| +-----------------------+ |
| | テキストフィールド | |
| +-----------------------+ |
| +-----------------------+ |
| | 動作ログフィールド | |
| +-----------------------+ |
| [コピー] [保存] [終了] |
+-----------------------------+
- タイムアウト: 5秒(沈黙検出用)。
- ノイズ調整: 開始時に1秒間の周囲ノイズを調整。
- 形式: プレーンテキスト(
.txt
) - ファイル名:
speech_output_[タイムスタンプ].txt
(例:speech_output_20250310_123456.txt
)
- マイクが接続されていない場合、エラーメッセージを表示。
- インターネット接続がない場合、Google APIが利用できないためエラー表示。
- 日本語認識の精度は発音や環境に依存。
- 将来的に他の音声認識エンジン(例: DeepSpeech)の統合を検討可能。
- ログをファイルに保存するオプションを追加可能。
- 設計: 1日
- 実装: 2日
- テスト: 1日