首页 > 其他分享 >OpenVoice克隆声音

OpenVoice克隆声音

时间:2024-05-05 15:35:07浏览次数:9  
标签:声音 克隆 src OpenVoice ckpt base output path se

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

安装

conda create -n openvoice python=3.9
conda activate openvoice
git clone [email protected]:myshell-ai/OpenVoice.git
cd OpenVoice
pip install -e .

checkpoints下载

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

v1版本

import os
import torch
from openvoice import se_extractor
from openvoice.api import BaseSpeakerTTS, ToneColorConverter

ckpt_base = 'checkpoints/base_speakers/EN'
ckpt_converter = 'checkpoints/converter'
device="cuda:0" if torch.cuda.is_available() else "cpu"
output_dir = 'outputs'

base_speaker_tts = BaseSpeakerTTS(f'{ckpt_base}/config.json', device=device)
base_speaker_tts.load_ckpt(f'{ckpt_base}/checkpoint.pth')

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)

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

#需要克隆的声音
reference_speaker = 'resources/example_reference.mp3'
target_se, audio_name = se_extractor.get_se(reference_speaker, tone_color_converter, target_dir='processed', vad=True)
# 克隆后的输出
save_path = f'{output_dir}/output_en_default.wav'

# 要生成的语句
text = "This audio is generated by OpenVoice."
src_path = f'{output_dir}/tmp.wav'
## 尝试不同风格
# 可选: friendly, cheerful, excited, sad, angry, terrified, shouting, whispering.
# 语速 speed 0.9.
base_speaker_tts.tts(text, src_path, speaker='default', language='English', speed=1.0)

# 执行
encode_message = "@MyShell"
tone_color_converter.convert(
    audio_src_path=src_path,
    src_se=source_se,
    tgt_se=target_se,
    output_path=save_path,
    message=encode_message)

中文

#中文
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 = "今天天气真好,我们一起出去吃饭吧。"
src_path = f'{output_dir}/tmp.wav'
base_speaker_tts.tts(text, src_path, speaker='default', language='Chinese', speed=1.0)

# 开始
encode_message = "@MyShell"
tone_color_converter.convert(
    audio_src_path=src_path,
    src_se=source_se,
    tgt_se=target_se,
    output_path=save_path,
    message=encode_message)

标签:声音,克隆,src,OpenVoice,ckpt,base,output,path,se
From: https://www.cnblogs.com/qcy-blog/p/18173530

相关文章

  • RK3568 android13 HDMI和SPK同时有声音
    Index:base/services/core/java/com/android/server/WiredAccessoryManager.java===================================================================---base/services/core/java/com/android/server/WiredAccessoryManager.java (revision2786)+++base/services/co......
  • 在线文字转语音网站,配音,语音合成,语音克隆
    无界智能·语音合成·在线语音合成(aiwjzn.com)【打造声音魅力,让文字活起来】......
  • win10系统腾讯会议连接蓝牙耳机(小米buds3)没有声音
    台式机放在工位地下,用有线耳机实在太麻烦。台式机如何连接蓝牙耳机了。只需要在拼多多上面买个蓝牙适配器。5-10块钱哪种就行(蓝5.1就够了,有钱就买最好的)添加后,听音乐啥的都没有问题。但是今天腾讯会议开会,居然灭有声音。连接蓝牙耳机后,腾讯会议还是外放,可能是由于声音模式未切......
  • .net 两个泛型克隆属性名相同的值
    ///<summary>///TIntoTOut///</summary>///<typeparamname="TIn"></typeparam>publicstaticTOutClassToClass<TIn,TOut>(TIntIn){TOuttOut=Activator.Create......
  • audition 音频 声音 变慢 减速 增加响度 增大音量
    audition音频声音变慢减速增加响度增大音量我这里audition版本是cs6减速减速的那个算法选右边的选项,要不效果不好减速的那个算法选右边的选项,要不效果不好减速的那个算法选右边的选项,要不效果不好增大响度显示窗口完工~......
  • 深克隆的实现方式
    1.所有对象都实现克隆方法2.通过构造方法实现深克隆3.使用JDK自带的字节流实现深克隆(1)所有对象都实现克隆方法,这种方式需要让所有的引用对象都实现克隆(Cloneable接口)点击查看代码packagecom.clone;publicclassCloneExample{publicstaticvoidmain(Stri......
  • 虚拟机克隆处理
    虚拟机克隆后uuid相同,ip无法获取。使用root用户更改打开网卡配置文件(非root用户只有只读文件权限)命令:cd/etc/sysconfig/network-scripts/vimifcfg-ens33再打开一个窗口生成一个新的UUID命令:uuidgen复制并替换。重启网络systemctlrestartnetwork......
  • 在Linux中,如何实现文件系统的快照和克隆?
    在Linux中,文件系统快照和克隆是两种用于数据备份和恢复的技术。快照是文件系统在特定时间点的只读副本,而克隆则是快照的可写副本。1.文件系统快照LVM(逻辑卷管理)提供了一种创建文件系统快照的简单方法。快照可以用于数据恢复、备份、升级系统或应用程序等场景。创建逻辑卷:如......
  • git将一个仓库的代码克隆到另一个已有仓库
    要将一个Git仓库的代码克隆到另一个已有的仓库,你可以先克隆目标仓库,然后将源仓库的内容添加为一个新的远程仓库,并将其合并到目标仓库中。以下是具体步骤和示例代码:克隆目标仓库到本地(如果你还没有这个仓库的本地副本):gitclonehttps://github.com/target/repository.gitcdrep......
  • 克隆虚拟机网络重启报错:Failed to start LSB: Bring up/down networking
    1.虚拟机环境[root@master~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)[root@master~]#cat/proc/versionLinuxversion3.10.0-1160.el7.x86_64([email protected])(gccversion4.8.520150623(RedHat4.8.5-44)(GCC))#1SM......