python处理音频_python音频处理

#-*- coding: utf-8 -*-#@Author : FELIX#@Date : 2018/5/18 15:13

from pydub importAudioSegment

sound=AudioSegment.from_file("aaa.mp3","mp3")

sound2=AudioSegment.from_file('bbb.mp3','mp3')#把一个多声道音频分解成两个单声道#index[0]为左声道#index[1]为右声道#sounds=sound.split_to_mono()#print(sounds)

#将两个单声道合并成多声道#stereo_sound = AudioSegment.from_mono_audiosegments(sounds[0], sounds[1])

## 取得音频的分贝数#loudness = sound.dBFS#print(loudness)## 获取音频音量大小,该值通常用来计算分贝数(dB= 20×lgX)#loudness = sound.rms#print(loudness)## 取得音频的声道数#channel_count = sound.channels#print(channel_count)## 取得音频文件采样宽度#bytes_per_sample = sound.sample_width#print(bytes_per_sample)#

## 取得音频文件采样频率#frames_per_second = sound.frame_rate#print(frames_per_second)##取得音频文件帧宽度#bytes_per_frame = sound.frame_width#print(bytes_per_frame)#

##取得音频中的最大振幅#normalized_sound = sound.apply_gain(-sound.max_dBFS)#print(normalized_sound)##取得音频的持续时间,同 len()#print(sound.duration_seconds)#print((len(sound) / 1000.0))##取得音频数据#raw_audio_data = sound.raw_data## print(raw_audio_data)##取得音频的frame数量#number_of_frames_in_sound = sound.frame_count()#number_of_frames_in_200ms_of_sound = sound.frame_count(ms=200)#print(number_of_frames_in_sound)#print(number_of_frames_in_200ms_of_sound)

#拼接sound1与sound2,返回一个新的AudioSegment实例#cossfade:交叉渐变间隔 ms#no_crossfade1 = sound.append(sound2, crossfade=5000)#print(no_crossfade1)#no_crossfade1.export(r'cc.wav',format='wav') # 输出

#把sound2覆盖在sound1上,两个音频文件会叠加,如果sound2较长,则会被截断。#参数:#position:覆盖起始位置(毫秒)#loop:是否循环覆盖(true/false)#times:重复覆盖次数(默认1)#gain_during_overlay:调整被覆盖音频的音量(eg,-6.0)#played_togther = sound.overlay(sound2)## sound2_starts_after_delay = sound.overlay(sound2, position=5000)## volume_of_sound1_reduced_during_overlay = sound.overlay(sound2, gain_during_overlay=-8)## sound2_repeats_until_sound1_ends = sound.overlay(sound2, loop=True)## sound2_plays_twice = sound.overlay(sound2, times=2)#played_togther.export(r'dd.wav',format='wav') # 输出

#调整音量大小#louder_via_method = sound.apply_gain(+3.5) # 提高#quieter_via_method = sound.apply_gain(-5.7) # 减小

#淡出#参数:#to_gain:淡出结束时音频音量下降到的分贝数#from_gain:设置淡出前的所有音频分贝数#start:淡出的起始位置#end:淡出的结束位置#duration:淡出持续时间#fade_in_the_hard_way = sound.fade(from_gain=-120.0, start=0, duration=5000)#fade_out_the_hard_way = sound.fade(to_gain=-120.0, end=0, duration=5000)

#反向输出#sound.reverse().export(r'ee.wav',format='wav') # 输出

#调整多声道音频的左右声道音量#如果单声道音频调用此方法,它将先被转换为多声道#stereo_balance_adjusted = sound.apply_gain_stereo(-6, +2)#

##左右声道平衡,按百分比增大一边,减小另一边## pan the sound 15% to the right#panned_right = sound.pan(+0.15)## pan the sound 50% to the left#panned_left = sound.pan(-0.50)#

#

## 基于DSP的渲染## 产生一个反向信号的副本,来消除反相位波,或者降低噪音#sound.invert_phase()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值