如何检测是不是在语音到文本(Unity IBM Watson sdk)中完成了句子检测?

Posted

技术标签:

【中文标题】如何检测是不是在语音到文本(Unity IBM Watson sdk)中完成了句子检测?【英文标题】:How to detect if a sentence detection is finished in speech-to-text (Unity IBM Watson sdk)?如何检测是否在语音到文本(Unity IBM Watson sdk)中完成了句子检测? 【发布时间】:2017-07-26 00:32:32 【问题描述】:

我想在每次完成检测句子时将句子发送到服务器。

例如,当它检测到我说“我该怎么做”时。我想将这句话发送到服务器。但是,每次尝试组成句子时都会调用以下方法。比如我说“How do I do”的时候,会打印出“how”、“how do”、“how do I do”,有什么地方可以知道一句话说完了吗?

private void OnRecognize(SpeechRecognitionEvent result)

    m_ResultOutput.SendData(new SpeechToTextData(result));

    if (result != null && result.results.Length > 0)
    
        if (m_Transcript != null)
             m_Transcript.text = "";

        foreach (var res in result.results)
        
            foreach (var alt in res.alternatives)
            
                string text = alt.transcript;

                if (m_Transcript != null)
                
                        //   print(text);

                        //m_Transcript.text += string.Format("0 (1, 2:0.00)\n",
                        //    text, res.final ? "Final" : "Interim", alt.confidence);

                        m_Transcript.text = text;
                
                   
           
    

【问题讨论】:

这似乎是在句被识别之后运行的代码,但您似乎需要识别方面的帮助?告诉我们这个事件是在哪里引发的! (免责声明:我不熟悉沃森认知) 【参考方案1】:

响应对象中有一个final 属性。

private void OnRecognize(SpeechRecognitionEvent result)

    m_ResultOutput.SendData(new SpeechToTextData(result));

    if (result != null && result.results.Length > 0)
    
        if (m_Transcript != null)
             m_Transcript.text = "";

        foreach (var res in result.results)
        
            foreach (var alt in res.alternatives)
            
                string text = alt.transcript;

                if (m_Transcript != null)
                
                    // print(text);

                    //m_Transcript.text += string.Format("0 (1, 2:0.00)\n",
                    //  text, res.final ? "Final" : "Interim", alt.confidence);

                    if(res.final)
                    
                        m_Transcript.text = text;
                        //  do something with the final transcription
                    
                
                   
           
    

【讨论】:

以上是关于如何检测是不是在语音到文本(Unity IBM Watson sdk)中完成了句子检测?的主要内容,如果未能解决你的问题,请参考以下文章

IBM 语音转文本 - 如何将 MP3 音频文件转换为字节数组

如何在网络上使用谷歌语音到文本

外语语音转文本和文本转语音

IBM Watson 语音到文本 API 中的 1006 错误代码

IBM沃森语音流不输出文本转

如何在基于 tensorflow lite 对象检测 android 的应用程序中添加文本转语音?