当前位置: 首页 > 后端技术 > Python

用Python处理音频

时间:2023-03-26 10:55:59 Python

由于博客无法播放音频,所以音频将以视频的形式呈现。公众号也在做抽奖红包的音频素材,请点这里观看,向下滚动到文章地址有时候,在编程的时候,我们需要做一些音频处理。编程中最常见的音频处理任务包括——加载和保存音频文件、将音频文件拆分和附加到片段、创建具有不同数据的混合音频文件、操纵音量、应用一些过滤器和生成音频调整等等。所有这些都可以使用Python来实现。Python是一种灵活的语言。它为几乎所有您听说过的任务提供库。对于音频处理,Python提供了Pydub,一个非常简单且设计良好的模块。安装Pydub就像PythonPydub中的所有其他模块一样,也可以使用简单的命令轻松安装——pipinstallpydub。音频处理:加载和播放AudioSegment是Pydub中的父类。它充当可以加载、操作和保存音频文件的容器。让我们用python创建我们的第一个音频。为此,我们需要一个测试文件,它可以是任何格式,例如WAV、MP3或其他格式。在这篇文章中,我将下载一个音频文件,就像我们从网络上抓取数据一样:.from_wav("audioname")play(loop)audiomaterial基本音频处理见上加载音频后,我们现在可以进行各种类型的音频处理,让我们从重复音频文件的一些必要步骤开始:loop2=loop*2length=len(loop2)fade_time=int(length*0.5)faded=loop2.fade_in(fade_time).fade_out(fade_time)audiomaterial上面的layeredaudio我们简单的重复了一遍音频,现在我们来Layer混合不同level的音频片段:urllib.request.urlretrieve("https://tinyurl.com/yx3k5kw5","beat.wav")beat=AudioSegment.from_wav("beat.wav")mixed=beat[:length].overlay(loop2)音频材料请参见上面的音频处理:应用过滤器现在,让我们通过应用过滤器和在转换音频效果:filtered=beat.low_pass_filter(3000)loop=loop2.reverse().pan(-0.5).overlay(loop2.pan(0.5))final=filtered.overlay(loop2-3,loop=True)音频素材见上现在如果你想保存音频文件,你可以很容易地做如下:final.export("final.mp3",format="mp3")合成音调除了上面描述的所有声音步骤,我们还可以合成新的音调。这些音调可以是任何频率的正弦波、方波或操纵波。我们还可以执行白噪声。在下面的示例中,我将展示用于前15个间隔的谐波生成正弦调谐的正弦方法:result=AudioSegment.silent(duration=0)forninrange(15):gen=Sine(200*n)sine=gen.to_audio_segment(duration=200).apply_gain(-3)sine=sine.fade_in(50).fade_out(100)result+=sineplay(result)音频素材见上