将音频mp3文件添加背景音乐

你可以使用 Python 的 pydub 库来合成两个音频文件,并调整背景音乐的音量,使朗诵的声音更强。以下是实现的 Python 代码:

步骤

  1. 读取朗诵音频文件(speech.mp3)。
  2. 读取背景音乐文件(background.mp3)。
  3. 统一两者的采样率和时长(如果需要)。
  4. 降低背景音乐音量,提高朗诵音频的音量(可调整)。
  5. 合并两条音轨并导出最终的 MP3 文件。

Python 代码

python 复制代码
from pydub import AudioSegment

# 读取朗诵音频
speech = AudioSegment.from_file("speech.mp3", format="mp3")

# 读取背景音乐
background_music = AudioSegment.from_file("background.mp3", format="mp3")

# 调整背景音乐的音量,使其变轻(-15 dB,可调)
background_music = background_music - 15

# 调整朗诵音频的音量,使其增强(+5 dB,可调)
speech = speech + 5

# 确保背景音乐和朗诵音频长度一致(循环背景音乐或截断)
if len(background_music) < len(speech):
    background_music = background_music * (len(speech) // len(background_music) + 1)
background_music = background_music[:len(speech)]  # 截取相同长度

# 合并两条音轨
final_audio = speech.overlay(background_music)

# 导出最终音频文件
final_audio.export("output.mp3", format="mp3")

print("音频合成完成,保存为 output.mp3")

参数说明

  • background_music - 15:降低背景音乐的音量,使其轻一点。
  • speech + 5:增加朗诵音频的音量,使其更突出。
  • overlay(background_music):将背景音乐和朗诵音频合并。
  • export("output.mp3", format="mp3"):导出最终的 MP3 文件。

依赖安装

如果你的环境没有安装 pydub,需要先安装:

sh 复制代码
pip install pydub

此外,你还需要 ffmpeg 支持 MP3 格式转换:

sh 复制代码
sudo apt install ffmpeg  # Ubuntu
brew install ffmpeg      # macOS

Windows 用户可以从 FFmpeg 官网 下载并配置环境变量。


优化

  • 如果背景音乐较长,可以 fade_in(3000).fade_out(3000) 让音乐渐入渐出:

    python 复制代码
    background_music = background_music.fade_in(3000).fade_out(3000)
  • 也可以调整背景音乐的 stereomono,避免干扰朗诵:

    python 复制代码
    background_music = background_music.set_channels(1)  # 转单声道

这样,你就可以得到一个 朗诵声音清晰、背景音乐柔和的 MP3 文件 🎵😊

相关推荐
追随远方16 分钟前
Android音频开发:Speex固定帧与变长帧编解码深度解析
android·音视频
aqi002 小时前
FFmpeg开发笔记(六十四)使用国产的RedPlayer播放器观看网络视频
android·ffmpeg·音视频·直播·流媒体
英英_15 小时前
视频爬虫的Python库
开发语言·python·音视频
weixin_5275504018 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
ai产品老杨18 小时前
减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
前端·vue.js·算法·ecmascript·音视频
红米饭配南瓜汤20 小时前
WebRTC中的几个Rtp*Sender
网络·网络协议·音视频·webrtc·媒体
EasyDSS1 天前
EasyRTC嵌入式音视频通信SDK助力物联网/视频物联网音视频打造全场景应用
人工智能·音视频
aqi001 天前
FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码
ffmpeg·音视频·直播·流媒体
babytiger1 天前
rk3588 上运行smolvlm-realtime-webcam,将视频转为文字描述
音视频
Icoolkj1 天前
Komiko 视频到视频功能炸裂上线!
人工智能·音视频