【发布时间】:2019-09-27 10:39:36
【问题描述】:
我正在尝试在 webrtc 纯音频通话期间向移动应用程序中的文本识别器添加连续语音。
我在移动端使用 react native,带有react-native-webrtc module 和用于信令部分的自定义 Web api。我已经掌握了 web api,所以如果它是唯一的解决方案,我可以在它的一侧添加该功能,但我更喜欢在客户端执行它以避免在不需要时消耗带宽。
首先,我使用笔记本电脑浏览器工作并测试了一些想法。我的第一个想法是使用 webspeechapi 中的 SpeechRecognition 接口:https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition
我已将the audio only webrtc demo 与audiovisualiser demonstration 合并在一页中,但在那里,我没有找到如何将mediaElementSourceNode(通过streamvisualizer.js 第44 行的AudioContext.createMediaElementSource(remoteStream) 创建)连接到web_speech_api @987654333 @ 班级。在 mozilla 文档中,音频流似乎与类的构造函数一起提供,它可以调用 getUserMedia() api。
其次,在我的研究过程中,我发现了两个开源语音转文本引擎:cmusphinx 和 mozilla's deep-speech。第一个有一个js binding,看起来很棒audioRecoder,我可以在第一次尝试时用我自己的mediaElementSourceNode。但是,如何将它嵌入到我的反应原生应用程序中?
还有 Android 和 iOS 原生 webrtc 模块,我可能能够与 cmusphinx 平台特定绑定(iOS、Android)连接,但我不知道原生类的互操作性。你能帮我解决这个问题吗?
我还没有创建任何“语法”或定义“热词”,因为我不确定所涉及的技术,但如果我能够将语音识别引擎连接到我的音频流,我可以稍后再做。
【问题讨论】:
-
请问,你是怎么解决的?我正在做一个类似的项目,不知道如何将语音识别与网络通话结合起来,谢谢!
标签: react-native webrtc web-audio-api speech-to-text cmusphinx