以下是将 **Mozilla DeepSpeech** 部署到本地的详细步骤,支持离线语音识别: --- ### **1. 安装依赖** DeepSpeech 需要以下依赖环境: - **Python 3.6+**(推荐 3.8 或更高版本) - **FFmpeg**(处理音频文件) - **CUDA 和 cuDNN**(可选,用于 GPU 加速) - **DeepSpeech Python 库** #### **步骤 1.1:安装 Python 和 FFmpeg** - **Windows**: - 下载并安装 [Python 3.x](https://www.python.org/downloads/)(勾选“Add Python to PATH”)。 - 安装 FFmpeg: 1. 下载 FFmpeg 安装包:[FFmpeg Windows Builds](https://ffmpeg.org/download.html)。 2. 解压后将 `bin` 目录添加到系统环境变量 `PATH`。 - **Ubuntu**: ```bash sudo apt update sudo apt install python3 python3-pip ffmpeg ``` #### **步骤 1.2:安装 CUDA 和 cuDNN(可选)** 如果使用 GPU 加速(NVIDIA 显卡): 1. 下载并安装 [CUDA Toolkit](https://developer.nvidia.com/cuda-downloads)。 2. 下载并安装 [cuDNN](https://developer.nvidia.com/cudnn)(需注册 NVIDIA 账户)。 3. 验证安装: ```bash nvidia-smi # 查看 GPU 信息 ``` --- ### **2. 下载 DeepSpeech 模型** 访问 [Mozilla DeepSpeech GitHub Releases](https://github.com/mozilla/DeepSpeech/releases),下载以下文件: - **预训练模型**(如 `deepspeech-0.9.3-models.pbmm`)。 - **语言模型**(如 `deepspeech-0.9.3-models.scorer`)。 - **中文模型**(需额外下载,如 [DeepSpeech Chinese Models](https://github.com/mozilla/DeepSpeech/releases/tag/v0.9.3) 中的中文包)。 将模型文件保存到本地目录(如 `./models/`)。 --- ### **3. 安装 DeepSpeech Python 库** #### **步骤 3.1:安装 Python 包** ```bash pip install deepspeech # 安装官方 Python 库 ``` #### **步骤 3.2:安装音频处理依赖(如需实时录音)** 如果需要从麦克风实时录音: ```bash pip install pyaudio # 安装音频输入库 ``` --- ### **4. 编写 Python 脚本进行语音识别** #### **示例代码:离线语音识别** ```python import deepspeech import numpy as np import pyaudio import wave # 加载模型 model_file_path = "./models/deepspeech-0.9.3-models.pbmm" scorer_path = "./models/deepspeech-0.9.3-models.scorer" ds = deepspeech.Model(model_file_path) ds.enableExternalScorer(scorer_path) # 从音频文件识别 def transcribe_audio(audio_file): with wave.open(audio_file, "rb") as wf: fs = wf.getframerate() if fs != 16000: print("音频采样率需为 16kHz!") return audio = np.frombuffer(wf.readframes(wf.getnframes()), np.int16) return ds.stt(audio) # 从麦克风实时录音并识别 def record_and_transcribe(): CHUNK = 1600 # 每次读取的音频块大小 FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 16000 RECORD_SECONDS = 5 # 录音时长(可调整) p = pyaudio.PyAudio() stream = p.open( format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK ) print("开始录音...") frames = [] for _ in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(np.frombuffer(data, dtype=np.int16)) stream.stop_stream() stream.close() p.terminate() audio = np.concatenate(frames) return ds.stt(audio) # 测试示例 if __name__ == "__main__": # 从文件识别 text = transcribe_audio("test_audio.wav") print("识别结果(文件):", text) # 从麦克风实时识别 text = record_and_transcribe() print("识别结果(实时):", text) ``` --- ### **5. 运行和测试** 1. **准备音频文件**: - 确保音频文件格式为 **16kHz 采样率、单声道、16位 PCM 编码**(如 `.wav`)。 - 可用 `ffmpeg` 转换音频: ```bash ffmpeg -i input.mp3 -acodec pcm_s16le -ar 16000 -ac 1 output.wav ``` 2. **运行脚本**: ```bash python your_script.py ``` - 如果从文件识别:替换 `test_audio.wav` 为你的音频路径。 - 如果实时录音:运行后按提示操作,录音结束后输出识别结果。 --- ### **6. 常见问题与解决** #### **问题 1:缺少依赖库** - **错误提示**:`ImportError: libsndfile.so.1: cannot open shared object file` - **解决方案**(Ubuntu): ```bash sudo apt install libsndfile1 libportaudio2 ``` #### **问题 2:中文识别支持** - **步骤**: 1. 下载中文模型(如 `zh-CN.pbmm` 和 `zh-CN.scorer`)。 2. 替换代码中的模型路径: ```python model_file_path = "./models/zh-CN.pbmm" scorer_path = "./models/zh-CN.scorer" ``` #### **问题 3:GPU 加速未生效** - **检查 CUDA 环境**: ```bash nvidia-smi ``` - **启用 GPU**: ```python ds = deepspeech.Model(model_file_path) ds.enableDevice(0) # 使用第一个 GPU 设备 ```
DeepSpeech 怎么部署到本地
- 作者:China-Zhejiang-Jiaxing
- 日期:2025年3月12日 16:30
- 浏览:8
评论区: