如何比较/匹配两个不相同的声音片段

2024-02-29

我需要每 5 秒采集一次短声音样本,然后将其上传到我们的云服务器。

然后,我需要找到一种方法来比较/检查该样本是否是完整长音频文件的一部分。

样本将通过手机麦克风录制,因此它们确实不准确。

我知道这个主题可能会变得非常技术性和复杂,但我确信一定有一些库或在线服务可以帮助完成这种复杂的音频匹配/配对。

一种想法是使用音频到文本转换服务,然后根据实际对话进行匹配。然而,这对我来说并不有效。基于实际声音频率或模式的匹配会更有效。

我知道有一些服务可以进行这种类型的音频匹配,例如 Shazam。不过我想他们的服务都是合宜的。

一些可能影响它的因素:

  • 两个音频样本都带有时间戳。所以我们不必搜索整个声音片段。

为了让您获得答案,您需要专注于您已经完成战斗并显示代码的可回答问题

在我的脑海中,我会走过音频,取出一桶多个样本...然后将桶滑过几个样本并执行另一个桶拔取操作...允许每个桶包含前一个桶中也包含的重叠样本以及下一个桶...更少的样本,更快的计算,更多的样本,在一定程度上更高的准确性 YMMV

...将每个桶输入傅里叶变换,将时域输入音频渲染为其频域对应项...将每个桶的 FFT 显着属性记录到数据库中,例如具有最大能量的 X 频率(最大幅度)你的快速傅里叶变换)

...还可以存储那些最高 X 频率相对于其能量的标准偏差(这些频率的分散程度如何)...根据需要定义其他此类属性...对于这种频域方法的工作,您需要相对较少由于 FFT 适用于周期性时间序列数据,因此每个存储桶中都有样本,因此如果您为其提供 500 毫秒的复杂音频(例如语音或音乐),您将不再拥有周期性音频,而是拥有糊状音频

然后,一旦所有现有音频都通过上述处理发送,对您的实时新音频执行相同的操作,然后确定哪些先前音频包含与您当前音频输入最相似的存储桶序列...使用贝叶斯方法,以便您的猜测附加概率权重自己实时更新

听起来是一个非常酷的项目,祝你好运……这里有一些音频指纹资源


音频片段 A 是否出现在音频文件 B 中 检测音频中的音频[音频识别]检测音频中的音频[音频识别] https://stackoverflow.com/questions/61760505/detecting-audio-inside-audio-audio-recognition

在 Arduino 中从 FFT 检测特定模式在 Arduino 中从 FFT 检测特定模式 https://stackoverflow.com/questions/57151674/detecting-a-specific-pattern-from-a-fft-in-arduino/57152618#57152618

使用 AudioContext API 进行音频指纹识别https://news.ycombinator.com/item?id=21436414 https://news.ycombinator.com/item?id=21436414 https://iq.opengenus.org/audio-fingerprinting/ https://iq.opengenus.org/audio-fingerprinting/

Chromaprint 是 AcoustID 项目的核心组件。 它是一个客户端库,实现了从任何音频源提取指纹的自定义算法https://acoustid.org/chromaprint https://acoustid.org/chromaprint

从 FFT 检测特定模式在 Arduino 中从 FFT 检测特定模式 https://stackoverflow.com/questions/57151674/detecting-a-specific-pattern-from-a-fft-in-arduino/57152618#57152618

音频地标指纹识别作为节点流模块 - nodejs 将 PCM 音频信号转换为一系列音频指纹。https://github.com/adblockradio/stream-audio-fingerprint https://github.com/adblockradio/stream-audio-fingerprint

所以后续 如何比较/匹配两个不相同的声音片段如何比较/匹配两个不相同的声音片段 https://stackoverflow.com/questions/49895223/how-to-compare-match-two-non-identical-sound-clips

Python 中的音频指纹识别和识别https://github.com/worldveil/dejavu https://github.com/worldveil/dejavu

使用 Python 和 Numpy 进行音频指纹识别http://willdrevo.com/fingerprinting-and-audio-recognition-with-python/ http://willdrevo.com/fingerprinting-and-audio-recognition-with-python/

MusicBrainz:开放的音乐百科全书(musicbrainz.org)https://news.ycombinator.com/item?id=14478515 https://news.ycombinator.com/item?id=14478515

