Skip to content

999Yy999/NewAudioR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

NewAudioR

audio recognition

网页版听歌识曲

一、音乐库 目前包含1k+音乐

二、功能包括

1. 音乐库管理(增删改查)

image

2. 录音识曲和在线试听

image image image

3. 测试算法识别准确率(模拟加噪环境下)

image image

三、算法

基于Shazam公司的Landmark算法

四、算法效果

1、在音频截取时长不低于4秒时,检索成功率很高。
2、加入辅助检索后,识别准确率增加。
3、系统抗噪能力强,音乐识别速度较快,符合性能需求。
4、系统的最佳参数是:音乐片段时长10秒以上,几乎可以确保音乐识别成功率。

五、 展望

1、 在识别准确率方面,音频截取时长低于4秒时,测试准确率比较低。
2、 在时长方面,特别是添加音乐到音乐库时的时长有待提高,识别时长也有提升空间。
3、 同时音乐库的体量也有待增大。
4、 音乐可以使用爬虫爬取

六、 遇到的问题

#遇到的问题1:数据库语句运行太慢了
#数据库配置优化了 闲云野鹤大佬帮忙改的 2020-5-4
1. engine改成了MyISAM,适合读多的

CREATE TABLE hashtable ( idhashtable int(11) NOT NULL AUTO_INCREMENT, hash int(11) NOT NULL, id int(11) NOT NULL, time int(11) NOT NULL, PRIMARY KEY (idhashtable), KEY hash (hash) KEY_BLOCK_SIZE=1024 ) ENGINE=MyISAM AUTO_INCREMENT=3901013 DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED

2.改了Mysql服务器参数配置

##闲云野鹤加的 key_buffer_size=1G ##先改成了16M,又改成了32M read_buffer_size=32M

#大佬的修改步骤 (7s -> 3~4s)

1.数据库瓶颈语句Select * from hashtable where in(.......) 2.用desc看执行计划 3.查看参数 'innodb_read_io_threads', '4' 4.问我电脑的硬件、CPU、内存配置。主频:1.6GHz,最大频率:2.1GHz,缓存2M,硬件核心数:2,虚拟线程数:2,出厂最大内存:4GB,固态硬盘128GB 5.改了hashtable表的engine为MyISAM 5.配置MySQL的my.ini。key_buffer_size=1G, read_buffer_size=32M

#大佬的建议

in太多了,尝试一半in,然后union all。