mirror of
https://github.com/myshell-ai/OpenVoice.git
synced 2024-01-08 15:02:24 -06:00
5.6 KiB
5.6 KiB
In [ ]:
import os
import torch
import se_extractor
from api import BaseSpeakerTTS, ToneColorConverterIn [ ]:
ckpt_base = 'checkpoints/base_speaker'
ckpt_converter = 'checkpoints/converter'
device = 'cuda:0'
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)In [ ]:
source_se = torch.load(f'{ckpt_base}/source_se.pth').to(device)In [ ]:
reference_speaker = 'resources/example_reference.mp3'
target_se, audio_name = se_extractor.get_se(reference_speaker, tone_color_converter)In [ ]:
save_path = f'{output_dir}/output_friendly.wav'
# Run the base speaker tts
text = "This audio is generated by open voice."
src_path = f'{output_dir}/tmp.wav'
base_speaker_tts.tts(text, src_path, speaker='friendly', language='English', speed=1.0)
# Run the tone color converter
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)In [ ]:
save_path = f'{output_dir}/output_whispering.wav'
# Run the base speaker tts
text = "This audio is generated by open voice with a half-performance model."
src_path = f'{output_dir}/tmp.wav'
base_speaker_tts.tts(text, src_path, speaker='whispering', language='English', speed=0.9)
# Run the tone color converter
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)