TTS它又来了!OpenVoice:一款借鉴于TTS实现的强大的AI语音克隆工具!

简介: TTS它又来了!OpenVoice:一款借鉴于TTS实现的强大的AI语音克隆工具!

前言


2023年被大家称为人工智能元年,在GPT技术不断爆火的背景下,人工智能技术也在不断的发展和演化。各种AI工具也层出不穷,其中 语音克隆技术 也是尤为引人瞩目的产品之一。


OpenVoice 作为一款强大的多语言即时语音克隆AI工具,可以为用户提供高效、个性化的语音克隆服务,是一款值得推荐的项目。


项目介绍


OpenVoicemyshell ai 开源的一款基于人工智能技术的语音克隆工具。


其核心功能是通过提供发言者的短音频片段(参考语音),实现声音的高效克隆。


这意味着您可以使用OpenVoice来克隆任何人的声音,而且不限于特定语言。无论您是想要模仿某位名人的声音,还是需要在不同语言之间进行语音转换,OpenVoice都能够满足您的需求。


项目地址:https://github.com/myshell-ai/OpenVoice


特色功能:


  • 准确的音色克隆:OpenVoice 可以准确克隆参考音色并生成多种语言和口音的语音。
  • 灵活的音色控制:OpenVoice 可以对语音风格(例如情感和口音)以及其他风格参数(包括节奏、停顿和语调)进行精细控制。
  • 零样本跨语言语音克隆:生成语音的语言和参考语音的语言都不需要出现在大规模说话人多语言训练数据集中。


项目贡献开发者:


  • 秦增一,麻省理工学院&MyShell
  • 赵文亮,清华大学
  • 于绪敏,清华大学
  •  Ethan Sun,MyShell


如何使用它?


OpenVoice的使用方法非常简单,同常用开源项目一样,需要如下步骤:

提前创建好Python3.9及以上的虚拟环境

1、访问OpenVoice项目地址,并将项目整体包下载下来,也可以借助git命令克隆到本地或云服务器。

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

2、安装项目依赖库,依赖库列表在项目根目录下requirements.txt文件中。

pip install -r requirements.txt

3、下载官方提供的预训练模型,里面包含了英文和中文的预训练模型,还有转换器模型。


模型地址:https://myshell-public-repo-hosting.s3.amazonaws.com/checkpoints_1226.zip

模型包下载需要魔法,小编已提前准备好,如无法下载可在公众号内回复ov模型获取!

下载后将文件解压到项目根目录即可。


4、模型的执行


我们可以运行一下官方提供的demo_part1.ipynb,这个示例中使用了默认的录音文件作为目标音频,然后使用TTS输出原始音频进行转换。

如果你没有jupyter环境,可以尝试将其中的代码复制到py文件中运行,如果一切正常,你将会得到一个outputs文件夹,其中的tmp.wav为TTS原始音频,output_chinese.wav为转换后的目标音频,可以试听output_chinese.wav确认转换效果。

import os
import torch
import se_extractor
from api import BaseSpeakerTTS, ToneColorConverter
 
ckpt_converter = 'checkpoints/converter'
# 使用GPU进行计算
device = 'gpu'
output_dir = 'outputs'
 
# 加载基础模型
tone_color_converter = ToneColorConverter(f'{ckpt_converter}/config.json', device=device)
tone_color_converter.load_ckpt(f'{ckpt_converter}/checkpoint.pth')
# 创建输出目录
os.makedirs(output_dir, exist_ok=True)
# 训练音频
reference_speaker = 'resources/example_reference.mp3'
target_se, audio_name = se_extractor.get_se(reference_speaker, tone_color_converter, target_dir='processed', vad=True)
# TTS配置
ckpt_base = 'checkpoints/base_speakers/ZH'
base_speaker_tts = BaseSpeakerTTS(f'{ckpt_base}/config.json', device=device)
base_speaker_tts.load_ckpt(f'{ckpt_base}/checkpoint.pth')
source_se = torch.load(f'{ckpt_base}/zh_default_se.pth').to(device)
save_path = f'{output_dir}/output_chinese.wav'
text = "今天是1月26号,早安!"
src_path = f'{output_dir}/tmp.wav'
# TTS转换,speed为语速
base_speaker_tts.tts(text, src_path, speaker='default', language='Chinese', speed=0.9)
# 数字水印内容
encode_message = "@Python_fy"
# 运行转换
tone_color_converter.convert(
    audio_src_path=src_path, 
    src_se=source_se, 
    tgt_se=target_se, 
    output_path=save_path,
    message=encode_message)