https://acoustid.org/chromaprint https://acoustid.org/chromaprintChromaprint 是如何工作的?https://oxygene.sk/2011/01/how-does-chromaprint-work/ https://oxygene.sk/2011/01/how-does-chromaprint-work/

https://acoustid.org/ https://acoustid.org/

MusicBrainz 是一个开放的音乐百科全书,收集音乐元数据并将其提供给公众。https://musicbrainz.org/ https://musicbrainz.org/

Chromaprint 是 AcoustID 项目的核心组件。 它是一个客户端库,实现了从任何音频源提取指纹的自定义算法https://acoustid.org/chromaprint https://acoustid.org/chromaprint

音频匹配(音频指纹) https://stackoverflow.com/questions/26357841/audio-matching-audio-fingerprinting

是否可以比较两首相似歌曲的 wav 文件?是否可以比较两首相似歌曲的 wav 文件? https://stackoverflow.com/questions/44483441/is-it-possible-to-compare-two-similar-songs-given-their-wav-files

音频哈希https://en.wikipedia.org/wiki/Hash_function#Finding_similar_records https://en.wikipedia.org/wiki/Hash_function#Finding_similar_records

音频指纹

ACR云https://www.acrcloud.com/ https://www.acrcloud.com/ 如何使用 Python 和 Gracenote 识别音乐样本? https://stackoverflow.com/questions/38075577/how-to-recognize-a-music-sample-using-python-and-gracenote

