我应该使用哪种算法进行信号(声音)一类分类?

2023-12-21

Update我总结了问题及其答案here https://jaderdias.github.io/posts/signal-one-class-classification/

  1. 我的目标是检测噪声信号中给定模式的存在。我想检测一种用麦克风记录声音的昆虫的存在。我之前已经以数字格式录制了昆虫的声音。
  2. 我并不是想进行语音识别。
  3. 我已经在输入信号和模式之间使用卷积来确定它们的相似度。但我认为这种技术更适合离散时间(即数字通信,其中信号以固定间隔发生)并区分两种给定模式之间的输入信号(我只有一种模式)。
  4. 我害怕使用神经网络,因为我从未使用过它们,而且我不知道是否可以嵌入该代码。

您能否给我指出一些其他方法,或者尝试让我相信我当前的方法仍然是一个好主意,或者神经网络可能是一种可行的方法?

Update我已经有两个很好的答案,但另一个会受到欢迎,甚至会得到奖励。


卷积的一个进步是动态时间扭曲 http://en.wikipedia.org/wiki/Dynamic_time_warping它可以被认为是一种卷积运算符,可以拉伸和收缩一个信号以最佳地匹配另一个信号。

也许更简单的方法是对样本进行 FFT,并确定您的昆虫是否有可以过滤的特定频率。

在更复杂的方面,但不完全是神经网络,SVM 工具包是这样的libsvm http://www.csie.ntu.edu.tw/~cjlin/libsvm/ and svmlight http://svmlight.joachims.org/您可以将数据扔到其中。

无论您尝试哪种方式,我都会花时间使用 FFT 等工具探索昆虫发出的声音的本质。毕竟,如果你自己能做到的话,教计算机对声音进行分类会更容易。

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

