杀鸡焉用牛刀 发表于 2024-7-30 08:14:21

【开源语音项目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
https://i-blog.csdnimg.cn/blog_migrate/15f5bc90ddf9442ccb405cd7e174240d.png
这里就不纠结了,直接3.9.0版本即可。 
https://i-blog.csdnimg.cn/blog_migrate/af774f869b8c11f1ab48644336e56e88.png
 安装时以管理员身份运行,选择自界说安装。以3.12.2为例,其实是一样的。
https://i-blog.csdnimg.cn/blog_migrate/6a30df9e47dc038cd7b5c9fc9c8c4086.png
注意勾选将python参加环境变量,就不需要手动添加环境变量了。
 别的,选择自界说安装位置。其他默认即可。
2、pip源切换

勾选显示隐藏的项目
https://i-blog.csdnimg.cn/blog_migrate/6074be74c642615a63f253307c72a588.png
切到路径C:\Users\whyafer\AppData\Roaming\pip,其中,whyafer为自己的电脑用户名。记事本打开pip.ini文件,删除原有的代码,覆盖如下代码即可。

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

trusted-host=pypi.tuna.tsinghua.edu.cn  如许可以一劳永逸地解决安装插件时网络题目。
3、ffmpeg设置题目

使用的python虚拟环境会用到ffmpeg,但需要环境变量的设置。
官网Builds - CODEX FFMPEG @ gyan.dev下载6.1.1即可
https://i-blog.csdnimg.cn/blog_migrate/3da020e50c7ba969aa85c5bc33840fcf.png
选择一个位置,解压,然后打开环境变量设置。
按win键,输入环境变量
https://i-blog.csdnimg.cn/blog_migrate/1a09797db9d64d7095493f0722a48d6d.png
https://i-blog.csdnimg.cn/blog_migrate/d327837bc9d7a6998fad967fd17345e0.png
双击系统变量,path 
https://i-blog.csdnimg.cn/blog_migrate/72effc64dcf58e2fc51e68e17e2c14dc.png 依次选择
https://i-blog.csdnimg.cn/blog_migrate/f1f7a6568f78105ba88ba079f2081acb.png
 点击到ffmpeg解压的bin文件夹下
 https://i-blog.csdnimg.cn/blog_migrate/120f00ffe28961d1608f06f1fbdcf692.png
确定即可
https://i-blog.csdnimg.cn/blog_migrate/105f7e9d12a36c2d49e9e23e79362f8d.png 按win键,cmd,输入如下代码
ffmpeg -version https://i-blog.csdnimg.cn/blog_migrate/462816557dbab4eadf754eebb2a131bd.png
说明设置完成。
若还是不可,则需要别的的操作。
配合创建的python虚拟环境使用。找到路径:.venv\Lib\pydub\utils.py,找到which()函数下如下代码
https://i-blog.csdnimg.cn/blog_migrate/7f015ec41a11e9beee4f3452d7d9acd2.png
 下一行添加:路径为自己解压路径。保存ctrl+s即可。
    envdir_list.append(r'D:\pythonvenv\ffmpeg\ffmpeg-7.0-full_build\bin')
https://i-blog.csdnimg.cn/blog_migrate/7d20f1919f7fdd936ca5abedf085ddf5.png
4、VSCode添加Jupyter扩展

点击F1,选择Extensions:Install Extensions
https://i-blog.csdnimg.cn/blog_migrate/270dee124062e0d2ff1ce502799e1d8c.png
 输入Jupyter搜索,安装第一个即可,会主动安装附带扩展。
https://i-blog.csdnimg.cn/blog_migrate/7b0a28062a2ddca6d780da045d06fa04.png
 二、设置虚拟环境

1、下载源码

源码地址:myshell-ai/OpenVoice: Instant voice cloning by MyShell. (github.com)
两种方法
方法一 直接下载源码压缩包

建议使用此方法。如图下载压缩包,解压到你新建的空缺项目文件夹下即可。
https://i-blog.csdnimg.cn/blog_migrate/0b124cf110f50174e18164afb4cff2a9.png
方法二 使用git

