RTer_fullPython
| temp | ||
| インストーラー | ||
| .gitignore | ||
| install.bat | ||
| main - 話者分離12-12安定版.py | ||
| main - 話者分離なし安定版12-15.py | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| transcriber - 話者分離12-12安定版.py | ||
| transcriber - 話者分離なし安定版12-15.py | ||
| transcriber.py | ||
| transcriber_settings.ini | ||
| uninstall.bat | ||
| 文字起こしvenv.bat | ||
| 音声文字起こし.spec | ||
🎤 リアルタイム音声文字起こしGUI
リアルタイムで音声を文字起こしするPythonアプリケーションです。
faster-whisper を使用し、GPU(CUDA)または CPU で高速な文字起こしを実現します。
✨ 主な機能
| 機能 | 説明 |
|---|---|
| リアルタイム文字起こし | マイク入力から即座にテキスト変換 |
| GPU / CPU 自動切替 | CUDAが利用可能な場合は自動でGPU推論 |
| 複数モデル対応 | base, medium, large-v3-turbo, large-v3 から選択可能 |
| 日本語 / 英語対応 | 入力言語を選択可能。英語の場合は日本語への自動翻訳も実行 |
| 音量しきい値調整 | スライダーで無音検出の感度を調整 |
| 録音機能 | 文字起こしと同時にWAVファイルを保存 |
| デバッグコンソール | リアルタイムでデバッグ情報を確認 |
| テキスト保存 | 文字起こし結果を自動的にテキストファイルに保存 |
📁 ファイル構成
RTer_full_Python/
├── main.py # GUIアプリケーション本体(PyQt5)
├── transcriber.py # 音声文字起こしワーカー(faster-whisper)
├── requirements.txt # 依存パッケージ一覧
├── transcriber_settings.ini # ユーザー設定ファイル(自動生成)
├── temp/ # 文字起こし結果・録音ファイルの保存先
├── install.bat # インストールスクリプト
├── uninstall.bat # アンインストールスクリプト
├── 文字起こしvenv.bat # 仮想環境起動スクリプト
└── ffmpeg.exe # 音声処理用FFmpeg
🚀 インストール
1. 前提条件
- Python 3.8+
- CUDA (オプション: GPU推論を使用する場合)
- Windows 10/11 推奨
2. セットアップ
# リポジトリをクローンまたはダウンロード
cd RTer_full_Python
# 仮想環境を作成
python -m venv venv
# 仮想環境を有効化
venv\Scripts\activate
# 依存パッケージをインストール
pip install -r requirements.txt
または、install.bat を実行してください。
3. 依存パッケージ
| パッケージ | 用途 |
|---|---|
faster-whisper |
Whisperベースの高速文字起こしエンジン |
PyQt5 |
GUIフレームワーク |
sounddevice |
オーディオ入力キャプチャ |
numpy |
数値計算 |
scipy |
WAVファイル処理 |
clipboard |
クリップボード操作 |
deep-translator |
英語→日本語 翻訳 |
pyannote.audio |
話者分離(オプション機能用) |
💻 使い方
アプリケーションの起動
# 仮想環境を有効化
venv\Scripts\activate
# 起動
python main.py
または、文字起こしvenv.bat をダブルクリックしてください。
操作方法
- 入力デバイス: マイクを選択
- 言語: 日本語 または 英語 を選択
- モデル: 精度と速度のバランスでモデルを選択
base- 軽量・高速medium- バランス型large-v3-turbo- 高速かつ高精度(推奨)large-v3- 最高精度
- 音量しきい値: 無音検出の感度を調整
- 「スタート」ボタン: 文字起こし開始
- 「ストップ」ボタン: 文字起こし停止
ボタン機能
| ボタン | 機能 |
|---|---|
| スタート | 文字起こし開始 |
| ストップ | 文字起こし停止 |
| クリア | テキスト表示エリアをクリア |
| コピー | 文字起こし結果をクリップボードにコピー |
| 保存 | テキストを保存(現在未実装) |
| 📁 フォルダ | tempフォルダを開く |
| 🐛 デバッグ | デバッグコンソールを表示 |
⚙️ 設定
アプリケーションの設定は transcriber_settings.ini に自動保存されます。
| 設定項目 | 説明 |
|---|---|
device_index |
選択した入力デバイスのインデックス |
language_index |
言語設定(0: 日本語, 1: 英語) |
model_index |
選択したモデル |
volume_threshold |
音量しきい値 |
📝 技術詳細
main.py
- TranscriberGUI クラス: PyQt5ベースのメインウィンドウ
- 入力デバイス選択
- 言語・モデル選択
- GPU/CPU自動判定表示
- 設定の永続化(INIファイル)
- DebugConsoleWindow クラス: デバッグ情報表示用のサブウィンドウ
transcriber.py
- TranscriberWorker クラス: 別スレッドで動作する音声処理ワーカー
pyqtSignalでGUIと非同期通信sounddeviceでリアルタイム音声キャプチャfaster-whisperでWhisper推論を実行- RMSベースの無音検出
- 英語→日本語の自動翻訳(deep-translator使用)
処理フロー
[マイク入力] → [音声キャプチャ] → [RMS計算] → [無音検出]
↓
[音声バッファ蓄積]
↓
[faster-whisper推論]
↓
[テキスト表示 & 保存]
🔧 トラブルシューティング
| 問題 | 解決策 |
|---|---|
| CUDA が認識されない | CUDAドライバー・cuDNNのバージョンを確認 |
| PyQt5 プラグインエラー | QT_QPA_PLATFORM_PLUGIN_PATH が正しく設定されているか確認 |
| 文字起こしが開始されない | 音量しきい値を下げてみる |
| モデルのロードが遅い | 初回起動時はモデルダウンロードに時間がかかります |
📜 ライセンス
このプロジェクトは個人利用を目的として作成されています。
🙏 謝辞
- faster-whisper - 高速なWhisper実装
- OpenAI Whisper - 元となる音声認識モデル
- PyQt5 - GUIフレームワーク