簡體   English   中英

OpenEars語音識別將其他單詞識別為正確的單詞

[英]OpenEars speech recognition detecting other words as correct ones

我在我的應用程序中使用OpenEars框架來檢測語音識別。 這個想法是聽一些單詞,然后根據所說的單詞執行一些動作。 好了,識別工作和單詞都被檢測到了,但是問題是使用“ SNAPPIE”一詞時我遇到了一些問題-聽起來不像它的其他單詞也被識別為“ SNAPPIE”,即使我咳嗽了。 這是我用來設置偵聽器的一段代碼:

private func setupOpenEars() {

    _openEarsEventsObserver = OEEventsObserver()
    _openEarsEventsObserver.delegate = self

    OEPocketsphinxController.sharedInstance().disablePreferredBufferSize = true

    do {
      try OEPocketsphinxController.sharedInstance().setActive(true)
    } catch let error {
      print("There was an error setting Pocketsphinx as active: \(error.localizedDescription)")
    }

    let grammarDictionary = ["ThisCanBeSaidOnce": [ "SNAPPIE", "TAKE SNAPSHOT" ]]
    let languageModelGenerator = OELanguageModelGenerator()
    let fileName = "FirstOpenEarsDynamicLanguageModel"
    let error = languageModelGenerator.generateGrammar(from: grammarDictionary, withFilesNamed: fileName, forAcousticModelAtPath: OEAcousticModel.path(toModel: "AcousticModelEnglish"))

    if let languageError = error {
      print("Dynamic language generator reported error: \(languageError.localizedDescription)")
    } else {
      _pathToGeneratedLanguageModel = languageModelGenerator.pathToSuccessfullyGeneratedLanguageModel(withRequestedName: fileName)
      _pathToGeneratedDictionary = languageModelGenerator.pathToSuccessfullyGeneratedDictionary(withRequestedName: fileName)
    }

    _correctPathToMyLanguageModelFile = "\(NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)[0])/\(fileName).gram"
    OEPocketsphinxController.sharedInstance().vadThreshold = 3.5
  }

是否可能因為“ SNAPPIE”實際上不是“有效”字詞而引起問題?

您可以使用任何在線隨機單詞生成器工具創建單詞的隨機列表,然后將要識別的特定關鍵字附加到詞匯表中。 這將改善您對特定關鍵字的識別。 盡管您仍然需要將假設文本與關鍵字列表進行比較,但是大多數情況下解決方案已經足夠好了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM