1. 创建 Conda 情况
首先,我们需要为 Whisper 创建一个新的 Conda 情况,如许可以隔离项目的依赖,制止和其他项目的库产生辩论。
1.1 创建情况
打开终端并运行以下命令创建一个新的 Conda 情况(这里我们利用 Python 3.8 版本):
- conda create -n whisper-env python=3.8
复制代码 该命令会创建一个名为 whisper-env 的新情况,并安装指定版本的 Python。
1.2 激活情况
创建完情况后,运行以下命令激活情况:
- conda activate whisper-env
复制代码 激活情况后,你的所有利用都将在该情况内进行。记得在利用完情况后,可以通过以下命令退出情况:
2. 安装 Whisper 和依赖
Whisper 模子依赖于 PyTorch、ffmpeg 等多个库。接下来我们将安装这些依赖。
2.1 安装 PyTorch
Whisper 依赖于 PyTorch,且支持 GPU 加快。如果你的机器有 NVIDIA GPU,可以安装支持 CUDA 的版本来加快盘算。如果没有 GPU,可以安装 CPU 版本。
安装 GPU 版本的 PyTorch(支持 CUDA 11.8):
- conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch
复制代码 如果没有 GPU,安装 CPU 版本:
- conda install pytorch torchvision torchaudio cpuonly -c pytorch
复制代码 2.2 安装 Whisper
Whisper 模子可以通过 pip 从 GitHub 安装。运行以下命令来安装 Whisper:
- pip install git+https://github.com/openai/whisper.git
复制代码 2.3 安装 FFmpeg
Whisper 依赖于 ffmpeg 来处理音频文件格式。可以通过 Conda 安装 ffmpeg:
- conda install -c conda-forge ffmpeg
复制代码 3. 测试 Whisper 模子
安装完成后,接下来我们可以测试 Whisper 是否正常工作。
3.1 测试代码
打开 Python 交互式终端或创建一个 Python 脚本,运行以下代码:
python
复制代码
import whisper
3.2 加载 Whisper 模子
model = whisper.load_model(“base”)
3.3 转录本地音频文件
result = model.transcribe(“your_audio_file.mp3”)
3.4 打印转录文本
上述代码会加载 Whisper 的基础模子(base),并对本地的音频文件进行转录。你可以将 “your_audio_file.mp3” 替换成你本身的音频文件路径。转录后的文本将会打印在终端。
4 利用 GPU 加快(可选)
如果你的机器支持 NVIDIA GPU,并且已精确安装了 PyTorch 的 CUDA 版本,可以启用 GPU 加快。在模子加载时,调用 .to(“cuda”) 即可将模子转移到 GPU 上进行盘算:
- # 将模子加载到 GPU 上model = whisper.load_model("base").to("cuda")# 转灌音频文件result = model.transcribe("your_audio_file.mp3")# 打印转录文本print(result["text"])
- 启用 GPU 后,语音转录过程将更加高效,尤其是在处理大量音频数据时。
复制代码 5. 创建简单的 API 服务
如果你希望将 Whisper 功能袒露为一个 API,便于其他应用程序调用,可以利用 FastAPI 创建一个简单的 Web 服务。
5.1 安装 FastAPI 和 Uvicorn
首先,安装 FastAPI 和 Uvicorn:
bash
复制代码
pip install fastapi uvicorn
5.2 创建 API
在项目文件夹下,创建一个 whisper_api.py 文件,内容如下:
- from fastapi import FastAPI, UploadFile
- import whisper
- import os
- # 加载 Whisper 模型
- model = whisper.load_model("base").to("cuda")
- app = FastAPI()
- @app.post("/transcribe")
- async def transcribe(file: UploadFile):
- # 保存上传的音频文件
- temp_file = f"temp_{file.filename}"
- with open(temp_file, "wb") as f:
- f.write(await file.read())
- try:
- # 使用 Whisper 进行音频转录
- result = model.transcribe(temp_file)
- text = result["text"]
- except Exception as e:
- return {"error": str(e)}
- finally:
- os.remove(temp_file)
- return {"transcription": text}
复制代码 5.3 启动 API 服务
利用以下命令启动 FastAPI 服务:
- uvicorn whisper_api:app --reload
复制代码 FastAPI 服务将在 http://127.0.0.1:8000 上运行。你可以通过 HTTP POST 请求将音频文件发送到 /transcribe 接口,并汲取转录效果。
5.4 测试 API
你可以利用 curl 或 Postman 发送 POST 请求进行测试:
- curl -X 'POST' \
- 'http://127.0.0.1:8000/transcribe' \
- -H 'accept: application/json' \
- -H 'Content-Type: multipart/form-data' \
- -F 'file=@your_audio_file.mp3'
复制代码 如果一切正常,API 将返回音频文件的转录文本。
彩蛋,附一个AI编写投标文件的小软件
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |