【开源语音项目OpenVoice](一)——实操演示

目录

一、前菜

1、Python选择

2、pip源切换

3、ffmpeg配置问题

4、VSCode添加Jupyter扩展

 二、配置虚拟环境

1、下载源码

方法一 直接下载源码压缩包

方法二 使用git

1)git加入鼠标右键

2)git clone源码

2、VSCode出场

1)创建python虚拟环境

 2)安装所需插件

A、没有意外

B、若有意外

3)激活python虚拟环境

 4)安装ipykernel

5) 安装ipywidgets

6)下载checkpoints

3、操作模型

1)第一步

2)第二步 

3)第三步

4)第四步

5)第五步

 4、简单讲解

三、模型深度解析


一、前菜

开始之前,前菜是必备的,需要先设置好。

1、Python选择

本项目使用的python版本是3.9版,因此,实操之前需要安装python3.9.

这里简单说明即可。

官网Python Release Python 3.9.0 | Python.orgDownload Python | Python.org,系统为Windows版,点击如图windowsPython Release Python 3.9.0 | Python.org

这里就不纠结了,直接3.9.0版本即可。 

 安装时以管理员身份运行,选择自定义安装。以3.12.2为例,其实是一样的。

注意勾选将python加入环境变量,就不需要手动添加环境变量了。

 另外,选择自定义安装位置。其他默认即可。

2、pip源切换

勾选显示隐藏的项目

切到路径C:\Users\whyafer\AppData\Roaming\pip,其中,whyafer为自己的电脑用户名。记事本打开pip.ini文件,删除原有的代码,覆盖如下代码即可。

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

 这样可以一劳永逸地解决安装插件时网络问题。

3、ffmpeg配置问题

使用的python虚拟环境会用到ffmpeg,但需要环境变量的配置。

官网Builds - CODEX FFMPEG @ gyan.dev下载6.1.1即可

选择一个位置,解压,然后打开环境变量设置。

按win键,输入环境变量

双击系统变量,path 

 依次选择

 点击到ffmpeg解压的bin文件夹下

 

确定即可

 按win键,cmd,输入如下代码

ffmpeg -version

说明配置完成。

若还是不行,则需要另外的操作。

配合创建的python虚拟环境使用。找到路径:.venv\Lib\pydub\utils.py,找到which()函数下如下代码

 下一行添加:路径为自己解压路径。保存ctrl+s即可。

    envdir_list.append(r'D:\pythonvenv\ffmpeg\ffmpeg-7.0-full_build\bin')

4、VSCode添加Jupyter扩展

点击F1,选择Extensions:Install Extensions

 输入Jupyter搜索,安装第一个即可,会自动安装附带扩展。

 二、配置虚拟环境

1、下载源码

源码地址:myshell-ai/OpenVoice: Instant voice cloning by MyShell. (github.com)

两种方法

方法一 直接下载源码压缩包

建议使用此方法。如图下载压缩包,解压到你新建的空白项目文件夹下即可。

方法二 使用git

如果你电脑里有git,可以使用

首先,新建文件夹

在空文件夹下,右键鼠标选择Git Bash Here,前提是你已经将git加入鼠标右键了。如果没有的话,请将git加入鼠标右键。

1)git加入鼠标右键

win+R,输入regedit,打开注册表,收起计算机项目

 在地址栏输入如下代码,回车enter

\HKEY_CLASSES_ROOT\Directory\Background

 在Background\shell下,新建项“Git Bash Here”,名称随意。然后,在新建项下,新建项“command",我是已经新建好的。

 

 然后,点击新建项"Git Bash Here",随后注册表右侧空白处右键新建字符串值,命名为"Icon"。

还是在鼠标点击"Git Bash Here"的情况下,即上图1,双击右侧默认项,值为”Git Bash Here",即显示在鼠标右键的名称。

 双击"Icon",值为"E:\software\Git\mingw64\share\git\git-for-windows.ico",为鼠标右键的图标。

然后,鼠标点击"commond",双击右侧默认项,值为:" E:\software\Git\git-bash.exe"

2)git clone源码

在新建的空白项目文件夹下,右键鼠标,选择"Git Bash Here",若没有这个选择,可能需要点击"显示更多选项",在控制台输入如下代码,回车即可。

git clone https://github.com/myshell-ai/OpenVoice.git

 