假如你电脑里有git,可以使用
https://i-blog.csdnimg.cn/blog_migrate/5a58762299b9f6e5b542f901274a45c4.png
首先,新建文件夹
在空文件夹下,右键鼠标选择Git Bash Here,前提是你已经将git参加鼠标右键了。假如没有的话,请将git参加鼠标右键。
1)git参加鼠标右键

win+R,输入regedit,打开注册表,收起盘算机项目
https://i-blog.csdnimg.cn/blog_migrate/9f48a4d2c29b025a00862b8425e72867.png
 在地址栏输入如下代码,回车enter
\HKEY_CLASSES_ROOT\Directory\Background https://i-blog.csdnimg.cn/blog_migrate/2e5c3a4d98338d4c186432be2b8665ee.png
 在Background\shell下,新建项“Git Bash Here”,名称随意。然后,在新建项下,新建项“command",我是已经新建好的。
 https://i-blog.csdnimg.cn/blog_migrate/27e1c5c2d88663004dde84f912c9d058.png
https://i-blog.csdnimg.cn/blog_migrate/a51d3017447a37b9033c396217cb0f39.png 然后,点击新建项"Git Bash Here",随后注册表右侧空缺处右键新建字符串值,命名为"Icon"。
https://i-blog.csdnimg.cn/blog_migrate/e29af71d12b40bb013ffd385725c5252.png
还是在鼠标点击"Git Bash Here"的情况下,即上图1,双击右侧默认项,值为”Git Bash Here",即显示在鼠标右键的名称。
https://i-blog.csdnimg.cn/blog_migrate/5804011148211cb54c8908c7018b4782.png
 双击"Icon",值为"E:\software\Git\mingw64\share\git\git-for-windows.ico",为鼠标右键的图标。
https://i-blog.csdnimg.cn/blog_migrate/68cb1daa9fec1a05bee6d15894c2ae88.png
然后,鼠标点击"commond",双击右侧默认项,值为:" E:\software\Git\git-bash.exe"
https://i-blog.csdnimg.cn/blog_migrate/605f9b49d0277d20f5bde422a4697e28.png
2)git clone源码

在新建的空缺项目文件夹下,右键鼠标,选择"Git Bash Here",若没有这个选择,大概需要点击"显示更多选项",在控制台输入如下代码,回车即可。
git clone https://github.com/myshell-ai/OpenVoice.git https://i-blog.csdnimg.cn/blog_migrate/3f455d7ae98f267013d674a5fde1051f.png
 https://i-blog.csdnimg.cn/blog_migrate/e60c3ab0691ec3b0a71edb374e5b588f.png
2、VSCode出场

1)创建python虚拟环境

使用VSCode打开项目,按F1按钮,选择如图选项,Python:Select Interpreter
https://i-blog.csdnimg.cn/blog_migrate/291d0335d01f8eee431aadb74ab2816c.png
 选择新建虚拟环境
https://i-blog.csdnimg.cn/blog_migrate/f6da8730e167d17cea05f9daa43bf7a0.png
选择"Venv"
https://i-blog.csdnimg.cn/blog_migrate/40b54cdf0478a23826e3a9e6ce94051a.png
 选择3.9python
https://i-blog.csdnimg.cn/blog_migrate/898c8b4337be6f7aa9d13956f0806f6e.png
若没有3.9python选项,选择第一个"Enter interpreter path"
https://i-blog.csdnimg.cn/blog_migrate/0b53c3c2277be401a01211e557f1236c.png 点击"Find",选到你按照python3.9的文件夹下的python.exe即可。https://i-blog.csdnimg.cn/blog_migrate/c739bf6e9b9c278e5e2613f666185087.png
 2)安装所需插件

A、没有意外

正确切换pip源之后,一样平常是不会出现意外的。
选好python编译器之后,勾选如图项,然后点击ok。过程需要些时间,耐心等待VSCode安装完成。
https://i-blog.csdnimg.cn/blog_migrate/eeb8134e232e14066b9b838bbdaa52de.png
 不要动,等待就好。
https://i-blog.csdnimg.cn/blog_migrate/c6388f835f0fe4bb018b78ceb419fd5d.png
B、若有意外

假如你没有勾选上一步,那么就需要手动操作安装了。
此步骤在激活python虚拟环境的情况下,在控制台,输入代码
pip install -r requirements.txt https://i-blog.csdnimg.cn/blog_migrate/1c4564ef0dc7600972ef47a8ab226fa3.png
3)激活python虚拟环境

