600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Python 提取音乐频谱并可视化 字节面试官

Python 提取音乐频谱并可视化 字节面试官

时间:2022-06-12 03:01:08

相关推荐

Python 提取音乐频谱并可视化 字节面试官

[](

)频谱展示

使用librosa和matplot,我们可以用10行代码完整地展示整个频谱:

import matplotlib.pyplot as plt

import librosa.display

音乐文件载入

audio_path = ‘Fenn.mp3’

music, sr = librosa.load(audio_path)

宽高比为14:5的图

plt.figure(figsize=(14, 5))

librosa.display.waveplot(music, sr=sr)

显示图

plt.show()

不过,这样的频谱是整段音乐的,看起来非常难看,接下来我们使用 pydub 切割频谱,以获得更佳的效果。我们细分到0到1秒的区段来查看频谱:

import matplotlib.pyplot as plt

import librosa.display

import numpy as np

from pydub import AudioSegment

1秒=1000毫秒

SECOND = 1000

音乐文件

AUDIO_PATH = ‘Fenn.mp3’

def split_music(begin, end, filepath):

导入音乐

song = AudioSegment.from_mp3(filepath)

取begin秒到end秒间的片段

song = song[beginSECOND: endSECOND]

存储为临时文件做备份

temp_path = ‘backup/’+filepath

song.export(temp_path)

return temp_path

music, sr = librosa.load(split_music(0, 1, AUDIO_PATH))

宽高比为14:5的图

plt.figure(figsize=(14, 5))

librosa.display.waveplot(music, sr=sr)

plt.show()

这下细是细了,但是还是太复杂了,其实我们做频谱的展示,只需要正值即可:

然后我们还可以进一步放大,比如说0.9秒到1秒之间的频谱:

放大

(1)Python所有方向的学习路线(新版)

这是

我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。