Skip to content

A lightweight global Speech-to-Text utility for Windows. Features custom hotkeys, auto-silence detection, modern dynamic UI indicators, and automatic text insertion at any cursor position.

Notifications You must be signed in to change notification settings

tky-kevin/WinSpeechToText

Repository files navigation

WinSpeechToText

這是一個基於 Python 的快速語音轉文字工具,支援全域快速鍵攔截、現代化 UI 特效以及開機自動啟動。

主要功能

  • 全域快速鍵:按下設定的組合鍵(如 Alt + S)即可開始錄音,再次按下即停止(或等待自動停止)。
  • 自動停止錄音:說完話後自動偵測靜音並結束錄音。
  • 現代化介面:使用 customtkinter 打造的設定頁面與狀態指示器。
  • 動態特效:錄音與辨識時,螢幕右下角會出現精緻的動態狀態欄。
  • 自動貼上:辨識完成後自動將文字輸出至當前光標位置。
  • 開機啟動:支援 Windows 開機自動執行。
  • 精準攔截:優化的快速鍵邏輯,確保不會在輸入框中留下多餘字元。

安裝需求

請確保您的系統已安裝 Python 3.8+,並執行以下命令安裝依賴項目:

pip install -r requirements.txt

注意:在 Windows 上,錄音功能需要 sounddevice,如果安裝失敗,可能需要先安裝 C++ Build Tools

使用方法

  1. 執行 python main.py
  2. 在右下角系統匣圖示點擊右鍵選擇 Settings
  3. 設定您的快速鍵、語言以及自動停止秒數。
  4. 按下快速鍵即可開始說話!

檔案說明

  • main.py: 程式進入點與核心邏輯。
  • settings_ui.py: 現代化設定介面。
  • indicator_ui.py: 右下角動態狀態指示器。
  • recorder.py: 音訊錄製模組。
  • transcriber.py: 語音轉文字模組。
  • config.py: 配置管理。
  • config.json: 使用者設定儲存檔。

打包與部署 (EXE)

本專案支援使用 PyInstaller 進行一鍵打包。

如何打包:

  1. 建立環境:建議使用虛擬環境以確保執行檔體積精簡。
    • 使用 Conda: conda create -p ./venv python=3.12 -y
    • 使用 venv: python -m venv venv
  2. 執行腳本:直接執行專案目錄下的 build_with_pyinstaller.bat
    • 該腳本會自動偵測您的環境(支援 Conda 與標準 venv)。
    • 自動安裝必要的依賴套件與打包組件。
    • 自動修正 Conda 下 Tkinter 的路徑問題。
  3. 完成:打包後的執行檔將位於 dist 資料夾中。

打包腳本特色:

  • 相容性強:自動處理 Conda 產生的 Tcl/Tk 遺失問題。
  • 單一檔案:生成獨立的單一 .exe 檔案,方便攜帶。
  • UI 支援:完整保留 customtkinter 的現代化介面特效。
  • 誤報處理:如果 EXE 被防毒軟體攔截,請將打包目錄加入排除清單(這是 Python 打包程式的常見特性)。

About

A lightweight global Speech-to-Text utility for Windows. Features custom hotkeys, auto-silence detection, modern dynamic UI indicators, and automatic text insertion at any cursor position.

Resources

Stars

Watchers

Forks

Packages

No packages published