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

ops/2025/2/6 8:09:50/

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

步骤

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

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,需要先安装:

pip install pydub

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

sudo apt install ffmpeg  # Ubuntu
brew install ffmpeg      # macOS

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


优化

  • 如果背景音乐较长,可以 fade_in(3000).fade_out(3000) 让音乐渐入渐出:
    background_music = background_music.fade_in(3000).fade_out(3000)
    
  • 也可以调整背景音乐的 stereomono,避免干扰朗诵:
    background_music = background_music.set_channels(1)  # 转单声道
    

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


http://www.ppmy.cn/ops/156098.html

相关文章

【CSS】什么是响应式设计?响应式设计的基本原理,怎么做

在当今多设备、多屏幕尺寸的时代&#xff0c;网页设计面临着前所未有的挑战。传统的固定布局已无法满足用户在不同设备上浏览网页的需求&#xff0c;响应式设计&#xff08;Responsive Web Design&#xff09;应运而生&#xff0c;成为网页设计的趋势和标准。本文将深入探讨响应…

【通俗易懂说模型】线性回归(附深度学习、机器学习发展史)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;深度学习_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …

4 HBase 的高级 shell 管理命令

4 HBase 的高级 shell 管理命令 1.status 例如&#xff1a;显示服务器状态 hbase(main):058:0> status node012.whoami 显示 HBase 当前用户&#xff0c;例如&#xff1a; hbase> whoami3.list 显示当前所有的表 hbase> list4.count 统计指定表的记录数&#xff0c…

基于Javascript的封装、方法重载、构造方法

封装 封装是面向对象编程中的一个重要特性&#xff0c;指的是将对象的状态&#xff08;属性&#xff09;和行为&#xff08;方法&#xff09;绑定在一起&#xff0c;并隐藏对象的实现细节&#xff0c;只暴露必要的接口。JavaScript通过类&#xff08;class&#xff09;和对象字…

深度学习篇---深度学习中的超参数张量转换模型训练

文章目录 前言第一部分&#xff1a;深度学习中的超参数1. 学习率&#xff08;Learning Rate&#xff09;定义重要性常见设置 2. 批处理大小&#xff08;Batch Size&#xff09;定义重要性常见设置 3. 迭代次数&#xff08;Number of Epochs&#xff09;定义重要性常见设置 4. 优…

.net的一些知识点

1.public,protected,private的区别 从访问权限来说是 public>protecd>private 翻译成汉字&#xff1a;公有的>受保护的>私有的 但是在拿那种旧版本(2017及之前)的vs创建class的时候&#xff0c;这个类是没有修饰符的。现在vs2022版本创建带了默认修饰符&#x…

matlab实现了一个多视角受限核机算法,结合了多个视角的数据进行二分类任务

function [pre , score] Mv_Lap_RKM(train , test , label , gamma_list, eta , lammda , sita ) %MV_RKM 多视角 受限核机 % 解决二分类问题&#xff0c;label为-1或1 % eta正则项超参 % lammda隐藏层超参 %Multi-View Least Squares Support Vector Machines Classifi…

11.kafka开启jmx

方式一: 1.进入/opt/kafka_2.13-3.3.2/bin目录 命令: cd /opt/kafka_2.13-3.3.2/bin [root@rhel77 ~]# cd /opt/kafka_2.13-3.3.2/bin [root@rhel77 bin]# pwd /opt/kafka_2.13-3.3.2/bin [root@rhel77 bin]# 2.备份kafka-run-class.sh 命令: cp kafka-run-class.sh …