Python怎么提取音乐高潮部分

Python怎么提取音乐高潮部分

本篇内容介绍了“Python怎么提取音乐高潮部分”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    1.原理简介

    不知道大家有没有这样的体会,大部分时候,歌曲的高潮部分通常是重复次数最多的部分。因此我们可以根据这一个特征,提出我们的算法:

    • 1.遍历整首歌曲。

    • 2.将选定长度的部分与其他部分比较并计算相似度,以查看是否重复。

    • 3.寻找重复次数较大、且间隔长的片段。

    2.代码编写

    为了避免造轮子,我们找到了别人已经做过的类似的项目

    我们只需要分析这个源代码中最核心的部分,即求相似区段的源代码,就能知道它是不是符合我们的项目需求了:

    可以看到,这部分代码就是做了我们算法的第二步,进行了片段与片段之间的相似度计算。

    检测时用到的相似函数是这样的:

    这主要是因为歌曲由12个基本音符的帧的集合而组成,v1和v2是任意两段音乐的音符矢量,如果说两段音乐非常相似,那么右边的式子将接近于0. 如果说 1-右边的式子 得分非常高,则说明两段音乐非常相似。

    下面我们看看怎么使用这个项目求音乐高潮部分,其实非常简单。

    2.1 安装所需要的项目

    你可以通过pip安装该项目,如果你还没有安装好Python相关环境,建议先安装,PIP安装指令如下:

    pipinstallpychorus

    2.2 编写代码

    实际上,这个包用起来可是相当简单,如果我们只是想单纯提取歌曲高潮部分:

    frompychorusimportfind_and_output_choruschorus_start_sec=find_and_output_chorus("你的音乐文件","提取结果的目标路径",要多少秒的高潮部分)

    没错,两行代码就解决了。如果你想知道一些详细的细节,比如说输出相似矩阵或者结果可视化,建议阅读github中该项目的操作指令。下面让我们检验一下效果。

    3.效果检验

    以《孤芳自赏》 为例,让我们试试这个提取器的功力。 编写代码:

    #提取音乐高潮部分frompychorusimportfind_and_output_choruschorus_start_sec=find_and_output_chorus("孤芳自赏.mp3","孤芳自赏_high.wav",40)

    非常优秀!提取了我心目中想要的部分。大家也可以根据我们今天的教程,试着提取一下自己喜欢的音乐的高潮部分哦!

    4.批量提取

    刚刚,只是完成了单首歌曲的高潮提取,如果你想提取整个文件夹下的音乐的高潮部分,可以这样做:

    文字版代码:

    #Python实用宝典#提取音乐高潮部分#2020/06/11importosimportsysfrompychorusimportfind_and_output_chorusdefextract_all_file(files_path):"""批量提取音乐高潮Args:files_path(str):文件夹路径"""#文件夹路径modpath=os.path.dirname(os.path.abspath(sys.argv[0]))forfilepathinos.listdir(files_path):#路径处理datapath=os.path.join(modpath,files_path+filepath)#output文件夹是否存在targets=f"{modpath}\output\"ifnotos.path.exists(targets):os.makedirs(targets)#提取音乐高潮至当前output文件夹下find_and_output_chorus(datapath,f"{targets}{filepath.split('.')[0]}_high.wav",40)extract_all_file("F:\push\20200611\music\")

    “Python怎么提取音乐高潮部分”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

    发布于 2022-01-05 23:28:42
    收藏
    分享
    海报
    0 条评论
    37
    上一篇:Java怎么实现批量发送带附件的邮件 下一篇:opencv-python图像处理怎么安装
    目录

      推荐阅读

      0 条评论

      本站已关闭游客评论,请登录或者注册后再评论吧~

      忘记密码?

      图形验证码