国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python通過90行代碼搭建一個音樂搜索工具

2019-11-25 17:06:59
字體:
來源:轉載
供稿:網友

下面小編把具體實現代碼給大家分享如下:

之前一段時間讀到了這篇博客,其中描述了作者如何用java實現國外著名音樂搜索工具shazam的基本功能。其中所提到的文章又將我引向了關于shazam的一篇論文及另外一篇博客。讀完之后發現其中的原理并不十分復雜,但是方法對噪音的健壯性卻非常好,出于好奇決定自己用python自己實現了一個簡單的音樂搜索工具―― Song Finder, 它的核心功能被封裝在SFEngine 中,第三方依賴方面只使用到了 scipy。

工具demo
這個demo在ipython下展示工具的使用,本項目名稱為Song Finder,我把索引、搜索的功能全部封裝在Song Finder中的SFEngine中。首先是簡單的準備工作:

復制代碼 代碼如下:

In [1]: from SFEngine import *

In [2]: engine = SFEngine()


在這之后我們對現有歌曲進行索引,我在original目錄下準備了幾十首歌曲(.wav文件)作為曲庫:

復制代碼 代碼如下:

In [3]: engine.index('original') # 索引該目錄下的所有歌曲

在完成索引之后我們向Song Finder提交一段有背景噪音的歌曲錄音進行搜索。對于這段《楓》在1分15秒左右的錄音:

工具的返回結果是:

復制代碼 代碼如下:

In [4]: engine.search('record/record0.wav')
original/周杰倫-楓 73
original/周杰倫-楓 31
original/周杰倫-楓 10
original/周杰倫-楓 28
original/我要快 主站蜘蛛池模板: 石嘴山市| 湘乡市| 定安县| 新野县| 德钦县| 江陵县| 五指山市| 托里县| 文水县| 民勤县| 珠海市| 徐州市| 江津市| 桐庐县| 酉阳| 安庆市| 新密市| 民县| 茌平县| 西贡区| 嘉义县| 儋州市| 手机| 大邑县| 德格县| 闽侯县| 内丘县| 清水县| 乌兰察布市| 潼南县| 克山县| 安泽县| 贡嘎县| 安溪县| 吉木乃县| 绥芬河市| 平武县| 昭通市| 双峰县| 琼中| 伽师县|