# voice_recognition **Repository Path**: hu-weichun/voice_recognition ## Basic Information - **Project Name**: voice_recognition - **Description**: 非流式本地模型语音转文字 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-18 - **Last Updated**: 2026-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 语音转文字系统 基于 FunASR 的语音识别应用,支持普通话和多种方言识别。 ## 功能特点 - 🎤 **实时语音识别**:支持麦克风实时录音转文字 - 🌐 **方言支持**:支持普通话、粤语、四川话、吴语、闽南语、客家话 - 🎛️ **音量指示**:实时显示录音音量 - 💾 **结果导出**:支持导出识别结果为文本文件 - ⚡ **GPU加速**:自动检测并使用CUDA加速 ## 支持的模型 | 模型名称 | 方言 | 模型来源 | |---------|------|---------| | paraformer-zh | 普通话 | ModelScope | | SenseVoiceSmall | 粤语/四川话/吴语/闽南语/客家话 | ModelScope | ## 技术架构 ``` ├── app.py # 主程序入口 ├── frontend/ │ ├── main_window.py # 主窗口UI组件 │ └── __init__.py ├── backend/ │ ├── stt_engine.py # 语音识别引擎(FunASR封装) │ ├── audio_recorder.py # 音频录制模块 │ ├── FunASR_dialect.py # 方言识别示例 │ └── __init__.py └── utils/ └── logging_config.py # 日志配置 ``` ## 安装步骤 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 安装 PyAudio(Windows) ```bash pip install pyaudio ``` > 如果安装失败,可以从 [Unofficial Windows Binaries](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio) 下载对应版本的 wheel 文件安装。 ### 3. 运行程序 ```bash python app.py ``` ## 使用方法 ### 基本操作 1. **选择麦克风**:从下拉菜单中选择可用的麦克风设备 2. **测试麦克风**:点击"测试麦克风"按钮验证设备是否正常工作 3. **选择方言**:从下拉菜单中选择识别语言(默认普通话) 4. **开始录音**:点击"开始录音"按钮或按空格键开始录音 5. **结束录音**:点击"结束录音"按钮或释放空格键结束录音 6. **导出结果**:点击"导出识别结果"按钮保存识别历史 ### 支持的方言 | 方言代码 | 显示名称 | 说明 | |---------|---------|------| | mandarin | 普通话 | 默认选项,支持带标点的识别 | | yue | 粤语 | 使用 SenseVoiceSmall 模型 | | sichuan | 四川话 | 使用 SenseVoiceSmall 模型 | | wu | 吴语/上海话 | 使用 SenseVoiceSmall 模型 | | minnan | 闽南语 | 使用 SenseVoiceSmall 模型 | | hakka | 客家话 | 使用 SenseVoiceSmall 模型 | ### 快捷键 - **空格键**:按住开始录音,释放结束录音 ## 配置说明 ### 麦克风配置 麦克风测试结果保存在 `config/mic_config.json` 文件中: ```json { "tested_mics": { "麦克风名称": [true, "测试通过"], "另一个麦克风": [false, "测试失败"] } } ``` ### 模型缓存 模型会自动下载并缓存到 `D:\modelscope_cache\models\` 目录(Windows)。 ## 模型调用说明 ### 普通话模型 使用 `paraformer-zh` 模型,支持 VAD(语音活动检测)和标点恢复: ```python from funasr import AutoModel model = AutoModel( model="paraformer-zh", vad_model="fsmn-vad", punc_model="ct-punc", device="cuda", disable_update=True ) ``` ### 方言模型 使用 `SenseVoiceSmall` 模型,支持多种方言识别: ```python from funasr import AutoModel model = AutoModel( model="iic/SenseVoiceSmall", trust_remote_code=True, device="cuda", disable_update=True ) # 识别时指定方言 result = model.generate( input="audio.wav", language="yue", # 粤语 hotword="饮茶,早茶,系,嘅" ) ``` ## 依赖列表 | 依赖 | 版本 | 说明 | |------|------|------| | PyQt5 | >=5.15.0 | GUI框架 | | funasr | >=1.3.0 | 语音识别引擎 | | pyaudio | >=0.2.13 | 音频录制 | | torch | >=2.0.0 | 深度学习框架 | | modelscope | >=1.9.0 | 模型下载与管理 | | numpy | >=1.24.0 | 数值计算 | ## 注意事项 1. 首次运行时会自动下载模型文件,可能需要较长时间 2. 建议使用 GPU 加速以获得更好的识别性能 3. 方言模型支持需要下载 `SenseVoiceSmall` 模型(约 1GB) 4. 麦克风测试通过后才能启用录音功能 ## 项目结构 ``` voice_recognition/ ├── app.py # 主程序入口 ├── requirements.txt # 依赖列表 ├── config/ │ └── mic_config.json # 麦克风配置 ├── frontend/ │ ├── __init__.py │ └── main_window.py # 主窗口组件 ├── backend/ │ ├── __init__.py │ ├── stt_engine.py # 语音识别引擎 │ ├── audio_recorder.py # 音频录制模块 │ └── FunASR_dialect.py # 方言识别示例 └── utils/ └── logging_config.py # 日志配置 ``` ## 许可证 MIT License