语音识别

时间:2017-11-05 00:25:06

标签: javascript speech-recognition latin phonetics inflection

我正在努力获得我需要的拉丁语言识别能力。 。 。不是单词识别而是。 。 。 语音 - 元音和辅音识别(因为拉丁语只有40个声音,但超过40,000个单词x 60个平均结尾= 250万个单词形式)。问题是, 。 。 。只有Web Speech APIGoogle Cloud Speech只能以相似的听起来完整的单词开头(并且从英语语法开始,因为那里没有250万字的拉丁语语法),所以没有让我开始处理实际的语音声音的方式,特别是 WORD-STEM (单词的前半部分),它区分每个单词,而不是无用的单词结尾(对我说)它在句子中是如何运作的。理想情况下,我想要一个词干的语法,如

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

但是语音识别技术无法搜索到这一点 那么我在哪里可以获得语音识别?

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

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

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;                       
    }
};    

1 个答案:

答案 0 :(得分:0)

您可以使用创建SpeechGrammarList。另请参阅JSpeech Grammar Format

MDN

的示例说明和代码
  

Web Speech API的SpeechGrammarList接口代表一个   包含单词或单词模式的SpeechGrammar对象列表   我们希望识别服务能够识别。

     

使用JSpeech Grammar Format(JSGF。)定义语法。其他格式   也可能在未来得到支持。

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;