Audio 编写一个识别声音并执行动作的程序

Audio 编写一个识别声音并执行动作的程序,audio,Audio,我想写一个程序,它能够存储一个声音模式,如火车口哨,喇叭(哔哔)…通过麦克风听声音…然后在听到声音时采取一些行动。我懂一点python,很久以前就用VB编程了。我主要是一个甲骨文,PLSQL的家伙。该程序将需要一个适度的用户界面 解决此问题的最佳解决方案组合(语言、第三方附加组件等)是什么?是语音识别系统。它可能会被修改,甚至可以按照您期望的方式进行训练。我想,在这种情况下,阻力最小的方法是将第三方音频识别库与高级语言(如Java或.NET系列语言之一,如C#或VB.NET)结合使用 你可以先在

我想写一个程序,它能够存储一个声音模式,如火车口哨,喇叭(哔哔)…通过麦克风听声音…然后在听到声音时采取一些行动。我懂一点python,很久以前就用VB编程了。我主要是一个甲骨文,PLSQL的家伙。该程序将需要一个适度的用户界面


解决此问题的最佳解决方案组合(语言、第三方附加组件等)是什么?

是语音识别系统。它可能会被修改,甚至可以按照您期望的方式进行训练。

我想,在这种情况下,阻力最小的方法是将第三方音频识别库与高级语言(如Java或.NET系列语言之一,如C#或VB.NET)结合使用

你可以先在语音识别领域做一些研究

当您发现一个库或框架具有您感兴趣的功能,并使用您选择的语言进行绑定时,请开始使用它来实现

请参阅(一个Java库)以及微软在这方面的工作(如果我没记错的话,它已经与较新的Windows操作系统集成在一起了)

编辑-桌面与从Web运行的对比

在您询问的关于使用Flash或Silverlight以使您的解决方案能够在桌面或web上工作的评论中

首先,我想指出,Flash和Silverlight实际上都在客户端计算机上运行。区别在于它们在web浏览器的上下文中运行,用户不必安装应用程序。否则,它们与桌面应用程序差别不大,用户显然必须为其浏览器安装Flash of Silverlight插件

如果这正是您所追求的(即用户不必安装您的应用程序),那么您可以查看Flash、Silverlight或。实际上,JavaWebStart可能是一个很好的候选者,因为您可以利用


但是,如果您决定使用Flash、Silverlight或Java Web Start,则可能需要处理一些安全问题,因为访问客户端系统资源必然需要一些特权,而大多数“基于Web的应用程序”都需要这些特权通常不需要。

如果您正在收听程序事先知道的喇叭或火车口哨的特定录音,那么如果声音足够独特,您将能够可靠地检测和区分它们

将程序以前从未听到过的新声音(如喇叭声、火车汽笛声等)分类是一个困难得多的问题

在这两种情况下,声音识别算法通常会查看记录声音的频谱(参见Miky D关于数字声音处理的链接),并对这些数据而不是记录的波形本身执行一些操作


至于语言库和第三方库,请选择一些可以让您以最少的麻烦获取录制的音频数据的工具。Java在这方面似乎很好(另请参见Java机器学习算法)。虽然有用于语音和音乐分析的程序/库,但我不知道有哪一个是为任意声音设计的,因此您可能最终不得不自己编写分析算法。

我所知道的大多数算法都使用(即spectum vs.time)来区分声音。这个问题有多难可以通过你的光谱图看起来有多不同来估计


声音的一个方面可能使它们更容易与语音区分,那就是它们可能具有清晰的和声结构(即看起来更像小提琴,而不是维基百科链接中的声音)。这种和声结构在区分声音方面非常有用,而且对解决你的问题也很有帮助。这让我想起了另一个值得关注的地方:在区分鸟鸣方面有很多工作,它们有清晰的和声结构,还有许多已发布的算法,尽管我不知道有什么自由软件可以扩展到您的需要。不过,使用鸟鸣分析软件来查看您的声音文件可能还是有用的。例如,查看该项目,尽管还有许多其他免费的光谱图软件包。

如果我想要一个既可以在桌面上运行也可以从web上运行的程序,Flash或Silverlight会是一种选择吗?Ethan,请查看我的答案,了解有关Flash或Silverlight使用的更新。这篇评论太长了一点。我希望这会有帮助。。