特别重要:


如果出现了如下错误: HTTPSConnectionPool(host='huggingface.co', port=443)则可能是由于国内目前无法访问huggingface导致,因为执行过程需要下载一个pkl模型文件。


huggingface模型地址:https://huggingface.co/M4869/WavMark/resolve/main/step59000_snr39.99_pesq4.35_BERP_none0.30_mean1.81_std1.81.model.pkl


我们需要手动去下载模型文件,并修改源代码替换路径,在你的Python三方库安装位置下,site-packages\wavmark_init_.py中的第10行,进行修改,将其设置为本地读取即可。修改后的代码:

def load_model(path="default"):
    if path == "default":
        # resume_path = hf_hub_download(repo_id="M4869/WavMark",
        #                               filename="step59000_snr39.99_pesq4.35_BERP_none0.30_mean1.81_std1.81.model.pkl",
        #                               )
        resume_path = "C:/Users/Number/.cache/huggingface/hub/models--M4869--WavMark/step59000_snr39.99_pesq4.35_BERP_none0.30_mean1.81_std1.81.model.pkl"
 
    model = my_model.Model(16000, num_bit=32, n_fft=1000, hop_length=400, num_layers=8)
    checkpoint = torch.load(resume_path, map_location=torch.device('cpu'))
    model_ckpt = checkpoint
    model.load_state_dict(model_ckpt, strict=True)
    model.eval()
    return model