我应该使用哪种算法进行信号(声音)一类分类? 的相关文章

  • 使用 C 创建立体声正弦波

    我正在尝试用 C 创建立体声正弦 WAV 并且可能有不同的 可能是空白的 左声道和右声道 使用此函数为每个通道生成一个音调 int16 t create tone float frequency float amplitude float
  • 音频html标签无法快进或快退控制

    我正在使用音频 html 标签从我的上传服务器加载音频 但我不知道为什么我的音频无法像往常一样循环 快进或快退控制 我的音频 标题 Accenpt Ranges bytes Connection Keep Alive Content Len
  • ffmpeg:音频样本的字节顺序

    我使用 ffmpeg 的 avcodec 从我的 C 应用程序中的音乐文件中检索原始音频样本 对于我测试的文件 这些文件样本的字节序似乎是小字节序 但我想知道对于我尝试解码的所有文件是否总是如此 即来自 ffmpeg 的实现或至少它的体系结
  • 无需构建树即可预测霍夫曼压缩比

    我有一个二进制文件 我知道其中每个符号出现的次数 如果我要使用霍夫曼算法压缩它 我需要预测压缩文件的长度 我只对假设的输出长度感兴趣 而不对单个符号的代码感兴趣 因此构建霍夫曼树似乎是多余的 作为一个例子 我需要得到类似的东西 包含 4 个
  • 分而治之策略来确定列表中是否有超过 1/3 的相同元素

    我正在使用分治算法来确定列表中是否有超过 1 3 的元素相同 例如 1 2 3 4 不 所有元素都是唯一的 1 1 2 4 5 是的 其中 2 个是相同的 没有排序 是否有分而治之的策略 我陷入了如何划分的困境 def is valid i
  • 使用项目中的波形文件

    我目前只能通过将波形文件放在已编译的 exe 旁边来播放背景声音 但我实际上想要一个包含波形文件的静态可执行文件 这在Delphi XE2中可能吗 这是我的代码 SndPlaySound Raw wav SND ASYNC or SND L
  • Android 从 C++ 端播放原始音频

    我需要能够在 Android 系统的 C 端以自定义文件格式传输音频 我正在致力于移植自定义媒体播放器 并且需要能够打开自定义文件并从中传输音频 这很重要 因为我认为从性能角度来看将整个播放器移植到 JAVA 是不可行的 并且通过 JNI
  • 直接选择排序与交换选择排序

    有什么区别直接选择排序 vs 交换选择排序 今天我陷入了一场争论 我的教授在他的讲义中使用了这两个术语 维基百科和任何教科书或网站都会为您提供的选择排序就是他所说的 交换选择排序 我以前从未听说过 交换选择排序 这个术语 仅 选择排序 并且
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 子序列和

    给定一个整数数组 例如 1 2 3 1 查找是否存在总和为0并返回它 例如 1 2 3 or 2 3 1 检查每个子序列是O n 2 这效率太低了 有改进的想法吗 创建一个新数组 其中每个元素等于前一个元素加上该元素的总和 Input 1
  • 找到一条穿过任意节点序列的最短路径?

    In 这个先前的问题 https stackoverflow com questions 7314333 find shortest path from vertex u to v passing through a vertex wOP询
  • 迭代任意大小的子集

    我可以迭代大小为 1 的子集 for int a 0 a lt size a 或大小为 2 的子集 for int a1 0 a1 lt size a1 for int a2 a1 1 a2 lt size a2 or 3 for int
  • 需要一种将网络块范围折叠为超集范围列表的算法

    我的数学不及格 我需要一种有效的方法将网络范围缩小为超集 例如如果我输入 IP 范围列表 1 1 1 1至2 2 2 5 1 1 1 2至2 2 2 4 10 5 5 5至155 5 5 5 10 5 5 6至10 5 5 7 我想返回以下
  • 给定一个具有多个重复条目的数组,找到一个重复条目 O(N) 时间和常数空间

    我们得到了一个大小为 N 的数组 其中包含 0 到 N 2 范围内的整数 包括 0 和 N 2 该数组可以有多个重复的条目 我们需要在 O N 时间和常量空间中找到重复条目之一 我正在考虑取数组中所有条目的乘积和总和 以及 0 到 N 2
  • 具有 2 个属性的背包算法。如何在 3d 数组中实现它?

    当有超过 1 个属性时 我无法理解背包问题 当有 1 个属性时 我必须编写一个使用具有 2 个属性的背包算法的程序 老师告诉我们 它必须在 3d 数组中完成 错误的实现将导致 O 2 n 处理时间 我无法想象这样的数组会是什么样子 假设这是
  • HTML5

    我想在随机位置开始和停止 HTML5 播放 并具有淡入和淡出周期 以平滑聆听体验 为此存在什么样的机制 使用 setTimeout 手动增加音量 jQuery 的方式 audio animate volume newVolume 1000
  • 用于开始和/或包含搜索的最快字符串集合结构/算法是什么

    我有以下情况 我有一个大的字符串集合 比如说 250 000 平均长度可能是 30 我要做的就是在这些搜索中进行许多搜索 大多数搜索都是 StartsWith 和 Contains 类型的 该集合在运行时是静态的 这意味着选择的集合的初始读
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • 有没有时间复杂度为O(N)的排序算法?

    大多数排序算法的复杂度为 O NN 或 O NlogN 来实现结果 但是 对于特定的输入集 有些算法的复杂度为 O N 我想知道是否有一种排序算法在所有情况下都具有 O N 的复杂度 如果您只能比较 检查两个项目是否为 正在排序的值 那么您
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l

