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