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
2022-12-16 03:12:26 91.88MB 开源项目
1
循环TLS 目前正在积极开发中 去做: 修复TS API 重做套接字请求api 错误修正(错误的https代理,不正确的JA3等) 状态检查golang 并发和速度测试 设置 npm install --dev npm run build 如果窗户 npm run build:windows 如果是Linux npm run build:linux 如果是Mac npm run build:mac: Golang示例 package main import ( "log" "github.com/Danny-Dasilva/cycletls" ) var FirefoxAuto = cycletls. Browser { JA3 : "771,4865-4867-4866-49195-49199-52393-52392-49196-4
2022-08-22 03:22:13 43KB tls golang fingerprint fingerprinting
1
浏览器指纹Demo 知乎文章: 在线演示地址: 你应该知道的事 Chrome一直在阻止网页技术捕获用户的指纹,这是出于对于用户隐私与安全性的考虑,所以现在可用的技术可能在未来的某个版本中就不可用了。但是浏览器指纹帮助我们了解到原来还可以这么玩?。而且未来Chrome也有可能授权用户给JS赋能唯一ID的能力,当然目前来看Chrome还没打算这么做。 源码如何本地开发 npm install npm run dev # How to build ? npm run build 每个指纹算法的JS源文件
1
Multitab-Tor-网站-指纹识别 针对多标签Tor浏览器的网站指纹攻击 环境配置 禁用所有自动/后台网络流量,例如自动更新 安装所需的软件包 conda create --name --file requirements conda activate sudo apt-get install tcpdump wireshark xvfb ethtool 为您的用户设置捕获功能: sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap 并将其解压缩到路径: ./tbb/tor-browser_en-US/ 将MTU更改为标准以太网MTU(1500字节): sudo ifconfig mtu 1500 禁用卸载 sudo ethtool -K <interfa
2022-02-25 16:58:33 13KB
1
指纹识别项目 指纹识别项目
2021-11-24 14:48:31 34.22MB Java
1
这是发在NDSS2020Session 1A Web的一篇文章,文章题目是浏览器扩展指纹的隐私威胁探究,摘要是随着用户变得越来越隐私意识和浏览器供应商纳入反跟踪机制,浏览器指纹已经获得了极大的关注。因此,先前的工作已经提出了用于识别浏览器扩展并将它们用作设备指纹的一部分的技术。虽然先前的研究已经展示了如何通过他们的网络可访问资源来检测扩展,但是在通过行为工件来间接检测扩展的技术方面还存在很大的差距。事实上,之前没有研究表明这可以以自动化的方式完成。在本文中,我们通过介绍第一个基于行为的扩展指纹的全自动创建和检测来弥补这一差距。我们还引入了两种新的指纹技术来监控扩展的通信模式,即传出的.....
2021-05-24 19:03:03 884KB 指纹识别 安全
1
本书通过为读者提供有关多媒体司法鉴定年轻领域的发展的更广阔视野,描述了多媒体指纹识别的框架。
2021-04-24 13:29:08 8.81MB 专题
1
Recog:识别框架 Recog是一个框架,用于通过将指纹与从各种网络探测器返回的数据进行匹配来识别产品,服务,操作系统和硬件。 Recog使从Web服务器标题,snmp系统描述字段等中提取有用的信息变得很容易。 Recog是开源的,请参阅文件以获取更多信息。 目录 安装 Recog由XML指纹文件和各种代码组成(大多数使用Ruby),这使得开发,测试和使用所包含的指纹变得容易。 为了使用随附的ruby代码,需要Ruby(2.31+)的最新版本,以及Rubygems和bundler gem。 这些依赖关系就绪后,使用以下命令获取最新的源代码并安装所有其他依赖关系。 $ git clone
2021-02-06 09:04:27 377KB ruby xml regex fingerprinting
1