Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

非常感谢分享!能不能改成自己的语音识别接口 #1

Closed
BadDeveloper2022 opened this issue Jul 23, 2019 · 8 comments
Closed

Comments

@BadDeveloper2022
Copy link

非常感谢分享!能不能改成自己的语音识别接口
我想做个简单的号码状态识别的模块,比如 "空号,关机,通话中,无法接通"等

@BadDeveloper2022
Copy link
Author

已成功在1.6.20上编译成功。VAD我看你用了简单的VAD算法,能不能用webrtc或者其他好些的算法。

@BadDeveloper2022
Copy link
Author

还有一个问题:多线程。
谢谢代码的分享。

@lionsoul2014
Copy link
Owner

VAD算法实现都差不多,这个算法我测试过还可以,自己调整其中的一些阈值可以适应不同的应用场景。Freeswitch里面,每次接入模块都会调用open,open里面会创建一个单独的对象,本身适合多线程环境。

@lionsoul2014
Copy link
Owner

本身自带的ASR接口是适应yuanyu.ai的,建议你改成自己的http restfull接口,更改下curl的参数就OK了。

@BadDeveloper2022
Copy link
Author

你的意思是 不需要单独的线程来处理是吧?我的意思是 http asr请求延迟,会不会影响FreeSwitch 音频处理,并发数高的时候,会不会出现问题。
http 接口已改成自己的了。
上次FreeSwitch群里有人提过这种线程的问题,所以问问的。谢谢你的回复

@BadDeveloper2022
Copy link
Author

比如 : 同步的话,http 接口延迟了,但是用户已经说两句话了,下次识别的时候,会不会出现中间的部分丢掉的情况,堵塞的情况。超时设置2000也许避免这样的问题,但是这个不是好的办法吧。你没遇到过这种问题吗。

@lionsoul2014
Copy link
Owner

有这个情况的,电话语音交互,网络延时确实没啥好的解决办法,本身同一个通话线程,IO虽然是异步的,但是也不好支持异步处理。建议在交互上做些功夫,例如,在asr请求没有返回之前,可以语音提示正在处理中等,不过这需要深入的更改ASR和Freeswitch容器之间的通讯关系。

@BadDeveloper2022
Copy link
Author

我现在的解决办法是 每一次的语音识别 加一个标签,比如:0,1,2,3,4,5,6... 这样可以保证前后循序,处理程序 根据这个标签来 可以判断 第一句话是哪个,第二句话是哪个。
谢谢你的回答。我研究研究。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants