问题标签 [audio-fingerprinting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1486 浏览

audio - 音频指纹上的局部敏感散列

我正在研究音频指纹识别系统,最近阅读了一些论文和研究,尤其是这个页面:c# AudioFingerprinting and Locality Sensitive Hashing

我现在每 32 毫秒的音频就有一系列指纹。我想要做的是使用 LSH 或其他一些相似性保留方法对这些单独的指纹(而不是它们的序列)进行哈希处理。根据我对 LSH 的了解,它适用于多维向量并生成二进制字符串,然后可以在汉明空间中进行比较。

我的问题是我拥有的指纹不是多维的。它们只是单个长整数。我如何使用 LSH 对这些进行哈希处理?是否有任何方法来散列(以保持相似性的方式)一维标量?

0 投票
1 回答
2307 浏览

java - 如何从 Java 中获取 Acoustid (Chromaprint) 以识别 mp3/m4a/etc

有没有人设法在 Java 应用程序中使用 acoustid (http://acoustid.org/chromaprint)?访问 chromaprint clib 应该很容易,但我不能只传入音频文件。我需要原始未压缩的音频数据。

我尝试使用 xuggler 来获取未压缩的音频,但没有得到任何结果。基本上我不知道如何从 mp3/m4a/etc 等编码文件中获取原始音频

有没有人设法完成这项工作?有人介意分享他们的代码吗?

0 投票
2 回答
1012 浏览

ios - Echoprint 无法识别一首歌曲

Echoprint “聆听”手机或计算机上的音频,以确定它是什么歌曲。它的速度非常快且准确度非常高,以至于它可以识别非常嘈杂的原始版本或在移动设备上录制的带有大量外部来源干扰的版本。

我编译了网站上提供的 iOS 示例。到现在为止还挺好。遗憾的是,Echoprint 无法通过 iPhone 的麦克风识别任何歌曲(录制时间长达 1 分钟)。

另一方面,它能够通过直接从 iPhone 的媒体库“上传”歌曲来识别歌曲。

任何想法,可能是什么问题?

0 投票
1 回答
692 浏览

python - echoprint - 停止服务 Solr,我丢失了数据库

正如我可以正确停止服务和 tt solr 一样。我所做的是重新启动 PC,然后唤醒服务,但要执行歌曲验证,我会收到一条消息,好像数据库已损坏。我想知道关闭服务以运行和测试歌曲而不是数据库损坏的正确方法是什么。问候和感谢。

  1. 启动tts /usr/local/tokyotyrant-1.1.33/bin/ttservercd echoprint-server/solr/solr
  2. java -Dsolr.solr.home=/home/user01/echoprint-server/solr/solr/solr/ -Djava.awt.headless=true -DSTOP.PORT=8079 -DSTOP.KEY=mykey -jar start.jar
  3. 收录新歌
  4. 我停止 Solr java -DSTOP.PORT=8079 -DSTOP.KEY=mykey -jar start.jar --stop

现在,当我启动服务并且我想制作一首歌曲压缩时,我在数据库中拥有的一些会向我发送一个错误。

Traceback(最近一次调用最后一次):文件“lookup.py”,第 51 行,在查找(sys.argv [1])文件“lookup.py”,第 35 行,在查找结果 = fp.best_match_for_query(解码)文件“ ../API/fp.py",第 194 行,在 best_match_for_query get_tyrant tcodes = () 中。multi_get (trackids) File"../API/pytyrant.py", line 296, in multi_get raise KeyError("Missing a result, unusable response in 1.1.10") KeyError: 'Missing a result, unusable response in 1.1.10 '

应该如何在不丢失任何信息的情况下启动和终止服务。?

0 投票
1 回答
946 浏览

android - Android中的音频指纹识别

我正在开发一个使用语音识别来控制 arduino 机器人的 android 项目。我想要一个离线语音识别单元来识别几个单词。因此想到了为此目的实施音频指纹识别。那么无论如何我可以用它来识别一些简单的单词吗????

0 投票
2 回答
1487 浏览

c++ - 创建自定义语音命令 (GNU/Linux)

我正在为个人项目寻求建议。

我正在尝试创建一个用于创建自定义语音命令的软件。目标是允许用户/我记录一些音频数据(2/3 秒)以定义命令/宏。然后,当用户说话(录制相同的音频数据)时,将执行命令/宏。该软件必须能够在低成本计算机(例如 RaspberryPi)中在不到 1 秒的处理时间内检测到命令。

我已经通过两种方式进行了搜索: - 语音识别(CMU-Sphinx,Julius,simon):有很好的开源解决方案,但它们通常需要大型数据库文件,而语音识别并不是我真正想要做的。对于一个小功能,语音识别可能会消耗过多的电量。- 音频指纹(Chromaprint -> http://acoustid.org/chromaprint):这似乎是我要找的。原理是从原始音频数据创建指纹,然后比较指纹以确定它们是否相同。但是,这种软件/库似乎是为歌曲识别而设计的(如智能手机上的著名软件):我正在尝试配置一个好的“比较器”,但我认为我的做法很糟糕。

你知道一些专门的软件或代码包做类似的事情吗?

任何建议将不胜感激。

0 投票
3 回答
2661 浏览

web-services - 在 Musicbrainz 上搜索 AcoustID

Muscibrainz 提供AcoustID指纹,例如,这里

但是,我找不到直接搜索它们的可能性(就像PUID或echoprints一样

我错过了什么吗?

acoustid.org 提供我想要的信息,但不是 Acoustid WebService。

示例:给定指纹 453a8e75-ef90-4f31-a2b2-84494219bd3b 我想要以下页面提供的信息:http: //acoustid.org/track/453a8e75-ef90-4f31-a2b2-84494219bd3b

(旁注:我对任何指纹匹配过程都不感兴趣,我只想要具有给定 acoustID 的所有条目)

0 投票
2 回答
559 浏览

ios - iOS 中 echoprint 的链接器错误

我正在使用 echoprint API 进行过去 3 个月的歌曲搜索。但突然它开始给我以下错误。在将 API 添加到我的项目时,我已经遇到了很多问题,现在它开始给我链接器错误。它以前对我有用。像这样的错误:

“Codegen::Codegen(float const*, unsigned int, int)”,引用自:File.o 中的_GetPCMFromFile

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

ld:未找到体系结构 i386 的符号

ld:警告:找不到选项'-LL/Users/prajaktakulkarni/Downloads/echoprint-codegen-4.12 2/src/echoprint-codegen-ios/build/Release-iphoneos'的目录 ld:警告:忽略文件/Users/prajaktakulkarni /Documents/Instajam/libechoprint-codegen-ios.a,在文件 /Users/prajaktakulkarni/Documents/Instajam/libechoprint-codegen-ios.a 中缺少所需的体系结构 i386(2 片)体系结构 i386 的未定义符号:“Codegen::Codegen (float const*, unsigned int, int)”,引用自:File.o ld 中的 _GetPCMFromFile:未找到架构 i386 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

0 投票
1 回答
590 浏览

solr - 使用 Python 获取 Echoprint Api 的数据库出现错误

我正在尝试开始使用 Echoprint api。刚安装了 Echoprint 服务器并运行它,然后我运行一个命令来获取 Echoprint api 的数据库

我得到的错误日志是

谁能告诉我为什么我面临这个错误以及如何删除它以便我可以获得完整的数据库?

0 投票
0 回答
626 浏览

audio - 如何修剪 PCM 数据以识别要馈送的样本数或帧数?

我想提供 libsamplerate (一个需要填充以下结构的音频数据下采样库:

调用者必须填写的这个结构的字段是:

为了填充这个结构,我有 data_in 但我不知道帧数,所以我无法定义 input_frames。有没有一种简单的方法来修剪 PCM 字节流?所以我也可以用正确的帧数将它输入到这个函数中。(所以这个问题与 libsamplerate 没有直接关系)