前言

Whisper 是一个自动语音识别(ASR,Automatic Speech Recognition)系统,OpenAI 通过从网络上收集了 68 万小时的多语言(98 种语言)和多任务(multitask)监督数据对 Whisper 进行了训练。OpenAI 认为使用这样一个庞大而多样的数据集,可以提高对口音、背景噪音和技术术语的识别能力。除了可以用于语音识别,Whisper 还能实现多种语言的转录,以及将这些语言翻译成英语。


一、Whisper 9种运行模型以及所需配置

目前 Whisper 有 9 种模型(分为纯英文和多语言),其中四种只有英文版本,开发者可以根据需求在速度和准确性之间进行权衡,以下是现有模型的大小,及其内存要求和相对速度:

大小参数纯英文模型多语言模型所需显存相对速度
tiny39 Mtiny.entiny~1 GB~32x
base74 Mbase.enbase~1 GB~16x
small244 Msmall.ensmall~2 GB~6x
medium769 Mmedium.enmedium~5 GB~2x
large1550 MN/Alarge~10 GB1x

二、使用conda 和 ffmpeg的实现步骤

1.准备环境

    1. windos 安装conda

      安装可以参考https://www.jianshu.com/p/c183c1d7e1d1

    1. windos安装ffmpeg

      安装ffmpeg可以使用Scoop 包管理工具去下载,具体安装方法借鉴https://zhuanlan.zhihu.com/p/561204256 这篇文章。
      安装好Scoop后执行 scoop install ffmpeg

2. 执行命令

conda create -n whisper python=3.9
conda activate whisper
pip install git+https://github.com/openai/whisper.git
whisper audio.mp3 --model medium --language Chinese

3. 执行结果在这里插入图片描述

三、使用python的实现步骤

1.准备环境

    1. windos 安装Python 3.9.9 或以上版本
    1. windos安装ffmpeg

      安装ffmpeg可以使用Scoop 包管理工具去下载,具体安装方法借鉴https://zhuanlan.zhihu.com/p/561204256 这篇文章。
      安装好Scoop后执行 scoop install ffmpeg

    1. python 安装setuptools-rust

      pip install setuptools-rust

    1. 下载Whisper 代码

      https://gitee.com/mirrors/openai-whisper.git 将其clone到本地
      执行命令:python setup.py install

2. 写代码

代码如下:

import whisper
import arrow

# 定义模型、音频地址、录音开始时间
def excute(model_name,file_path,start_time):
    model = whisper.load_model(model_name)
    result = model.transcribe(file_path)
    for segment in result["segments"]:
        now = arrow.get(start_time)
        start = now.shift(seconds=segment["start"]).format("YYYY-MM-DD HH:mm:ss")
        end = now.shift(seconds=segment["end"]).format("YYYY-MM-DD HH:mm:ss")
        print("【"+start+"->" +end+"】:"+segment["text"])

if __name__ == '__main__':
    excute("base","55555.mp3","2022-10-24 16:23:00")

3. 执行结果

在这里插入图片描述


GitHub 加速计划 / whisp / whisper
65.57 K
7.69 K
下载
openai/whisper: 是一个用于实现语音识别和语音合成的 JavaScript 库。适合在需要进行语音识别和语音合成的网页中使用。特点是提供了一种简单、易用的 API,支持多种语音识别和语音合成引擎,并且能够自定义语音识别和语音合成的行为。
最近提交(Master分支:3 个月前 )
ba3f3cd5 * Add clip_timestamps option * Add hallucination_silence_threshold option * Fix typing for python < 3.9 --------- Co-authored-by: Jong Wook Kim <jongwook@openai.com> 10 个月前
8bc88606 10 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