Spaces:
Runtime error
Runtime error
File size: 1,143 Bytes
446c342 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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 |