音频地标指纹识别作为节点流模块 - nodejs 将 PCM 音频信号转换为一系列音频指纹。https://github.com/adblockradio/stream-audio-fingerprint https://github.com/adblockradio/stream-audio-fingerprint

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何比较/匹配两个不相同的声音片段 的相关文章

  • Java - 调整 WAV 文件的播放速度

    我可能很笨 但我似乎找不到解决我的问题的方法 NOTE 我发现很多人报告了这个问题 似乎它是由于较新的 Java 可能是 1 5 而发生的 也许不再支持 SAMPLE RATE 我无法找到任何解决方案 我正在尝试调整 SAMPLE RATE
  • 本地播放 mp3 时 Android MediaPlayer 错误(1, -2147483648)

    Android 4 4 发布后不久 我的代码自 2 2 以来一直正常工作 突然出现了错误 我的代码将查询音乐数据库中给定的音乐文件 该路径在查询中返回 然后该路径被传递到 MediaPlayer Code String uri conten
  • 使用 DirectSound 向后读取声音

    是否可以使用 DirectSound 的托管版本向后读取声音 如果没有 是否有另一个库可以轻松实现 您可以使用 WaveFileReader 和 WaveFileWriter 类NAudio http www codeplex com na
  • 为什么我的音频不倒带?

    我在 Javascript 中倒带音频时遇到了一些问题 我基本上有一个倒计时 当倒计时接近结束时 每秒都会发出蜂鸣声 我尝试使用 var bip new Audio http www soundjay com button beep 7 w
  • Clojure/Java:用于声音频谱分析的 Java 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以接受大量音频数据并返回给定频带内随时间变化的平均幅度的库 我已经在 comp dsp
  • Firefox createMediaStreamDestination 使用 rtc 的错误?

    我通过 rtc 流式传输音频并想要静音和取消静音音频 这有效 但没有增益控制 function stream getUserMedia stream console log Access granted to audio video pee
  • 如何在 PhantomJS 中使用 JavaScript 检测网页上的声音?

    我需要检测带有横幅的网页中的所有声音 我怎样才能做到这一点 我查看 PhantomJS 但找不到浏览器声音的 API PhantomJS 1 x 和 2 不支持 Flash
  • TarsosDSP 音高分析傻瓜式教程

    我正在开发一个分析声音文件音调的程序 我遇到了一个非常好的 API 称为 TarsosDSP 它提供了各种音高分析 然而 我在设置它时遇到了很多麻烦 有人可以向我展示一些有关如何使用此 API 特别是 PitchProcessor 类 的快
  • 当通过音频采样的数据数量超过 AudioRecord 构造函数中设置的“bufferSizeInBytes”时会发生什么?

    public AudioRecord int audioSource int sampleRateInHz int channelConfig int audioFormat int bufferSizeInBytes 这是公共构造函数Au
  • 严格标准:在 wordpress/wp-includes/class-oembed.php 第 116 行中,仅应通过引用传递变量

    我已经查看了很多类似的问题 但关于我的代码 我没有得到它 错误 Strict Standards Only variables should be passed by reference in wordpress wp includes c
  • Android 在通话期间播放音频文件[重复]

    这个问题在这里已经有答案了 对于我的 Android 应用程序 我想在从应用程序接听电话后播放音频文件 应用程序将发起电话呼叫 一旦接收者接听电话 应用程序应开始播放录制的音频文件 通过在谷歌上进行大量搜索 我发现这对于未root的设备来说
  • 将声音图形化地表示为波

    我创建了一个记录和播放声音的应用程序 我正在寻找一种显示简单波形的方法 记录声音的表示 不需要动画 只需一个简单的图表 如果可以选择波的子集也很好 当然更好 也播放该部分 总而言之 我正在寻找什么 一种以图形方式将录制的声音表示为波的方法
  • Mediaplayer 播放几次后停止播放

    我有一个按钮 按下它会播放一个随机声音剪辑 然后播放另一个声音剪辑 然后通过一个媒体播放器播放另一个声音剪辑 但是多次按下该按钮 15 20 次 后 所有音频都会停止 我在播放最后一个音频剪辑后释放媒体播放器 所以我不认为这是原因 有什么指
  • 使用 C 创建立体声正弦波

    我正在尝试用 C 创建立体声正弦 WAV 并且可能有不同的 可能是空白的 左声道和右声道 使用此函数为每个通道生成一个音调 int16 t create tone float frequency float amplitude float
  • 播放选定的音频,同时暂停/重置其他音频

    我有两个通过按钮的单击事件播放的音频元素 如果选择了另一个元素 我已成功地暂停其中一个元素 但还需要将暂停元素设置回 0 0 秒 即暂停和重置 我知道 Javascript 目前没有stop 导致的方法假设这将通过设置其来完成current
  • 如何使用闹钟音量和 setAudioAttributes 来播放铃声?

    所以我正在尝试了解音频属性 这是我到目前为止所拥有的 alarm getSound will return a proper URI to pick a ringtone Ringtone tone RingtoneManager getR
  • HTML5

    我想在随机位置开始和停止 HTML5 播放 并具有淡入和淡出周期 以平滑聆听体验 为此存在什么样的机制 使用 setTimeout 手动增加音量 jQuery 的方式 audio animate volume newVolume 1000
  • 如何在Java媒体框架中学习.wav持续时间?

    我正在尝试使用 java 媒体框架将 mov 文件与 wav 文件合并 因此我需要知道它们的持续时间 我怎样才能做到这一点 任何想法 将不胜感激 您可以使用以下方式了解声音文件的持续时间 即 VitalyVal 的第二种方式 import
  • C#:将音频文件从服务器流式传输到客户端

    我目前正在编写一个应用程序 该应用程序将允许用户安装某种形式的应用程序 可能是 Windows 服务 该应用程序将在其 PC 上打开一个端口 并在硬盘上指定一个特定的目的地 然后能够流式传输 mp3 文件 然后 我将有另一个应用程序 该应用
  • 如何让位置音频在 SceneKit 中工作?

    我在使位置音频在 SceneKit 中工作时遇到问题 从 Xcode 生成的 SceneKit 游戏模板开始 我将以下代码添加到handleTap 方法的末尾 let ship scnView scene rootNode childNod