2、VSCode出场

1)创建python虚拟环境

使用VSCode打开项目,按F1按钮,选择如图选项,Python:Select Interpreter

 选择新建虚拟环境

选择"Venv"

 选择3.9python

若没有3.9python选项,选择第一个"Enter interpreter path"

 点击"Find",选到你按照python3.9的文件夹下的python.exe即可。

 2)安装所需插件

A、没有意外

正确切换pip源之后,一般是不会出现意外的。

选好python编译器之后,勾选如图项,然后点击ok。过程需要些时间,耐心等待VSCode安装完成。

 不要动,等待就好。

B、若有意外

如果你没有勾选上一步,那么就需要手动操作安装了。

此步骤在激活python虚拟环境的情况下,在控制台,输入代码

pip install -r requirements.txt

3)激活python虚拟环境

选择Terminal->New Terminal

 下方输入代码,回车enter即可。

.\.venv\Scripts\activate

 4)安装ipykernel

激活虚拟环境的情况下,控制台输入代码

pip install ipykernel

5) 安装ipywidgets

激活虚拟环境的情况下,控制台输入代码

pip install ipywidgets

6)下载checkpoints

网址:

https://myshell-public-repo-hosting.s3.amazonaws.com/checkpoints_1226.zip

直接下载压缩包,解压之后放在项目根目录下。

 checkpoints包含中文ZH和英文EN两种语言的模型处理文件。

3、操作模型

A、操作demo_part1.ipynb

点击左侧文件demo_part1.ipynb,然后点击右侧红框部分选择虚拟环境。

 选择Python Environments

选择我们创建的虚拟环境.venv 

注意:每次关闭项目或者demo_part1.ipynb文件,要依次重新执行。每个都可多次点击,以消除警告信息。

1)第一步

 点击下面的三角按钮

2)第二步 

点击Initialization下的三角按钮。

3)第三步

 执行source_se,可省略。

4)第四步

执行reference_speaker,可多点击几次,便不会出现问题。

5)第五步

执行Inference,挑选一个执行即可。默认情况下,选择英文例子。

注意:运行英文代码最好加一句,避免出错中英文checkpoints不对应。

ckpt_base = 'checkpoints/base_speakers/EN'

第一个是默认英文例子。

第二个也是英文,修改了语气与语速。

语气speaker="whispering",其余可选friendly, cheerful, excited, sad, angry, terrified, shouting

语速speed=0.9,可尝试自己。

语言language='English',为英文,切换中文为'Chinese’。

base_speaker_tts.tts(text, src_path, speaker='whispering', language='English', speed=0.9)

 第三个是中文,只有默认语气。

B、操作demo_part2.ipynb 

这个要使用OPENAI_API_KEY,如果你有的话,那么,应该就不需要我来实操演示了,请根据demo_part2.ipynb说明操作即可。

 4、简单讲解

要使用的训练语音为:

reference_speaker = 'resources/example_reference.mp3'

 更改自己的语音,将自己的语音文件,如"ky_kk.mp3",放在项目路径resources文件夹下,注意,为mp3后缀文件。将example_reference更改为自己语音的名称即可。刚更改好,最好重启VSCode,以防报错找不到文件。更改完毕,然后执行这一步。

以中文为例 ,但是中文不能选择语气,只有默认的。

 变量ckpt_base表示语音模仿对象语种模型处理的文件夹位置。中文ZH,英文则为EN。

ckpt_base = 'checkpoints/base_speakers/ZH'

 变量source_se用于模仿语音语调的提取训练,区分中英文。中文为zh_default_se.pth,英文为en_default_se.pth。

source_se = torch.load(f'{ckpt_base}/zh_default_se.pth').to(device)

 变量save_path表示输出的语音文件存档位置,output_chinese.wav为输出文件名,每次运行可更改,即可不断生成不同语音文件。

save_path = f'{output_dir}/output_chinese.wav'

变量text表示要输出的语音内容。 

text = "今天天气真好,我们一起出去吃饭吧。"

 变量src_path与变量save_path作用相同,使用语调为默认。默认音色输出为tmp.wav。

src_path = f'{output_dir}/tmp.wav'

因此,对于输出的语音文件,你有两个选择

output_chinese.wav和tmp.wav,随自己选择。

三、模型深度解析

敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/596411.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bayes-RF,基于贝叶斯Bayes优化算法优化随机森林RF分类预测(二分类及多分类皆可)-附代码

Bayesian Optimization(贝叶斯优化)是一种用于超参数调优的技术,对于类似随机森林(Random Forest,简称RF)的机器学习算法非常重要。随机森林是一种集成学习方法,它在训练过程中构建多个决策树&a…

How-Google-Tests-Software_Google软件测试之道_英文版pdf

我看How-Google-Tests-Software_Google软件测试之道_英文版pdf挺难找的 在这里分享一下 链接: https://pan.baidu.com/s/1bTafUY4CFcMVxrNrdBp7Zg 提取码: 5q4p 复制这段内容后打开百度网盘手机App,操作更方便哦

【Python使用】嘿马头条完整开发md笔记第4篇:数据库,1 方案选择【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程(附代码资料)主要内容讲述:课程简介,ToutiaoWeb虚拟机使用说明1 产品介绍,2 原型图与UI图,3 技术架构,4 开发,1 需求,2 注意事项。数据库,理解ORM1 简介,2 安装,3 数据库连接…

计算机网络——37认证

认证 目标:Bob需要Alice证明他的身份 Protocol ap1.0:Alice说"A am Alice" 可能出现的问题: 在网络上Bob看不到Alice,因此Trudy可以简单的声称他是Alice 认证:重新尝试 Protocol ap2.0:Alice…

Unity和Android的交互

Unity和Android的交互 一、前言二、Android导出jar/aar包到Unity2.1 版本说明2.2 拷贝Unity的classes.jar给Android工程2.2.1 classes.jar的位置2.2.2 Android Studio创建module2.2.3 拷贝classes.jar 到 Android工程并启用 2.3 编写Android工程代码2.3.1 创建 MainActivity2.…

前端canvas项目实战——在线图文编辑器(八):复制、删除、锁定、层叠顺序

目录 前言一、效果展示二、实现步骤1. 复制2. 删除3. 锁定4. 层叠顺序 三、实现过程中发现的bug1. clone方法不复制自定义属性2. 复制「锁定」状态的对象,得到的新对象也是「锁定」状态 四、Show u the code后记 前言 上一篇博文中,我们细致的讲解了实现…

HUD抬头显示器阳光倒灌实验一般步骤

概述 汽车HUD(Head-Up Display,即抬头显示器)阳光倒灌实验是一种用于评估汽车抬头显示器在阳光直射条件下显示效果的测试。该实验的目的是确保HUD系统在强烈的阳光下依然能够清晰地显示信息,不影响驾驶员的视线和驾驶安全。 一般…

Redis性能管理及主从复制、哨兵的配置与部署

一、redis性能管理 1.1 查看Redis内存使用 1.2 内存碎片率 1.3 内存使用率 1.3.1 避免内存交换发生的方法 1.4 内回收key 1.4.1 配置文件中修改 maxmemory-policy 属性值 1.5 缓存穿透 1.5.1 原因 1.5.2 条件 1.5.3 解决方案 1.6 缓存击穿 1.6.1 原因 1.6.2 现象…

院内感染的相关因素分析(Boruta联合SHAP分析2)R

院内感染的相关因素分析(Boruta联合SHAP分析2)R 和鲸社区一键运行代码 院内感染是指住院患者在医疗机构内发生的感染,是医院管理中常见且严重的问题。院内感染不仅会延长患者住院时间,增加医疗费用,还会严重威胁患者生…

双向链表专题

⽬录 1. 双向链表的结构 2. 实现双向链表 3. 顺序表和双向链表的分析 正⽂开始 1. 双向链表的结构 注意:这⾥的“带头”跟前⾯我们说的“头节点”是两个概念,实际前⾯的在单链表阶段称呼不严 谨,但是为了同学们更好的理解就直接称为单…

软考114-上午题-【计算机网络】-路由

一、路由 二、真题 真题1: 真题2: 真题3: 真题4: 真题5: 路由协议实际上是一种在路由器之间交换路由信息的协议。 路由协议让路由器了解整个网络的拓扑结构,包括哪些网络是直接相连的,哪些网络…

CSS设置字体样式

目录 前言: 1.font-family: 2.font-style: 3.font-weight: 4.font-size: 5.font-variant: 6.font: 前言: 在网页中字体是重要的组成部分,使用好字体可以让网页更…