首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语音识别

语音识别
EN

Stack Overflow用户
提问于 2017-11-05 00:25:05
回答 1查看 1.8K关注 0票数 0

我在努力获得拉丁语的认可,这是我需要的。。。不是文字识别而是。。。phonetic-vowel-and-consonant-recognition (因为拉丁语只有40种发音,但超过40,000字x60个音)。结尾=250万个字形)。问题是。。。Web语音API谷歌云语音的开头都是听起来很相似的完整单词(也来自英语语法,因为那里没有250万个单词的拉丁语语法),所以我没有办法着手处理实际的语音,尤其是单词--STEM(单词的前半部分),它区分每个单词,而不是单词--结束(对我来说)无益地告诉它在句子中的作用。理想情况下,我希望有一个词干语法,例如

  • "am-“( amo,amare,amavi,amatus等的缩写),
  • "vid-“(视频、videre、vidi、visus等的缩写),
  • "laet-“( laetus,laeta,laetum等的缩写)
  • 等。

但语音识别技术无法搜索到这一点。

那么我在哪里可以获得语音识别呢?

我更喜欢jS、pHp或Node,最好是客户端,而不是流。

到目前为止,这是我的代码,用于Web语音API。关键是console.log(),它显示了我试图挖掘每个返回的可能单词的属性:

代码语言:javascript
复制
speech.onresult = function(event) { 
    var interim_transcript = '';
    var final_transcript = '';

    for (var i = event.resultIndex; i < event.results.length; ++i) { 
        if (event.results[i].isFinal) { 
            final_transcript += event.results[i][0].transcript;

            // This console.log shows all 3 word-guess possibilities.
               console.log(event.results[i]);
                    //These console.logs show each individual possibility:
                     //console.log('Poss-1:'); console.log(event.results[i][0]);
                     //console.log('Poss-2:'); console.log(event.results[i][1]);
                     //console.log('Poss-3:'); console.log(event.results[i][2]);
            for (var a in event.results[i]) {
                for (var b in event.results[i][a]) {
                  /*This black-&-yellow console.log below shows me trying to dig into
                  each returned possibility's PROPERTIES, but alas, the only 
                  returned properties are 
                  (1) the transcript (i.e. the guessed word), 
                  (2) the confidence (i.e. the 0-to-1 likelihood of it being that word)
                  (3) the prototype 
                   */
                    console.log("%c Poss-"+a+" %c "+b+": "+event.results[i][a][b], 'background-color: black; color: yellow; font-size: 14px;', 'background-color: black; color: red; font-size: 14px;'); 
                }        
            }

      } 
    }
    if (action == "start") {
        transcription.value += final_transcript;
        interim_span.innerHTML = interim_transcript;                       
    }
};    
EN

回答 1

Stack Overflow用户

发布于 2017-11-05 00:36:06

您可以使用创建一个SpeechGrammarList。另见JSpeech语法格式

MDN中的示例描述和代码

Web的SpeechGrammarList接口表示包含单词或单词模式的SpeechGrammar对象列表,我们希望识别服务能够识别这些单词或模式。 语法是用JSpeech语法格式定义的。将来也可能支持其他格式。

代码语言:javascript
复制
var grammar = '#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;'
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47117007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档