python处理音频文件(mp3)

今天aiping点读笔的MP3源文件出现声音大小不一致,而且需要将英文单词MP3与单词翻译MP3文件连接起来,刚开始使用ffmpeg效果很差。万能的gitgub再次证明了它的万能,我找到了pydub

1 网址:https://github.com/jiaaro/pydub

2 pydub需要依赖 libav或者ffmpeg

3 在mac环境下安装依赖:(二选一)

brew install libav --with-libvorbis --with-sdl --with-theora
将所有依赖都安装上~~
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis--with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools --with-fdk-aac --with-freetype --with-ffplay --with-ffplay --with-freetype --with-frei0r --with-libass --with-libbluray --with-libcaca --with-libquvi --with-libvidstab --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools --with-x265

4 安装pydub:  pip install pydub

5 使用pydub:

            enPath = "%s%s/%s"%(enDir,file,enfile) #英文文件的路径
            cnPath = "%s%s/%s"%(cnDir,file,enfile.replace("en_w","cn_w"))#中文文件的路径
            targetPath = "%s%s/%s"%(toDir,file,enfile.replace("en_w","all")) #合并文件的路径
            #加载MP3文件
            song1 = AudioSegment.from_mp3(enPath)
            song2 = AudioSegment.from_mp3(cnPath)

            #取得两个MP3文件的声音分贝
            db1 = song1.dBFS
            db2 = song2.dBFS

            song1 = song1[300:] #从300ms开始截取英文MP3

            #调整两个MP3的声音大小,防止出现一个声音大一个声音小的情况
            dbplus = db1 - db2
            if dbplus < 0: # song1的声音更小
                song1+=abs(dbplus)
            elif dbplus > 0: #song2的声音更小
                song2+=abs(dbplus)

            #拼接两个音频文件
            song = song1 + song2

            #导出音频文件
            song.export(targetPath, format="mp3") #导出为MP3格式
时间: 2024-09-29 19:57:19

python处理音频文件(mp3)的相关文章

Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件

本示例的过程是: 1. 音频转文本 2. 利用文本获取情感倾向分析结果 3. 利用文本获取关键词提取 首先是讯飞的语音识别模块.在这里可以找到非实时语音转写的相关文档以及 Python 示例.我略作了改动,让它可以对不同人说话作区分,并且作了一些封装. 语音识别功能 weblfasr_python3_demo.py 文件: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 讯飞非实时转写调用demo(语音识别)

分享python分析wave, pcm音频文件

最近研究的,我用的是python3.3, 用matplotlib画图, 下面代码演示分析pcm文件,如果是wave文件,把wave的文件头去掉就是pcm文件了. 代码如下 1 # -*- coding:utf-8 -*- 2 3 import array 4 import os 5 from matplotlib import pyplot 6 7 fileName = 'e:/music/qianqian.pcm' # 2 channel, 16 bit per sample 8 file =

ffmpeg 将1张图片和1个MP3音频文件转为MP4

公司项目需求要将1张图片和1个mp3音频文件合成转为MP4,在html5上播放,原以为是很简单的一回事,所以很快就写了一条简单的ffmpeg命令去执行. ffmpeg -i 2.mp3 -f image2 -i 3.jpg -acodec aac -strict -2 -vcodec libx264 -ar 22050 -ab 128k -ac 2  -y 4.mp4 一开始非常顺利,合成的MP4能够在html5上播放,但问题来了,当换了一张图片的时候,就发现不能播放了,总提示视频格式不正确.之

CEF3 HTML5 audio标签为什么不能播放mp3格式的音频文件

CEF3 HTML5 audio标签 为什么不能播放mp3格式的音频文件 原因略. 解决方法: 找一个最新版的chrome ,我用的是24版本.路径 C:\Documents and Settings\guo\Local Settings\Application Data\Google\Chrome\Application\24.0.1312.57的下面有一个文件ffmpegsumo.dll. 复制出来,替换掉CEF3的同名文件.就好了.

swift 录制多个音频 并将音频转换为mp3 并合成多个mp3文件为一个文件

我的需求是可以录制多个文件,最后生成的文件格式为mp3形式,查了下各种资料,因为swift无法直接将音频录制为mp3格式,所以最后我采取的解决方案为先将每个单独的文件转为mp3,最后逐一合并形成一个mp3文件 首先第一步录制 简单说明下: 参考:  http://www.jianshu.com/p/09af208a5663(感谢) http://www.hangge.com/blog/cache/detail_772.html(感谢) 1. 音频配置,我尝试了下尽可能多加各种配置最后有问题,测试

mac下压缩mp3音频文件/linux 适用

为了压缩一个软件煞费苦心,最终还是没有找到一个不要钱的gui工具,郁闷之余,另辟思路,何不采用linux的命令行工具去压缩啊,于是在网上找到了这个工具lame 首先当然是用 homebrew 来安装lame dangchengchengdeMacBook-Pro:js dangchengcheng$ brew install lame ==> Downloading https://homebrew.bintray.com/bottles/lame-3.99.5.yosemite.bottle.

如何用Python爬取喜马拉雅全网音频文件

什么是喜马拉雅 喜马拉雅FM是国内分享平台,3月手机客户端上线,两年多时间手机用户规模已突破2亿 [1] ,成为国内发展最快.规模最大的在线移动音频分享平台. 今天小编分享爬取喜马拉雅的单本全集的音频文件和全网站的音频 环境配置: Windows + Python 3.6 爬取单本音频 1 import json 2 3 import re 4 5 import requests 爬取全站模块使用 1 import re 2 3 import requests 4 5 from lxml imp

PHP获取音频mp3文件时长或音频文件其它参数属性

今天在开发项目中遇到一个问题,要获取到上传音频的时长,从而展示在前端页面 最后找到解决方案: 1.首先,我们需要先下载一份PHP类-getid3  https://codeload.github.com/JamesHeinrich/getID3/zip/master 2.解压文件,把整个文件夹上传到服务器 3.贴代码 include_once 'getid3/getid3.php'; //引入该文件 $getID3 = new getID3(); //实例化类 $ThisFileInfo = @

python的音频处理库

本文和大家分享的主要是python开发中常用的几个音频处理库,一起来看看吧,希望对大家有所帮助. 一.eyeD3 直接在google上搜索python mp3 process ,推荐比较多的就是这个第三方库了.先来看看官方介绍吧. 简单来说,eyeD3 这个库只要是用来处理MP3文件的,特别是带ID3 metadata的文件(一般MP3文件都会带有一些额外信息, 比如说歌手.专辑 之类的,后面会说怎么提取这些信息).eyeD3 提供了两种使用方法,一种是使用command line 直接在命令行