导航:首页 > 编程语言 > python音频切割合并

python音频切割合并

发布时间:2022-05-21 20:55:33

‘壹’ python录音文件流报错 在线等

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

1 网址:

2 pyb需要依赖 libav或者ffmpeg

4 安装pyb: pip install pyb
5 使用pyb:


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.dBFSdb2 = song2.dBFS song1 = song1[300:] #从300ms开始截取英文MP3 #调整两个MP3的声音大小,防止出现一个声音大一个声音小的情况dbplus = db1 - db2if dbplus < 0: # song1的声音更小 song1+=abs(dbplus)elif dbplus > 0: #song2的声音更小 song2+=abs(dbplus) #拼接两个音频文件song = song1 + song2 #导出音频文件song.export(targetPath, format="mp3") #导出为MP3格式

‘贰’ 在Windows系统中,如何python脚本实现分割合并大二进制文件,方便上传

你可以看看numpy.fromfile()方法,也可以自己open一个文件,再read()一定字节实现。
前者是把整个原文件读入内存成为数组,再选择数组的一部分写入文件(numpy.tofile())。后者是从原文件中读入一些字节,再把这些字节write到新文件中。
因此,方法并不难,基本上就是一个过程。
特别要注意的是,二进制文件是不存储任何格式信息的,所以,一定要弄清楚这个文件是如何产生的,因此,在分割文件时不要把一个数所对应的字节给分开。比如二进制文件中是32bit数据,那么,就要4字节为一个单位,不能在分割时分出一个1字节或2字节来,否则数据就错了。

‘叁’ python 合并两个文件内容的问题

如果是大文件的话不适合将数据预先读入内存形成dict进行后期处理
但有两个方法:

1. 用 key-value数据库如bsddb模拟内存中的dict
2. 对两个文件先用系统工具软件进行排序(如linux下的sort),然后再同时打开两个文件
在两个文件中顺序处理根据key值大小的不一移动不同的指针;然后进行合并逻辑。

‘肆’ 如何用python 3 将多个mp3文件合在一起

直接把几个mp3复制到一个文件里(有兴趣的话,跳过文件头和尾的id3, id3v2)。播放器会自动跳过不合法的MPEG帧,能够播放。不过文件时长就无法准确计算了,除非用别的程序。
或者用python写一个mp3解码、编码器,有人写过python的mp3解码器,解码速度是播放速度的1/128

‘伍’ python:一个string分割成句子,对切开后不合要求的重新合并,

'Mr. Smith bought cheapsite.com for 1.5 million dollars, i.e.', 'he paid a lot for it.'
这个不合并么?那就没有规则了,只能写死位置了

‘陆’ 用Python 将两个文件的内容合并成一个新的文件.

f1 = open("mit.txt", 'a+')
f2 = open("unitcode.txt",'r')
f3 = open("unitname.txt",'r')
s2 = f2.read().replace('\n', '').split(',')
s3 = f3.read().replace('\n', '').split(',')
f1.write('Unit name\tUnit Codes\n')
for i1, i2 in zip(s2, s3):
f1.write("%s\t%s\n" % (i1.strip(), i2.strip()))
f1.close()
f2.close()
f3.close()

如果就是想让格式对的很齐的化,只要格式化输出就行了。用ljust的函数对齐就行了。

‘柒’ python中将两个文件合并

你好:

其实这个问题不是很难啊:

请看代码:

txtpath1=r"a.txt"
txtpath2=r"b.txt"
txtpath3=r"c.txt"

fpa=open(txtpath1)
fpb=open(txtpath2)
fpc=open(txtpath3,"w")

arrB=[]
forlinebinfpb.readlines():
arrB.append(lineb)

index=0
forlineainfpa.readlines():
index=index+1
fpc.write(linea)
foriinrange((index-1)*10,(index)*10):
try:
fpc.write(arrB[i])
except:
pass
print"Done!"
fpa.close()
fpb.close()
fpc.close()

‘捌’ python问题,读写并合并文件~

# encoding: utf-8
''' 如果文件比较大的话建议这样: '''

def readlines(filename, skiped=0):
''' 跳过开头的skiped行, 逐行读取指定的文件 '''
with open(filename, 'rt') as handle:
for i, ln in enumerate(handle):
if i < skipline:
continue
else:
yield ln

with open(os.path.join(b, a), 'at') as handle:
for ln in readlines(os.path.join(c, a), n):
handle.write(ln)

‘玖’ 求python将两个MP3音频文件拼接成一个MP3文件的代码

可以使用pyb

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

2 pyb需要依赖 libav或者ffmpeg

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

[plain]view plain

brewinstalllibav--with-libvorbis--with-sdl--with-theora

将所有依赖都安装上~~

brewinstallffmpeg--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-rtmpmp--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-rtmpmp--with-schroedinger--with-speex--with-theora--with-tools--with-x265

4 安装pyb: pip install pyb

5 使用pyb:

下载是示代码

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
ifdbplus<0:#song1的声音更小
song1+=abs(dbplus)
elifdbplus>0:#song2的声音更小
song2+=abs(dbplus)

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

#导出音频文件
song.export(targetPath,format="mp3")#导出为MP3格式
阅读全文

与python音频切割合并相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:579
python员工信息登记表 浏览:377
高中美术pdf 浏览:161
java实现排列 浏览:513
javavector的用法 浏览:982
osi实现加密的三层 浏览:233
大众宝来原厂中控如何安装app 浏览:916
linux内核根文件系统 浏览:243
3d的命令面板不见了 浏览:526
武汉理工大学服务器ip地址 浏览:149
亚马逊云服务器登录 浏览:525
安卓手机如何进行文件处理 浏览:71
mysql执行系统命令 浏览:930
php支持curlhttps 浏览:143
新预算法责任 浏览:444
服务器如何处理5万人同时在线 浏览:251
哈夫曼编码数据压缩 浏览:426
锁定服务器是什么意思 浏览:384
场景检测算法 浏览:617
解压手机软件触屏 浏览:350