继续执行后,如果出现silero无法下载,可能是Git未设置代理,可能silero仓库无法正常拉取。导致运行时报下载超时的错误:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\whisper_timestamped\transcribe.py", line 1885, in get_vad_segments
    _silero_vad_model, utils = torch.hub.load(repo_or_dir=repo_or_dir, model="silero_vad", onnx=onnx, source=source)
  File "C:\Python39\lib\site-packages\torch\hub.py", line 539, in load
    repo_or_dir = _get_cache_or_reload(repo_or_dir, force_reload, trust_repo, "load",
...省略若干调用链...
  File "C:\Python39\lib\http\client.py", line 289, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

Silero地址:https://codeload.github.com/snakers4/silero-vad/zip/refs/heads/master


同样的需要手动下载,下载后将文件放在torch默认的缓存目录即可,一般指向的是:C:\Users\Number\.cache\torch\hub\,文件夹名称为:snakers4_silero-vad_master,将文件解压到这个文件夹下即可。

Linux用户的缓存目录可能在:/home/用户名/.cache

Mac用户的缓存目录可能在:/Users/用户名/.cache

以上资源包若都无法下载,也可在公众号内回复ov模型获取!


应用场景


  • 个性化语音助手:定制属于自己的个性化语音助手,为用户提供更加亲切贴心的服务体验。
  • 语音内容创作:为视频、广播等内容创作提供真实、个性化的配音声音。
  • 语音合成应用:用于各类语音合成应用领域,如教育、娱乐等。


总结


总的来说,OpenVoice是一款功能强大、灵活多样的语音克隆AI工具,具有广泛的应用前景和发展潜力。

但是通过实测你可能会发现对于中文的音调效果处理不太理想,可能是有由于该项目的实现借鉴于TTS,而它对于中文支持不太好的原因,您可以尝试使用真人发音或者换其它优秀的TTS生成原始音频再进行音色转换,这将会取得不错的效果。

相关文章
|
13天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
1天前
|
人工智能 自然语言处理 算法
GPT-4o:重塑AI语音对话的边界与机遇
最近技术圈又出了新的“爆炸”新闻,因为OpenAI再次掀起技术浪潮,发布了最新旗舰模型GPT-4o,通过官方的消息显示这款全新的模型凭借超高速的语音响应能力和多模态交互革新,不仅让AI语音对话的交互体验更加流畅自然,还以免费使用的形式,给用户和行业带来了前所未有的震撼。那么GPT-4o相比前代有哪些显著的技术提升?它的发布又为国内大模型行业带来了哪些机会呢?本文就来简单聊一聊,欢迎大家在评论区留言交流。
13 2
GPT-4o:重塑AI语音对话的边界与机遇
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
讨论:你用过最好用的AI工具有哪些?
讨论:你用过最好用的AI工具有哪些?
|
8天前
|
机器学习/深度学习 人工智能 语音技术
AI让失语者重新说话!纽约大学发布全新神经-语音解码器
【5月更文挑战第19天】纽约大学研发的神经-语音解码器,结合深度学习与语音合成,为失语者带来新希望。此脑机接口技术能将大脑神经信号转化为语音参数,再通过合成器转为可听语音。使用癫痫患者的数据进行训练,解码器已成功重现语音,尽管质量有待提升。该技术有望革新沟通方式,但也面临数据复杂性、隐私保护及社会接受度等挑战。[论文链接](https://www.nature.com/articles/s42256-024-00824-8)
35 5
|
13天前
|
人工智能
介绍一个工具,能够检测一段内容是否通过 AI 工具生成
介绍一个工具,能够检测一段内容是否通过 AI 工具生成
34 2
|
13天前
|
人工智能 iOS开发 MacOS
[译][AI OpenAI] 引入 GPT-4o 及更多工具至免费版 ChatGPT 用户
我们推出了最新的旗舰模型 GPT-4o,并为免费版 ChatGPT 用户提供更多功能,包括更快的速度、改进的文本、语音和视觉能力,以及新的桌面应用程序和简化的界面。
[译][AI OpenAI] 引入 GPT-4o 及更多工具至免费版 ChatGPT 用户
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
一个检测文字是否是 AI 生成的工具
一个检测文字是否是 AI 生成的工具
21 0
|
13天前
|
人工智能 JSON 计算机视觉
AI工具-标注工具labelme
Labelme是一款Python开源图像标注工具,支持图像分类、目标检测、语义分割和实例分割等任务。它提供了一个GUI界面,用户可绘制圆形、方形和多边形进行标注。安装通过`pip install labelme`和`lxml`,使用时可导入预定义标签列表。标注结果保存为json文件,包含类别、边界框信息和形状类型。Labelme还支持格式转换,如转换为VOC或COCO格式。这款工具对视频标注也兼容。5月更文挑战第9天
49 5
|
13天前
|
人工智能 自然语言处理 搜索推荐
推荐几个AI的好工具,大家快收藏
随着chatgpt出现,各式各样的AI应用不断刷新大家的认知。今天,我就为大家推荐几个实用的AI工具,不管你有没有听说过,走过路过不容错过。5月更文挑战第1天
89 4
|
13天前
|
数据采集 安全 测试技术
【专栏】阿里云RPA浏览器自动化插件是一款基于AI的创新工具
【4月更文挑战第29天】阿里云RPA浏览器自动化插件是一款基于AI的创新工具,能模拟浏览器操作,实现自动化业务流程,提升效率,降低成本。其特点包括强大的自动化能力、智能识别处理、灵活定制、稳定性能及安全保障。适用于数据采集、表单填写、网页测试、办公自动化和电商运营等场景,助力企业数字化转型。

热门文章

最新文章