随机推荐

  • C、没有 malloc 的 fork 泄漏

    我试图了解内存分配如何在 fork 上工作 即使是静态或动态分配 我很难理解一些泄漏 如下所示 通过这个程序 include
  • Spark Dataframe 中的聚合数组类型

    我有一个 DataFrame 命令 Id Order Gender 1622 101330001 Male 1622 147678 Male 3837 1710544 Male 我想对 ID 和性
  • 字典中具有多个值的单个键

    我的代码中可以有一个全局字典吗 如下所示 group vowel aa ae ah ao eh er ey ih iy uh uw o consonant b ch d dh dx f g hh jh k l m n ng p r s sh
  • 如何在 xml 布局上使用伴随对象?

    我试图在布局内使用伴随对象属性 但编译器无法识别它 Kotlin 类 class MyClass companion object val SomeProperty hey XML布局
  • 如何在 R 中生成给定的均值、SD、偏度和峰度分布?

    是否可以在 R 中生成均值 SD 偏度和峰度已知的分布 到目前为止 最好的途径似乎是创建随机数并相应地对其进行转换 如果有一个专门用于生成可以适应的特定发行版的包 我还没有找到它 谢谢 SuppDists 包中有一个 Johnson 发行版
  • 使用 R 将 qicharts 图转换为 ggplot

    我的数据框看起来像这样 Datetime lt c 2015 09 29AM 2015 09 29PM 2015 09 30AM 2015 09 30PM 2015 10 01AM 2015 10 01PM 2015 10 02AM 201
  • 从通知中启动的活动按返回/主页退出应用程序

    我有一个从通知启动的活动 我使用 TaskStackBuilder 包含一个后退堆栈 以便当用户点击主页按钮 操作栏标题按钮 或使用后退键时 它将返回到应用程序 但是 它不是以这种方式工作的 而是回击或操作栏标题按钮总是导致应用程序关闭 就
  • JSON.parse 从 JSON 返回 [object]

    我正在使用一个名为的 npm 包request发出 http 请求 现在我想解析收到的数据 以提取经纬度并将其写入我的数据库 但到目前为止 我得到的控制台输出是 address components Object Object Object
  • C# using 和 Java import 之间的区别

    我知道在java中我们使用 星号 来导入包中的所有内容 例如 import java lang 那为什么我们不在C 中使用相同的 星号 来导入所有内容 有没有像java中那样的方法来导入所有内容 有什么区别 import java awt
  • 是否可以使用相同的 requestCode 和不同的 extras 创建多个 PendingIntents ?

    我在用着AlarmManager安排 1 到 35 个警报 取决于用户输入 当用户请求安排新警报时 我需要取消当前警报 因此我使用相同的 requestCode 创建所有警报 该请求代码在final多变的 clear remaining a
  • 如何在 UWP 应用中播放 JS 的声音?

    我正在开发一个 UWP 其中包含一个 Web 应用程序 该应用程序具有一些调用一些 C 函数的 JS 函数 现在 我正在尝试播放我存储在 UWP 应用程序的 Assets 文件夹中的声音 这是我想要发挥的功能Windows 运行时组件 pu
  • html5本地数据库位于客户端计算机上的哪里?

    我正在不同的浏览器 Firefox Opera Safari 和 Chrome 上使用 html5 本地存储 我只是想知道我使用 创建的本地数据库的位置在哪里 开放数据库 我可以更改该数据库的位置吗 Gath 它将存储在用户的配置文件目录中
  • jQuery 的 ajax 成功函数的额外参数

    我正在使用以下代码获取 XML 文件 function getMaps toLoad loadMaps length for var i 0 i lt loadMaps length i ajax type GET url loadMaps
  • 为什么“findById()”在同一实体上调用 getOne() 后返回代理?

    在我的网络应用程序中 在服务布局中 我使用 餐厅 实体的代理 餐厅 字段中的 FetchType Lazy User user userRepository get userId Getting proxy here not restaur
  • 如何在 docker 容器中对 elasticsearch.yml 进行简单编辑?

    我在用docker compose as in https github com davidefiocco dockerized elasticsearch indexer blob master docker compose yml ht
  • 为什么 html5 postMessage 对我不起作用?

    我使用几行 javascript 来创建一个 iframe 元素 然后我想向它发送一条消息 如下所示 function loadiframe callback var body document getElementsByTagName b
  • 如何修改和使用R包的函数?

    我的问题是关于如何在 R 中调整 控制树状图中的比例 使用 portfolio 库 https stackoverflow com questions 7561423 how do you adjust control the scale
  • 溢出:滚动;在 中

    为什么 CSS 属性overflow scroll 不工作于 td while overflow hidden 效果很好 table border 1 style width 100px tr td style width 50px 100
  • CF9 中的 QueryNew() 数据类型

    我接管了运行 CF9 0 1 的生产服务器上的系统 但在开发人员版本中找不到该系统的副本 因此我正在运行 CF10 我正在将数据从数据库导出到 Excel 由于数据来自多个数据源 因此需要手动将结果输入到查询中 然后用于输出到 Excel
  • 如何比较/匹配两个不相同的声音片段

    我需要每 5 秒采集一次短声音样本 然后将其上传到我们的云服务器 然后 我需要找到一种方法来比较 检查该样本是否是完整长音频文件的一部分 样本将通过手机麦克风录制 因此它们确实不准确 我知道这个主题可能会变得非常技术性和复杂 但我确信一定有