|
import io |
|
|
|
import scipy.io.wavfile as wavfile |
|
from pydub import AudioSegment |
|
|
|
from .genshin_bg import tts_fn as genshin_tts_fn |
|
from .tts_utils import mix_background_music |
|
|
|
|
|
def func_genshin(text, speaker_local, sdp_ratio_local, noise_scale_local, noise_scale_w_local, |
|
length_scale_local, language_local, 背景音乐, TTS_up, bg_up): |
|
try: |
|
ori_audio_data = genshin_tts_fn(text, speaker_local, |
|
sdp_ratio_local, |
|
noise_scale_local, |
|
noise_scale_w_local, |
|
length_scale_local, |
|
language_local, |
|
None, 'Happy', |
|
'Text prompt', |
|
'style_text', |
|
0.7)[1] |
|
|
|
wav_io = io.BytesIO() |
|
wavfile.write(wav_io, ori_audio_data[0], ori_audio_data[1]) |
|
wav_io.seek(0) |
|
ori_audio = AudioSegment.from_wav(wav_io) |
|
|
|
return None, *mix_background_music(ori_audio, 背景音乐, TTS_up, bg_up) |
|
except Exception as e: |
|
return str(e), None, None |
|
|