随机推荐

  • Bash:导出未将变量正确传递给父级

    子脚本中导出的变量在父脚本中未定义 a sh bin bash This is the parent script a sh export var 5e 9 b sh var export result res res is defined
  • 与 SQL 的时区协调

    问题1 3 我有多个MySQL要连接的数据库并希望确保查询之间的时间一致性 例如 其中一台服务器当前位于CDT时区 gt select CURRENT TIMESTAMP system time zone global time zone
  • Xcode:避免使用 Interface Builder 是好主意还是坏主意? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在慢慢学习如何在 Xcode 和 Objective C 中构建应用程序 并且我一直在阅读这篇博文 http blog teamtreeho
  • Rails:使用 CanCan 根据单个模型的实例定义多个角色?

    我目前陷入如何根据我们想要的每个条件来分离 CanCan 角色的问题 在我们的应用程序中 有很多类别 例如数学 英语 历史等 每个类别都有很多课程 每个用户可以在每个类别上拥有许多不同的角色 例如 约翰可以是数学 读者 这意味着他可以阅读数
  • 在 C# 中分割、编码和合并视频部分

    可以将文件分成许多部分 是否可以对每个部分进行编码 然后再次将它们连接起来 这个想法是在多台计算机上对一个视频进行编码 在 NET中 谢谢 您可以从 C 代码中调用 ffmpeg exe 来完成此操作 还有一些库可以完成此任务
  • SNMP:ifAdminStatus 与 ifOperStatus

    我有关于 ifAdminStatus 和 ifOperStatus 的问题 以下是使用 ifAdminStatus 的网络接口状态的输出 snmpwalk Os c public v 1 192 168 1 1 1 3 6 1 2 1 2
  • 通过扩展 Django-Registration 应用程序创建 Django 注册表单

    我尝试通过扩展 django registration 应用程序并使用 Django Profile 创建注册表单 我已经为配置文件创建了模型和表单 当我通过 django shell 检查时 它正在生成字段 对于配置文件字段 我使用 Mo
  • 在续集中的嵌套急切加载中排序不起作用

    我有四个模型 Tehsil Ilr Patwar 和 Village 他们的关联是 Tehsil gt 1 m gt Ilr gt 1 m gt Patwar gt 1 m gt 村庄 我想在我的所有四个模型上应用 order by Que
  • 使用 Android Studio 和 Facebook 4.6.0 膨胀类 com.facebook.login.widget.LoginButton 时出错

    在我的 build gradle 中 我正在导入 Facebook compile com facebook android facebook android sdk 4 6 0 在我的应用程序类中 我正在初始化 Facebook SDK
  • MySQL中反斜杠\算作一个字符吗?

    如果我有一个包含固定长度列的表 mySQL 会将反斜杠算作字符吗 例子 people name 10 age 3 如果我在名称列中存储 MySQL 转义值 例如 Blahblah sMySQL会按照报价砍掉它吗 Thanks 不 转义字符不
  • 如何实际重置 $httpBackend 期望?

    我已经尝试过并试图让它发挥作用 这文档 https docs angularjs org api ngMock service 24httpBackend充其量是简洁的 重置期望 重置所有请求期望 但保留所有后端定义 通常 当您想要重用 h
  • 信号分配在进程中如何工作?

    我了解到信号在遇到表达式时不会立即改变 而是在进程结束时立即改变 在此示例中 signal x y z bit process y begin x lt y z lt not x end process 这个例子是这样说的 如果信号 y 发
  • 我无法获得正确的 StoreContext

    我已将我的应用程序提交到 Windows 应用商店并通过了认证 根据测试说明 https learn microsoft com en us windows uwp monetize in app purchases and Trials
  • 如何配置简单注入器 IoC 以使用 RavenDB

    我在用着简易注射器 http simpleinjector codeplex com用于 MVC 3 Web 应用程序中的 IOC 我在用RavenDB http ravendb net用于数据存储 在 mvc 3 应用程序中使用 Rave
  • Spyder 中的简单 Python 多重处理函数不输出结果

    我在这里有一个非常简单的函数 我试图在其中运行和测试 但是 它不会输出任何内容 也没有任何错误 我多次检查了代码 但没有任何错误 我打印了作业 这就是我得到的
  • 阻止对 Redis 密钥的访问 (ServiceStack)

    我正在尝试使用 ServiceStack Redis 客户端来实现我认为非常常见的缓存场景 但我很难找到一个很好的例子 在 ASP NET MVC 应用程序中 我们对外部 Web 服务进行相对长时间运行 且按计量 的调用 并将结果缓存一段时
  • 函数调用中的多个括号

    我对这个 Scala 表示法有点困惑 List 1 2 3 foldLeft 0 x acc gt acc x 0 和函数都是foldLeft的参数 为什么它们被传递到两个相邻的括号组中 我认为这是可行的 List 1 2 3 foldLe
  • XNA 与 DirectX 的比较 (C#)

    在PC开发方面 不包括Xbox和Zune XNA 和 C DirectX 有什么区别 C DirectX 是否比 XNA 具有显着优势 在速度 版税等方面 与非托管 C DirectX 相比 两者的速度如何 游戏编程行业正在走向何方 如果您
  • if 语句之外的变量访问

    我正在尝试访问 java 中 if 语句之外的变量 变量是axeMinDmg 这是我所拥有的 但出现错误 我想minDmg axeMinDmg thanks SuppressWarnings unused public static voi
  • 我应该使用哪种算法进行信号(声音)一类分类?

    Update我总结了问题及其答案here https jaderdias github io posts signal one class classification 我的目标是检测噪声信号中给定模式的存在 我想检测一种用麦克风记录声音的