python录制视频和声音_python使用pydub进行音频视频处理

1.合并两个语音文件

# coding:utf-8

from pydub import AudioSegment

enPath1 = r'D:\PythonFiles\2018second\speechMerge\testData\nishi.mp3' # 文件的路径

enPath2 = r'D:\PythonFiles\2018second\speechMerge\testData\linvshi.wav' # 文件的路径

targetPath = r'D:\PythonFiles\2018second\speechMerge\resultData\output12.wav' # 合并文件的路径

# 加载MP3文件

song1 = AudioSegment.from_mp3(enPath1)

song2 = AudioSegment.from_wav(enPath2)

# 取得两个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

print(song)

# 导出音频文件

print(song.export(targetPath, format="wav") )

song.export(targetPath, format="wav") # 导出为MP3格式

第二种方式:

# coding:utf-8

from pydub import AudioSegment

import os, re

slash = '\\'

def test():

d_merger_path = {'OG37TR-3': ['D:\PythonFiles\\2018second\speechMerge\\addPinyinPackage\\test\HS3-1.wav',

'D:\PythonFiles\\2018second\speechMerge\\addPinyinPackage\\test\yu_xian_sheng_ma.wav']}

targetPath_Folder = r'D:\PythonFiles\\2018second\speechMerge\\addPinyinPackage\\test'

for key ,value in d_merger_path.items():

name = key

print(name)

firstlist = AudioSegment.empty()

pathList = value

for path0 in pathList:

print(path0)

song = AudioSegment.from_wav(path0)

firstlist += song

targetPath = os.path.join(targetPath_Folder + slash, name + '.wav')

firstlist.export(targetPath, format="wav") # 导出为WAV格式

test()

2.切割语音

# 循环目录下所有文件

for each in os.listdir('.'):

filename = re.findall(r"(.*?)\.mp3", each) # 取出.mp3后缀的文件名

if filename:

filename[0] += '.mp3'

mp3 = AudioSegment.from_mp3(filename[0]) # 打开mp3文件

mp3[17*1000+500:].export(filename[0], format="mp3") # 切割前17.5秒并覆盖保存

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供相关的知识讲解和Python实现电脑录音的方法。 首先,我们需要了解一些音频的基础知识。音频是一种模拟信号,它可以被数字化为一系列数字信号,这些数字信号称为采样点。采样率是指每秒钟采集的采样点数,它决定了音频的质量。常用的采样率有8kHz、16kHz、44.1kHz和48kHz等。 Python中可以使用PyAudio库来录制音频。PyAudio是Python语言的一种音频处理库,可以用于录音、播放音频等操作。下面是一个简单的录制音频的示例代码: ```python import pyaudio import wave # 设置录音参数 CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 16000 RECORD_SECONDS = 5 WAVE_OUTPUT_FILENAME = "output.wav" # 创建PyAudio对象 p = pyaudio.PyAudio() # 打开音频流 stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) print("* recording") # 录制音频 frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(data) print("* done recording") # 关闭音频流 stream.stop_stream() stream.close() p.terminate() # 保存音频文件 wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(p.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) wf.close() ``` 该代码使用PyAudio打开了一个音频流,并将音频数据读取到一个列表中。在录制完成后,将音频数据保存到一个WAV文件中。 需要注意的是,该代码只是一个简单的示例,实际应用中需要根据需要进行相关参数的设置,如采样率、录制时间等。 希望这些信息能够帮助到您。如果您还有其他问题,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值