Spaces:
Runtime error
Runtime error
import io | |
import scipy.io.wavfile as wavfile | |
from pydub import AudioSegment | |
def mix_background_music(original_audio, 背景音乐, TTS_up, bg_up): | |
original_audio = original_audio + TTS_up | |
ori_out = io.BytesIO() | |
original_audio.export(ori_out, format="mp3") | |
ori_out.seek(0) | |
original_audio_bytes = ori_out.read() | |
if 背景音乐 is None: # 没有背景音乐 | |
return original_audio_bytes, None | |
else: # 有背景音乐 | |
# 读取用户上传的背景音乐文件 | |
wav_io = io.BytesIO() | |
wavfile.write(wav_io, 背景音乐[0], 背景音乐[1]) | |
wav_io.seek(0) | |
background_music = AudioSegment.from_wav(wav_io) | |
background_music = background_music + bg_up | |
# 将背景音乐合并到原始音频中 | |
combined = original_audio.overlay(background_music) | |
# 使用BytesIO导出合并后的音频为字节串 | |
mix_out = io.BytesIO() | |
combined.export(mix_out, format="mp3") | |
mix_out.seek(0) # 重置指针到开始位置 | |
combined_audio_bytes = mix_out.read() | |
return original_audio_bytes, combined_audio_bytes |