音乐识别系统Audio-Fingerprinting.zip

上传者: 39840650 | 上传时间: 2022-12-16 03:12:26 | 文件大小: 91.88MB | 文件类型: ZIP
Audio-Fingerprinting 是一个音乐指纹识别系统,使用的语言为 JAVA,同时需要用到 MySQL 数据库(虽然不是必须的,但这个系统采用他保存指纹和音乐信息)。他包含了指纹生成,数据库存储,和简易的服务器和客户端。他通过生成和记录音乐指纹,能够识别来自麦克风、文件等各个来源的音乐,并且有很高的抗噪性,同时他对文件属性和音乐质量不敏感。你可以使用服务器给手机或者其他程序提供音乐识别服务。你可以根据需求调节里面的参数,当前参数是为了在较短时间识别来自极大噪声和失真的音源,1500个左右的文件将产生接近24000000个指纹数 据。如果你只用于识别文件并且没有严重的噪声与失真,你可以修改参数,1个文件只需要少量指纹就可以识别,对于噪声较低的音源10s 200个指纹已经满足大多需求。简易使用方法需要安装MySQL,并执行Fingerprint. sql, 同时你可能需要修改max_allowed_packet参数,因为添加歌曲需要发送较大的包,我采用的参数是32M。修改MysqlDB中的数据库信息为你的数据库信息,如:private final String url = "jdbc:mysql://127.0.0.1:3306/musiclibary?user=yecheng"; private final String user = "yecheng"; private final String password = "yecheng";添加文件的方法:Ps:你可以重写添加的方法或者制作脚本或者直接使用其他软件实现转码功能,目前他能够从%title%}}%album%}}%artist%的文件名中获得信息。将文件转码为WAV,采样率为8000。调用Insert,参数为文件名或者文件夹。搜索音乐你可以调用Search 文件名搜索。在数据库较大的情况推荐采用运行Server,使用Client 文件名搜索。主要参数介绍Fingerprint:NPeaks:一个周期中每个子带的峰值点的个数 fftSize:FFT的窗口大小 overlap:FFT的窗口重叠大小 C:一个周期包含多少个窗口 peakRange:取峰值点时与多大范围的邻居比较 range_time:取点对的时候的时间范围,单位为秒 range_freq:取点对的时候的频率范围,单位为频率 Band:分成的子带,值对应FFT产生的数组索引 minFreq:最小频率 maxFreq:最大频率 minPower:最小能量修改的建议:提高识别率:减小minPower, 增加Band、NPeaks、range_time降低数据量:增大minPower,减小Band、NPeaks、rang_time其中建议先修改Band和minPower。Server:port:服务器的端口Client:ip:服务器的ip port:服务器的端口性能与效果数据量:音乐库为1500首歌,指纹数量为24000000个左右,服务器稳定后占用内存约340M。速度:处理器i7-3632QM,添加1500首歌用时约1919秒,一首歌约用时1.3秒。使用服务器查找10s的歌曲用时约0.2秒(不考虑客户端读取文件的时间)。准确度:对噪声较低的音频有很高的识别率,对噪声较高的也有接近商用的准确率,但是相对来说如果对于未出现在曲库的歌曲,也有一定的误报率。抗噪性:能够抵抗较强的失真和噪声,可以参考我给的测试音频。工作原理参考文档:ShazamMel scale本算法实现类似Shazam,首先我计算出音频的频谱图,将频谱根据频率分成若干子带,对每个子带查找若干个峰值点,本算法子带划分基于Mel频率。将获得的峰值点根据频率、时间范围组成点对。本算法的取点对频率范围为在子带内,其目的在于减少点对的数目并且提高分布式能力。取点对的时间范围为1s-4s。你可以根据需要修改这些参数。


标签:Audio

文件下载

资源详情

