python提取音乐midi文件,python 提取音频

  python提取音乐midi文件,python 提取音频

  你是不是一直想知道一些音乐软件的频谱特效是怎么做出来的,为什么这么好看?要不要尝试自己提取音乐频谱,直观展示?本文将教你如何使用Python提取音乐频谱。快来学吧。

  00-1010前言1。准备2。光谱显示

  

目录

  你是不是一直想知道一些音乐软件的频谱特效是怎么做出来的,为什么这么好看?要不要尝试自己提取音乐频谱,直观展示?今天我就结合上一次的音乐编辑操作:

  3行Python代码实现剪辑音乐

  要简单粗暴的把下面这首歌的频谱形象化!

  

前言

  在开始之前,您应该确保Python和pip已经成功安装在您的计算机上。如果没有,可以访问这篇文章:超详细的Python安装指南进行安装。

  在Windows环境下打开Cmd(开始-运行-cmd),在Apple系统环境下打开Terminal(命令空间输入终端),准备开始输入命令安装依赖项。

  当然,我推荐你使用VSCode编辑器,复制本文的代码,在编辑器下面的终端中安装依赖模块。多舒服的事啊!

  在终端输入以下命令,安装所需的依赖模块:

  pip安装pydub

  pip安装librosa

  看到成功安装xxx说明安装成功。

  

1.准备

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

  importmatplotlib.pyplotasplt

  importlibrosa.display

  #音乐文件加载

  audio_path=Fenn.mp3

  music,sr=librosa.load(audio_path)

  #长宽比为1433605的图

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

  librosa.display.waveplot(音乐,sr=sr)

  #显示图表

  plt.show()

  但是,这个谱是一整段音乐,看起来很丑。接下来,我们使用pydub对频谱进行切割,以获得更好的结果。让我们将其细分为0到1秒的时间段来查看频谱:

  importmatplotlib.pyplotasplt

  importlibrosa.display

  importnumpyasnp

  frompydubimportAudioSegment

  # 1秒=1000毫秒

  秒=1000

  #音乐文件

  AUDIO_PATH=Fenn.mp3

  defsplit_music(begin,end,filepath):

  #音乐指南

  song=AudioSegment.from_mp3(文件路径)

  #从开始秒到结束秒

  宋=宋[begin*SECOND: end*SECOND]

  #存储为临时文件的备份

  temp_path=backup/ filepath

  song.export(临时路径)

  返回临时路径

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

  #长宽比为1433605的图

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

  librosa.display.waveplot(音乐,sr=sr)

  plt.show()

  这个在底层还好,但是还是太复杂了。事实上,当我们展示光谱时,也许我们只需要一个正值:

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

  #微信官方账号:Python实用合集

  n0=9000

  n1=10000

  music=NP . array([micformicinmicifmic 0])

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

  pit.plot(音乐[n0:n1])

  plt.grid()

  #显示图表

  plt.show()

  这样看起来好多了,但是如果要达到QQ音乐的效果,还是需要很多改造的。

  比如如何用精致的图像元素填充代入,然后如何处理零值?如何让频谱更稳定?另外我们是静态图像,需要根据事件动态延续乐队。

  制作用的代码肯定比我们简单的代码复杂,去掉负值,画图应该不会很暴力。这些感兴趣的读者可以自己做研究。

  以上是Python提取音乐谱方法的详细内容。更多关于Python提取音乐频谱的信息,请关注盛行IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: