要在本地搭建 OpenAI 的 Whisper 语音识别模型,你需要完成以下几个步骤:

1. 环境准备

首先,确保你的系统安装了 Python 3.7+。接下来,安装必要的依赖包。

安装依赖

sh

深色版本

1pip install torch torchvision torchaudio
2pip install git+https://github.com/openai/whisper.git

如果你使用的是 Anaconda 环境,可以使用以下命令来安装必要的库:


sh

深色版本

1conda create -n whisper python=3.8
2conda activate whisper
3conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
4pip install git+https://github.com/openai/whisper.git

2. 下载模型

Whisper 提供了多个大小不同的预训练模型,可以根据你的需求选择下载。模型可以从 OpenAI 的 GitHub 仓库中找到。

下载模型

sh

深色版本

1mkdir -p models
2cd models
3wget https://openaipublic.azureedge.net/main/whisper/models/medium/medium.pt

这里以 medium 模型为例,你可以根据需要下载其他模型,比如 tinybaselarge 等。

3. 准备音频文件

准备好你要识别的音频文件。Whisper 支持多种音频格式,包括 .wav.mp3 等。

4. 运行模型

使用 transcribe.py 脚本来进行语音识别。

使用脚本

sh

深色版本

1cd /path/to/whisper
2python transcribe.py --model /path/to/models/medium.pt --audio /path/to/audio.wav

你可以根据需要传递额外的参数来调整识别结果。例如:


sh

深色版本

1python transcribe.py --model /path/to/models/medium.pt --audio /path/to/audio.wav --language zh --task translate

这里指定了语言为中文 (zh) 并要求进行翻译任务。

5. 参数说明

  • --model: 指定使用的模型路径。
  • --audio: 输入音频文件的路径。
  • --language: 指定输入音频的语言。如果不指定,则默认为英语。
  • --task: 任务类型,可以是 transcribe(转录)或 translate(翻译)。默认为 transcribe
  • --output_dir: 输出目录,默认为当前目录。
  • --output_format: 输出格式,可以是 txtvttsrt 等。默认为 txt

6. 示例代码

下面是一个完整的 Python 脚本示例,用于加载模型并进行语音识别:


python

深色版本

1import argparse
2import os
3from whisper import load_model, transcribe
4
5def main(audio_path, model_size='medium'):
6    # 加载模型
7    model = load_model(model_size)
8
9    # 进行转录
10    result = transcribe(model, audio_path)
11    
12    # 打印结果
13    print(result["text"])
14
15if __name__ == "__main__":
16    parser = argparse.ArgumentParser(description="Transcribe audio using Whisper")
17    parser.add_argument("--audio", type=str, required=True, help="Path to the audio file")
18    parser.add_argument("--model", type=str, default="medium", choices=['tiny', 'base', 'small', 'medium', 'large'], help="Model size to use")
19    args = parser.parse_args()
20    
21    main(args.audio, args.model)

7. 运行示例代码

保存上述代码为 transcribe_audio.py,然后通过命令行运行:


sh

深色版本

1python transcribe_audio.py --audio /path/to/audio.wav --model medium

8. 注意事项

  • 确保音频文件的质量足够好,否则会影响识别结果。
  • 如果使用较大的模型(如 large),可能会消耗较多的内存和计算资源。
  • 对于长时间的录音文件,识别过程可能需要较长时间。

通过以上步骤,你就可以在本地环境搭建并使用 Whisper 语音识别模型了。这对于那些需要在本地处理敏感数据或无法访问云端服务的应用场景来说,是非常有用的选择。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