2016-08-03 28 views
1

我正在使用Aculab的Prosody声卡来记录某个频道的声音。我现在想要触发一个警报,如果通道对于例如“无声” 24小时。任何人都有如何使用Prosody Speech Processing API来实现这一点的经验?我正在Java中实现这一点,使用JNA进行本机调用。使用Prosody Speech API检测沉默

回答

0

我不能与它的Java的部分帮助,但我假设Aculab公司API大致是对每个人都是一样的,所以:

这有两种选择。如果您正在录制频道alaready并且正在使用Aculab高级录音API,那么会有一个“最大静音”参数,如果频道在此时间内保持沉默状态,则会导致录制停止。我从未想过用它的时间超过几秒钟自己:

http://www.aculab.com/support/pdf_documents/v6_linux/TiNG/pubdoc/gen/apifn-sm_record_start.html#field-max_silence

正如你可以看到在该网页上,这需要韵律固件模块“咕噜”,可以使用更多直接使用sm_listen_for。你很可能已经在使用这个,如果你listeing为DTMF,你会看到,这个功能也有“gruint检测”一paramamter,在这里看到:

http://www.aculab.com/support/pdf_documents/v6_linux/TiNG/pubdoc/gen/apifn-sm_listen_for.html

如果启用咕噜检测,检测(很像DTMF检测)将被提出来说有声音。我在我的系统上使用这个功能来跟踪会议中哪个人在任何时候都会说话,而且工作得很好。在你的情况下,你只是想编写代码来查看是否长时间没有“咕噜声”(噪声),所以只要跟踪你最后得到这些信号之一。