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生成原始音频再进行音色转换,这将会取得不错的效果。

相关文章
|
1月前
|
人工智能 开发者
MidJourney 替代品:为什么 FLUX.1 是终极 AI 图像生成工具
MidJourney 是目前流行的 AI 驱动图像生成工具,以其艺术风格和易用性闻名。然而,随着技术进步,其他模型如 FLUX.1、DALL·E 3 和 Stable Diffusion 3 也崭露头角,提供了更多定制选项和高质量输出。其中,FLUX.1 以其开源性质、卓越图像质量和开发者友好性脱颖而出,成为 MidJourney 的有力替代品。选择合适的工具应基于具体需求,FLUX.1 在灵活性和高性能方面表现优异。
|
7天前
|
机器学习/深度学习 人工智能 搜索推荐
AI与娱乐产业:电影制作的新工具
随着科技的发展,人工智能(AI)逐渐渗透到电影制作中,带来了前所未有的创新。本文探讨了AI在剧本创作、场景构建、特效制作、动作捕捉、音频处理、剪辑及市场调研等领域的应用,以及其对提升效率、激发创意和拓宽视野的影响,展望了AI在未来电影产业中的重要作用。
|
1月前
|
人工智能 IDE Java
AI 代码工具大揭秘:提高编程效率的必备神器!
【10月更文挑战第1天】近年来,人工智能得到了迅猛的发展,并在各行各业都得到了广泛应用。尤其是近两年来,AI开发工具逐渐成为开发者们的新宠,其中 GitHub Copilot 更是引发了无限可能性的探索。
96 9
AI 代码工具大揭秘:提高编程效率的必备神器!
|
1月前
|
人工智能 搜索推荐 程序员
AI 搜索引擎工具集合
AI 搜索引擎工具集合
AI 搜索引擎工具集合
|
1月前
|
人工智能 JavaScript 数据可视化
Cursor 、v0 和 Bolt.new:当今 AI 编程工具的全面解析与对比
本文对 Cursor AI、v0 和 Bolt.new 三大 AI 编程工具进行了全面比较,分析其各自优势与局限性,帮助开发者在不同工作流中灵活应用。
221 8
Cursor 、v0 和 Bolt.new:当今 AI 编程工具的全面解析与对比
|
1月前
|
人工智能 JSON API
利用TTS技术让你的AI Agent发声
【10月更文挑战第5天】
81 4
利用TTS技术让你的AI Agent发声
|
1月前
|
人工智能
三文带你轻松上手鸿蒙的AI语音03-文本合成声音
三文带你轻松上手鸿蒙的AI语音03-文本合成声音
40 1
三文带你轻松上手鸿蒙的AI语音03-文本合成声音
|
1月前
|
人工智能 自然语言处理 算法
几款宝藏级AI阅读工具推荐!论文分析、文档总结必备神器!
【10月更文挑战第8天】几款宝藏级AI阅读工具推荐!论文分析、文档总结必备神器!
66 1
几款宝藏级AI阅读工具推荐!论文分析、文档总结必备神器!
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
NotebookLM与NotebookLlama 了解下 | AI工具
在AI技术飞速发展的今天,Google和Meta分别推出了基于大型语言模型的笔记本应用——NotebookLM和NotebookLlama。这两款产品不仅提供了强大的文档处理和编码支持,还在文档和编码领域引领了创新。NotebookLM强调个性化和隐私保护,而NotebookLlama则以开源和高度定制性著称。本文将深入解析这两款产品并进行对比分析。【10月更文挑战第16天】
99 2
|
1月前
|
存储 人工智能 开发者
三文带你轻松上手鸿蒙的AI语音02-声音文件转文本
三文带你轻松上手鸿蒙的AI语音02-声音文件转文本
74 0
三文带你轻松上手鸿蒙的AI语音02-声音文件转文本