一段音乐在播放时会有不同的声音高低以及音调变化 , 而这些都是能够表现的音乐频谱图上的 , 在python之中可以获取音乐频谱 , 然后通过模块方法来将其绘制出来 。那么下文所要来介绍的内容就是python提取音乐文件频谱信息 , 并将其绘制成可视化音乐频谱图的详细教程 。
文章插图
1.因为提取音乐频谱需要使用到两个第三方库 , 所以需要先点击左下角的开始菜单 , 然后输入cmd回车就会把命令行窗口打开 , 然后分别执行下面两个pip命令 , 示例如下所示:
pip install pydubpip install librosa2.安装完成之后导入matplotlib、pydub以及librosa这三个库 , 然后先调用from方法将音乐文件给读取到python程序中并生成对象 , 然后再使用切片方式取其中的一个片段 , 示例如下:
import matplotlib.pyplot as pltimport librosa.displayfrom pydub import AudioSegmentsong = AudioSegment.from_mp3('Fenn.mp3')song = song[1*1000: 90*1000] # 1秒到90秒music, sr = librosa.load(song)因为这样取出来的音频频谱看起来就不会显得过于集中 , 如果是要查看整个音乐频谱图的话 , 那么就不需要将pydub这个库和模块导入了 。只需要调用librosa之中的load()方法即可将音乐读取进来 , 代码如下:
music, sr = librosa.load('Fenn.mp3')3.那么无论是以上哪种方式读取进来的音乐文件对象 , 都是需要先用figure()方法创建出来一个指定尺寸比例的画布 , 也就是运行之后显示音乐频谱图的窗口 。再调用waveplot()方法将音乐文件对象作为参数传递进去即可生成可视化频谱图 , 代码示例如下所示:
plt.figure(figsize=(14, 5))librosa.display.waveplot(music, sr=sr)plt.show()【Python怎么提取音乐频谱?Python如何绘制可视化音乐频谱图】以上就是关于“Python怎么提取音乐频谱?Python如何绘制可视化音乐频谱图”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- 为什么接龙管家小程序里上传的照片不清楚 照片不清楚是怎么了
- 小学生被人欺负怎么办 小学生上学总是被人欺负
- Python如何使用unicode编码?Python使用unicode编码格式的方法
- 别克君威防盗怎么解除
- 网上找工作怎么找 找工作的方法
- Pyecharts在Python可视化中有什么用?Pyecharts在数据可视化中的应用详解
- Python命令行中的cd命令有什么含义?Python中如何执行cd命令?
- 康乃馨花苞不开就干了怎么补救
- Python如何对打乱的字符串排序?Python乱序字符串排序的实现方法
- 鞋子磨脚怎么办 这几个小妙招拿去试