有些时候,我们为了设定手机铃声或者发抖音视频时,会耗费大量时间在音乐剪辑上。尤其是想发布大量抖音视频的时候,我们得收集大量的短音乐,这是一个相当耗费时间的工作。那么,这个音乐高潮的提取能不能自动化呢?答案是:可以。

1.原理简介

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

1.遍历整首歌曲。

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

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

2.代码编写

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

https://github.com/vivjay30/pychorus

我们只需要分析这个源代码中最核心的部分,即求相似区段的源代码:

 def compute_similarity_matrix_slow(self, chroma):"""虽然慢,但是直接的方法来计算区段相似矩阵"""num_samples = chroma.shape[1]time_time_similarity = np.zeros((num_samples, num_samples))for i in range(num_samples):for j in range(num_samples):# 检测每一段的相似度time_time_similarity[i, j] = 1 - (np.linalg.norm(chroma[:, i] - chroma[:, j]) / sqrt(12))return time_time_similarity

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

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

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

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

2.1 安装所需要的项目

你可以通过pip安装该项目,如果你还没有安装好Python相关环境,建议阅读这篇文章:Python安装

pip install pychorus

2.2 编写代码

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

from pychorus import find_and_output_chorus
chorus_start_sec = find_and_output_chorus("你的音乐文件", "输出高潮部分文件", 要多少秒的高潮部分)

没错,两行代码就解决了。下面让我们检验一下效果。

3.效果检验

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

原曲:

编写代码:

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

效果如下:

非常优秀!提取了我心目中想要的部分。大家也可以根据我们今天的教程,试着提取一下自己喜欢的音乐的高潮部分哦!(网站本身的原因上传不了音乐  只能截个图)

只想听歌曲的高潮部分?让我用python来教你做个音乐高潮提取器!相关推荐

  1. python背景怎么自定义铃声_用python来教你做个音乐高潮提取器

    有些时候,我们为了设定手机铃声或者发抖音视频时,会耗费大量时间在音乐剪辑上.尤其是想发布大量抖音视频的时候,我们得收集大量的短音乐,这是一个相当耗费时间的工作.那么,这个音乐高潮的提取能不能自动化呢? ...

  2. 用Python手把手教你做一只口红色号识别器,秒变李佳琦

    大数据文摘编辑组出品技术实现:宁静  七夕将至,送礼时节.直男送礼,首选口红. 毕竟李佳琦一句"OMG买它",女朋友披头散发抢购,钱包就空了一半. 但是,口红色号千千万,选对了牌子 ...

  3. 用python可以免费下载音乐吗-使用python实现下载我们想听的歌曲,速度超快

    这里发现一个可以下歌的工具pymusic-dl,很好用,当然付费歌曲是下不来的,集成了很多音乐库的歌曲 首先安装pymusic-dl pip install pymusic-dl 仔细发现就会知道,其 ...

  4. 谢谢 能把它的播放地址给我吗 c.k有一首叫《只想唱歌给你听》知道不

    id=2134871 还有的在一些小网站才能找的到反正在百度上是找不着的 她的歌都没传到正规的网站上去 ~http://218.75.172.156/05/BD/05821AE1623D9ED4406 ...

  5. 只能通过语音控制的概念型音乐播放器乐流Music Flow:想要带给用户最原始的交互体验,说出你想听的音乐

    我们从WISE Talk科技改变音乐这个活动中发现一个问题,"音乐和科技的路口,人不多,风也还没来,音乐和科技双方已经发生的关系,比想象中浅薄".这其中的原因,也可能是因为想要入行 ...

  6. 不想当管理者、甚至连项目经理都也不想当,只想静心写写代码、不做管理

    其实,我很想当纯粹的高级程序员,别每周都叫我参加公司的部门会议,不要让我每周都写部门工作报告,也别让我管理无聊的人.倔强的人.老顽固等,我是一个很自私的人,我只想做好自己的分内的工作,我只想做我喜欢做 ...

  7. 《西线无战事》:合上书的那一刻:只想痛哭

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 昨晚看完此书,看的时候,我一直以为他是在回忆,然而,最终却没有一个人活下来,合上书的那一刻:只想痛哭 ...

  8. 只想在老家找份工作很难吗_当您只想完成工作时,为什么公开工作会很困难

    只想在老家找份工作很难吗 三个字母可以指导我的工作方式:GSD-完成工作. 多年来,我设法将反馈循环(来自精益方法)和迭代改进(来自敏捷)的概念融入我的日常工作习惯,以便更好地使用GSD(如果可以将其 ...

  9. 本周AI热点回顾:「时空版」Transformer训练速度远超3D CNN;拒绝内卷的AI狼火了!不想抓羊只想躺!...

    ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍点击左上方蓝字关注我们 01 「时空版」Transformer训练速度远超3D CNN,提速3倍! Facebook AI推出了全新的视频理解架构TimeSform ...

最新文章

  1. “-bash: !”: event not found、echo sudo permission denied
  2. react项目中使用mocha结合chai断言库进行单元测试
  3. 使有用计算机不注意卫生,保护眼睛注意细节有哪些
  4. Silverlight学习之贪吃蛇游戏
  5. 机器学习常见算法分类汇总
  6. 2021-03-04
  7. 完全二叉树的高度为什么是对lgN向下取整
  8. 多线段几何图形—— 简单几何图形(布尔运算)
  9. 在Google上做搜索引擎优化 (SEO),最重要的是哪几点?
  10. 全基因组水平分泌蛋白鉴定
  11. 2021年焊工(初级)考试报名及焊工(初级)实操考试视频
  12. 《孙子兵法特殊战法之火攻篇》
  13. html5分镜头脚本范例,(最新整理)分镜头脚本范本
  14. 《人月神话》-第16章-没有银弹
  15. 啤酒与尿布的蝴蝶效应——关联分析
  16. 蓝牙发射功率dBm换算,发射总能量公式
  17. 2016阿里实习线上笔试题-附加题1-随机数生成器
  18. 图卷积神经网络(GCN)综述与实现(PyTorch版)
  19. 哈理工OJ 1986 大悲咒(简单递推)
  20. C语言初阶:define定义的常量和宏,关于指针的详细讲解,初步认识结构体的使用

热门文章

  1. adguard拦截规则存在哪里_Adguard怎么用-使用Adguard拦截广告的方法 - 河东软件园...
  2. linux mmc驱动框架,Linux mmc framework2:基本组件之mmc
  3. c php 速度,CSpeed: CSpeed 框架,全堆栈的轻量级C语言PHP扩展框架,以高性能、极速为目标。...
  4. Mybatis-Plus eq、ne、gt、lt、ge、le
  5. MP3 ID3v1 ID3v2 APEv2 标准总结
  6. 数学计算机sci,近十年数学学科中国学者SCI十大发文期刊
  7. 【CSDN 2020年度征文】江湖路远,不说再见,不负韶光
  8. 基于Vue移动音乐webapp跨域获取QQ音乐歌单接口
  9. 【ThreadPoolTaskExecutor】 SpringBoot 的线程池的使用
  10. win32 012 数据结构