多个合并为一个
# -*- coding:utf-8 -*-
import os
import sox
import sys
def soxWav(jPath, path):
infiles = []
lists = []
jingyin = './' + jPath
filePath = './' + path + '/'
if os.path.isfile(jingyin):
flag = True
else:
return '静音段不存在'
fileArr = os.listdir(filePath)
if os.path.exists(filePath):
flag = True
else:
return '音频目录不存在'
cbn = sox.Combiner()
for key in sorted(fileArr):
infiles.append(filePath+key)
infiles.append(jingyin)
for key in infiles:
lists.append(key)
cbn.build(lists,'./' + path + 'new' + '.wav', 'concatenate')
if __name__ == '__main__':
jPath = raw_input('请输入静音段: ')
path = raw_input('请输入音频位置: ')
soxWav(jPath, path)
每个分别添加
```python
# -*- coding:utf-8 -*-
import os
import sox
def addQuiet(filePath, quite_name, type, new_file):
if not os.path.exists(filePath):
return '音频文件不存在'
listwav = os.listdir(filePath)
for file in listwav:
tail_file = file[-3:]
if tail_file == 'wav':
synthesis(type, file, filePath, quite_name, new_file)
def synthesis(type, file, filePath, quite_name, new_file):
file_path = filePath + '/' + file
file_name = './' + new_file + '/' +file
data = []
if type == '1':
data = [quite_name,file_path]
elif type=='2':
data = [file_path,quite_name]
elif type=='3':
data = [quite_name,file_path,quite_name]
cbn = sox.Combiner()
cbn.build(data, file_name, 'concatenate')
if __name__ == '__main__':
filename = input('请输入文件名')
quiteName = input('请输静音段名称 ')
type = input('请输入要合成的类型1:前,2:后,3:前后 ')
filePath = './' + str(filename)
quite_name = '/home/mute/quiet/' + quiteName
#new = filename.index(.)
new_file = filename + 'new'
if not os.path.exists(new_file):
os.mkdir(new_file)
addQuiet(filePath, quite_name, type, new_file)