thum.png

视频地址

https://youtu.be/nBWMbKHjltI

安装步骤

1.安装anaconda

官网下载,按照向导安装即可
https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Windows-x86_64.exe

2.安装Chocolatey和ffmpeg音频处理库

在windows中的powershell(管理员身份)中运行下面代码来安装chocolatey


Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

如果没有返回错误,就可以使用下面命令安装ffmpeg了


choco install ffmpeg

3.配置anaconda虚拟环境及配置运行环境

3.1配置基础环境,如果只用cpu计算,运行完3.1即可

打开anaconda prompt命令行窗口,如图

2024-06-30T12:07:51.png


conda create -n Whisper python=3.9.11    #创建名叫whisper的虚拟环境

conda activate Whisper    #激活该环境

conda install git

pip install git+https://github.com/openai/whisper.git    #安装最新版whisper

pip uninstall numpy    #conda自带的numpy最新版是2.0以上版本.要先卸载

conda install numpy=1.22    #再使用conda安装numpy1.22版本

截至到现在如果使用cpu的话可以直接运行了

3.2安装gpu的pytorch,前提是3.1的步骤都已完成

pytorch的安装向导,进入下面页面
https://pytorch.org/get-started/locally/#windows-installation
如图
2024-06-30T12:34:05.png

如图选择,然后复制最后的命令行

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

粘贴到命令行中进行安装

此步完成即可进行GPU计算

4 运行whisper

  • 标准的命令格式

    whisper audio.wav --model medium

    这个命令是将当前目录下audio.wav文件进行语音识别,选用medium模型,

    其实这其中省略了一个--language zh的参数,但是如果不指定该参数,系统会根据音频的语言自动侦测。

    首次运行命令,系统会自动下载涉及到的模型,关于模型我后面具体说

  • 关于简繁体字幕的生成

    由于再--language参数中简繁体都是zh,所以只能使用--initial_prompt ""参数,引号中引用简体或繁体的字符示例

    简体:
    whisper audio.wav --model medium --language zh --initial_prompt "以下是普通话的句子。"

    繁体
    whisper audio.wav --model medium --language zh --initial_prompt "以下是普通話的句子。"

  • 关于语言转换也就是翻译

    在标准命令后添加 --task translate参数,whisper是识别后翻译成英语输出,这个参数并没有可选的语言选项

    whisper audio.wav --model medium --task translate

    但是在我实际使用中发现,如果我们想直接翻译外文的视频to中文,就可以直接在标准命令下指定--language zh 参数,即使语音是英语或者日语的,他也会进行翻译的,这个精确度并不是很高,但是足以让我们可以看懂视频的内容,只是偶尔有不准确的单词,但是因为我们母语是中,我们自己有超强纠错啊,哈哈哈
    就比如日本的学习资料,直接使用--language zh参数,输出的字幕足可以保证我们把学习资料学完。

    可但是,最终字幕的目标语言不是我们擅长的语言,那最安全的方法就是先进行字幕识别加--task translate参数,最后输出到英语字幕,把srt文件中的全部内容(包括时间戳)扔给chatgpt,让他翻译后再另存一个srt文件即可使用。

  • 关于语音质量和声音预处理

    通常音视频文件我们是可以直接拿来用的,例如:
    whisper audio.mp4 --model medium

    但为了提高精度和处理效率,我们可以对音频进行一些预处理

    Whisper通常在16kHz采样率的单声道音频下表现最佳
    所以我们可以使用
    ffmpeg -i input_file.wav -ar 16000 -ac 1 output_file.wav
    把音频文件进行预处理,这里输入文件也可以是MP4或者其他格式的音视频文件

    如果遇到音频音量过小,就也可以使用

    ffmpeg -i input_file.wav -filter:a "volume=1.5" output_file.wav
    进行音频的标准化预处理

  • 关于模型的选择

常用模型及名称参照

2024-06-30T12:37:36.png

发表评论