DreamVoice / openvoice_example.py
Higobeatz's picture
openvoice plugin
853cf78
raw
history blame
914 Bytes
import torch
from dreamvoice import DreamVoice_Plugin
from dreamvoice.openvoice_utils import se_extractor
from openvoice.api import ToneColorConverter
# init dreamvoice
dreamvoice = DreamVoice_Plugin(device='cuda')
# init openvoice
ckpt_converter = 'checkpoints_v2/converter'
device = "cuda:0" if torch.cuda.is_available() else "cpu"
openvoice = ToneColorConverter(f'{ckpt_converter}/config.json', device=device)
openvoice.load_ckpt(f'{ckpt_converter}/checkpoint.pth')
# generate speaker
prompt = 'cute female girl voice'
target_se = dreamvoice.gen_spk(prompt)
target_se = target_se.unsqueeze(-1)
# content source
source_path = 'examples/test2.wav'
source_se = se_extractor(source_path, openvoice).to(device)
# voice conversion
encode_message = "@MyShell"
openvoice.convert(
audio_src_path=source_path,
src_se=source_se,
tgt_se=target_se,
output_path='output.wav',
message=encode_message)