选择Terminal->New Terminal
https://i-blog.csdnimg.cn/blog_migrate/a96df6708f83b66e00b8d9a7d4c764bd.png
 下方输入代码,回车enter即可。
.\.venv\Scripts\activate https://i-blog.csdnimg.cn/blog_migrate/15ad87dacf9d890a156a6751c8b5fc6c.png
 4)安装ipykernel

激活虚拟环境的情况下,控制台输入代码
pip install ipykernel https://i-blog.csdnimg.cn/blog_migrate/10b6acb9e089727c9c1831aa265550af.png
5) 安装ipywidgets

激活虚拟环境的情况下,控制台输入代码
pip install ipywidgets https://i-blog.csdnimg.cn/blog_migrate/7764104da9f3a6c0c30962b52be48c6e.png
6)下载checkpoints

网址:
https://myshell-public-repo-hosting.s3.amazonaws.com/checkpoints_1226.zip
直接下载压缩包,解压之后放在项目根目录下。
https://i-blog.csdnimg.cn/blog_migrate/89014a08160bb33a0da5ca96b00d3a3e.png
 checkpoints包罗中文ZH和英文EN两种语言的模子处理文件。
https://i-blog.csdnimg.cn/blog_migrate/3a579edc738a4a2cc94d468b9e6fe4d3.png
3、操作模子

A、操作demo_part1.ipynb

点击左侧文件demo_part1.ipynb,然后点击右侧红框部分选择虚拟环境。
https://i-blog.csdnimg.cn/blog_migrate/2a82fb552120de167a3569d72553f188.png
 选择Python Environments
https://i-blog.csdnimg.cn/blog_migrate/d8958fd45d60f054da736ff8bf2b0b0a.png选择我们创建的虚拟环境.venv https://i-blog.csdnimg.cn/blog_migrate/a485a2e08dc989fb6f07cad487609a55.png
注意:每次关闭项目或者demo_part1.ipynb文件,要依次重新执行。每个都可多次点击,以消除警告信息。
1)第一步

 点击下面的三角按钮https://i-blog.csdnimg.cn/blog_migrate/21a597c1fb4eba645d9b073c83ea5b87.png
2)第二步 

点击Initialization下的三角按钮。
https://i-blog.csdnimg.cn/blog_migrate/5fc0c1b230776315c890ac63ed5455f6.png
3)第三步

 执行source_se,可省略。https://i-blog.csdnimg.cn/blog_migrate/ac8e58b19ae1783dcf7fde9eca06b046.png
4)第四步

执行reference_speaker,可多点击反复,便不会出现题目。
https://i-blog.csdnimg.cn/blog_migrate/1af0020f5b8698a33c4d8e83d71ea055.png
5)第五步

执行Inference,挑选一个执行即可。默认情况下,选择英文例子。
注意:运行英文代码最好加一句,避免出错中英文checkpoints不对应。
ckpt_base = 'checkpoints/base_speakers/EN'
https://i-blog.csdnimg.cn/blog_migrate/75f6842efaf0b96349bf08052ae6db29.png
第一个是默认英文例子。
https://i-blog.csdnimg.cn/blog_migrate/f3da7e3654421505ee5899824c9b8a86.png
第二个也是英文,修改了语气与语速。
语气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)
https://i-blog.csdnimg.cn/blog_migrate/ede8ddc9f520ccecc8bc8b0ddbb226fc.png
 第三个是中文,只有默认语气。
https://i-blog.csdnimg.cn/blog_migrate/a6e5e1369ed2739780d555b7ddd305b1.png
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,以防报错找不到文件。更改完毕,然后执行这一步。
https://i-blog.csdnimg.cn/blog_migrate/25824071bad6f9199ba7a36b3e47e50b.png
https://i-blog.csdnimg.cn/blog_migrate/8a4888fbfd81de0f6fb64ac708f6d5f0.png
以中文为例 ,但是中文不能选择语气,只有默认的。
https://i-blog.csdnimg.cn/blog_migrate/a1995ab4d4b4a8acea037f8251b85642.png
 变量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,随自己选择。
三、模子深度解析

敬请等待。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【开源语音项目OpenVoice](一)——实操演示