听歌识曲C++程序说明
听歌识曲C++程序说明
- 本工程在VS2015下编译运行;运行时,机器上需要已经安装有
MySql
软件,我使用的是MySql 5.7
版本的,MySql C++ connector
用的是1.19版本的; - 直接拿过来编译肯定是编译不过的,详情见下描述
工程目录说明
- 3rd_party : 第三方库
- boost_1_62_0 : boost库
- Eigen : 矩阵与FFT
- maximilian : 音频库
- sqdlog : log库,这个库暂时未使用
- MySQL Connector C++ 1.1.9 : 连接数据库的库
- Audio : 封装音频操作
- DB : 封装DB操作
- General : 放一些通用模块,目前其实就一个计时函数
- Hash : 哈希值计算
- Log : 打算预留封装log操作的
- ShazamAlgorithm : 识别算法模块,主要是哈希值的提取和匹配两个过程
- Test : 各个模块的测试程序,比较粗糙
how to build
- 因为boost的体积太大,所以我本次就没有上传上去,这一部分可以自己从官网上下载,不一定是1.62这个版本的,最近的几个版本都可以,放置的目录如果有变动,可以修改一下工程里面的设置
- 我已经修改了一下工程的目录设置,按道理应该不会出现找不到文件的情况,但是因为时间有限,我也没有精力和条件在一个全新的环境下进行尝试,所以如果编译过程中出现什么问题,我建议是对照工程里面的设置条件进行排查
- MySql的root账号和密码的设置这个肯定得改成自己的,我当前是填充了一个简单的值;修改的位置详见DB目录下的文件
- boost目录的安装可以选择不需要本地编译的版本;当然这一部分网上有很多说明,如果是在遇到了困难,可以私信我,我把我的包直接上传到百度云分享出来;
- 本工程在32位模式下进行编译运行,理论上,准备好第三方库,核对好工程设置以后,直接build就可以通过了
how to use
- testEncoder.cpp文件中有如何建立数据库的代码;指定一个目录,对目录中所有的歌曲提取特征并存放进数据库中
- test_DB.cpp文件中有如何检测的代码,指定一首歌的位置,即可对其进行识别,并输出得分最高的几首歌作为识别结果
写在最后
- 这是我第一次做类似分享,所以考虑的可能不是很全面,诸位如果遇到工程编译的问题,可以及时反馈给我,我有条件的话会帮助解决
- 这个识别程序是非常粗糙的,很多东西都有优化的空间,如果有大佬,欢迎批评指正
- 程序在运行过程中SQL的效率太低,不确定是否是正常现象,建立索引以后速度提高了些,但提高有限,如果有了解如何提高数据库使用效率的,不吝赐教
- 本人公众号如下,觉得文章对你有帮助的,就扫码关注下吧~
听歌识曲C++程序说明相关推荐
- 听歌识曲的软件实现c语言,【优秀】听歌识曲软件小程序
听歌识曲软件小程序 {{/if}} {{/if}} {{if data.isNormalVip}}在线电台. {{else}} {{/if}}语音直播. 香肠派对手机版电脑版下载找到你下载好的文件,双 ...
- shazam 音频指纹 听歌识曲 原理(附代码)
shazam 音频指纹 听歌识曲 原理 如何用java来实现shazam? 几天以前我读了一篇论文 :How shazam works?(shazam的工作原理) 这让我有了自己写一个java版本的s ...
- 练手项目|Node.js实战——轻松实现听歌识曲
黑马程序员视频库 播妞QQ号:3077485083 传智播客旗下互联网资讯.学习资源免费分享平台 前端作为当下非常火的职业之一,播妞身边有很多小伙伴在学习前端,但是大部分人在自学过程中十分盲目,不知道 ...
- MATLAB的GUI小游戏—听歌识曲
这是我用MATLAB的GUI设计的第二个小游戏,基本功能和我之前的一篇博客类似,参见:MATLAB的GUI小游戏-你话我猜.最终效果如图所示: 这是主界面,当单击歌名类别文字左侧的按钮图标时,会跳转至 ...
- 听歌识曲原理探究以及样例代码
技术故事 听歌识曲是一个很成熟的技术.现在的主流音乐播放器,几乎都有这个功能. 但是第一个吃螃蟹的是上个世纪末的一个叫**"Shazam Entertainment Limited" ...
- 腾讯接入华为鸿蒙!QQ音乐与Harmony OS达成合作 推出听歌识曲万能卡片
今年6月份,华为正式推出了自研HarmonyOS操作系统,这是一款完完全全由华为控制的系统,被号称将实现万物互联.据了解,目前不少App都在逐渐接入,现在作为互联网巨头之一的腾讯也加入了鸿蒙应用生态. ...
- python声音识别歌曲_听歌识曲--用python实现一个音乐检索器
听歌识曲,顾名思义,用设备"听"歌曲,然后它要告诉你这是首什么歌.而且十之八九它还得把这首歌给你播放出来.这样的功能在QQ音乐等应用上早就出现了.我们今天来自己动手做一个自己的听歌 ...
- 基于音频指纹的听歌识曲系统
听歌识曲,我想大家都不陌生.虽然不同的厂商识别率不同(可能是因为版权的原因),但是每个音乐APP都会有这么一个功能.我们以扣扣音乐为例,扣扣音乐听歌识曲功能比较丰富,不仅有基本的听歌识曲还有哼唱识别, ...
- 谷歌宣布搜索引擎多个新 AI 功能,听歌识曲 15 秒完成匹配
技术编辑:芒果果丨发自 思否编辑部 公众号:SegmentFault 你有没有哼着一首歌却怎么也想不起歌名的情况?Google 发布了一些搜索功能的更新,其中就有一个"听歌识曲"功 ...
- 人工智能在音乐领域的应用概述(1)---听歌识曲
人工智能是当前.也将成为未来相当长时间的热门领域.本文概括其在音乐领域的垂直应用.作为交叉学科,该领域需要有一定数理基础,特别是傅里叶变换变体.卷积运算.动态规划算法(特别是Viterbi算法)和各种 ...
最新文章
- python 多进程——使用进程池,多进程消费的数据)是一个队列的时候,他会自动去队列里依次取数据...
- git Rebase 变基 教程
- oracle面临的挑战,Oracle SUN,严峻的挑战(一)
- 《SolidWorks 2013中文版机械设计从入门到精通》一1.4 操作环境设置
- find命令使用方法
- 74ls90设计十进制计数器电路图_利用555与74ls90制作电子秒表
- 使用POI读写word docx文件
- 21. 栈的压入、弹出序列
- 洛谷——P1851 好朋友
- c++ 数据结构之 线段树
- 爬虫第四章 单线程+多任务异步协程
- BZOJ2820:YY的GCD
- 04. 调用empty而不是检查size()是否为0
- UCHOME出现问题(转帖)
- win98进入dos
- AIX系统修改文件系统的方法
- 量子计算机未来猜想,太厉害了吧?这台量子计算机能预测16种不同的未来​!...
- LeetCode Day01:一年中的第几天
- 亚马逊云科技为全球的可持续发展进程做出贡献
- 微信公众平台测试号申请
热门文章
- 服务器为什么要域名解析,DNS解析的过程是什么 为什么需要DNS解析域名为IP地址?...
- 移动互联网创业机会只剩3年
- 需要一张可视化三维地图?这样炫酷的3D全景地图,你也可以拥有
- PHP获取MP3时长类
- viper4android 2.5正版,VIPER4Android最新版本
- Vcenter证书过期处理----Vcenter无法登录,“根证书错误”,“签名证书无效”,“503 service not available”
- 全新版大学英语综合教程第三册学习笔记(原文及全文翻译)——8 - A Clone Is Born(克隆生命诞生了)
- python父亲节祝福_2020年精选优美的父亲节祝福语28条
- anaconda base环境的地址_Anaconda安装及环境管理
- Unity粒子系统——简易特效制作(二)