[{"title":"( 37 个子文件 91.88MB ) 音乐识别系统Audio-Fingerprinting.zip","children":[{"title":"Audio-Fingerprinting-master","children":[{"title":".gitattributes <span style='color:#111;'> 378B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"yecheng","children":[{"title":"Server.java <span style='color:#111;'> 5.08KB </span>","children":null,"spread":false},{"title":"spectrogram","children":[{"title":"Spectrogram.java <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false},{"title":"Window.java <span style='color:#111;'> 2.46KB </span>","children":null,"spread":false}],"spread":true},{"title":"music","children":[{"title":"database","children":[{"title":"Index.java <span style='color:#111;'> 2.88KB </span>","children":null,"spread":false},{"title":"MysqlDB.java <span style='color:#111;'> 6.75KB </span>","children":null,"spread":false}],"spread":true},{"title":"ReadFile.java <span style='color:#111;'> 2.51KB </span>","children":null,"spread":false},{"title":"tool","children":[{"title":"StringReplace.java <span style='color:#111;'> 516B </span>","children":null,"spread":false}],"spread":true},{"title":"fingerprint","children":[{"title":"Fingerprint.java <span style='color:#111;'> 6.29KB </span>","children":null,"spread":false},{"title":"MelFreq.java <span style='color:#111;'> 632B </span>","children":null,"spread":false},{"title":"FindPeaks.java <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"Hash.java <span style='color:#111;'> 611B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"Insert.java <span style='color:#111;'> 1.00KB </span>","children":null,"spread":false},{"title":"Search.java <span style='color:#111;'> 734B </span>","children":null,"spread":false},{"title":"Client.java <span style='color:#111;'> 2.97KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 3.96KB </span>","children":null,"spread":false},{"title":"songs","children":[{"title":"test","children":[{"title":"test2.wav <span style='color:#111;'> 175.63KB </span>","children":null,"spread":false},{"title":"test4.wav <span style='color:#111;'> 637.50KB </span>","children":null,"spread":false},{"title":"test3.wav <span style='color:#111;'> 633.15KB </span>","children":null,"spread":false},{"title":"test.wav <span style='color:#111;'> 230.66KB </span>","children":null,"spread":false},{"title":"test5.wav <span style='color:#111;'> 626.08KB </span>","children":null,"spread":false}],"spread":true},{"title":"samples","children":[{"title":"What Have U Done}}Xposed}}邓紫棋.wav <span style='color:#111;'> 7.03MB </span>","children":null,"spread":false},{"title":"Blackout}}A Thousand Suns}}Linkin Park.wav <span style='color:#111;'> 8.54MB </span>","children":null,"spread":false},{"title":"奇蹟}}Xposed}}邓紫棋.wav <span style='color:#111;'> 7.48MB </span>","children":null,"spread":false},{"title":"As Long As You Love Me}}Greatest Hits - Chapter 1}}Backstreet Boys.wav <span style='color:#111;'> 6.70MB </span>","children":null,"spread":false},{"title":"Grace Kelly}}Songbook, Vol.1}}Mika.wav <span style='color:#111;'> 5.92MB </span>","children":null,"spread":false},{"title":"Lappi Part III- This Moment Is Eternity}}Angels Fall First}}Nightwish.wav <span style='color:#111;'> 5.89MB </span>","children":null,"spread":false},{"title":"不存在的存在}}Xposed}}邓紫棋.wav <span style='color:#111;'> 9.71MB </span>","children":null,"spread":false},{"title":"泡沬}}Xposed}}邓紫棋.wav <span style='color:#111;'> 8.32MB </span>","children":null,"spread":false},{"title":"Girl On Fire (Feat. Nicki Minaj)}}Cartoon Network Kidz Hits 16}}Alicia Keys.wav <span style='color:#111;'> 8.64MB </span>","children":null,"spread":false},{"title":"潜意式的残酷}}Xposed}}邓紫棋.wav <span style='color:#111;'> 7.70MB </span>","children":null,"spread":false},{"title":"Billie Jean}}History- Past, Present and Future}}Michael Jackson.wav <span style='color:#111;'> 9.55MB </span>","children":null,"spread":false},{"title":"Applause}}ARTPOP}}Lady GaGa.wav <span style='color:#111;'> 6.79MB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"Fingerprint.sql <span style='color:#111;'> 1.78KB </span>","children":null,"spread":false},{"title":"lib.zip <span style='color:#111;'> 1.86MB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 189B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明