[英]SFSpeechRecognizer multiple languages
我正在構建一個支持語音識別並將語音轉換為文本的搜索,因此我正在使用SFSpeechRecognizer
。 但問題是我需要同時支持多種語言,例如 (" en_US
", " fr
", vi
, ar
)。
主要思想是,用戶可以說例如 1 個英語單詞和另一個法語單詞,我希望引擎檢測到這一點。
目前,我正在使用它來設置我的主要語言
英語:
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en_US"))!
法語:
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "fr"))!
我需要單獨設置每種語言。
有沒有辦法讓SFSpeechRecognizer
支持多種語言?
老問題,但還沒有答案......
您不能僅在一個SFSpeechRecognizeer
使用更多語言環境,但您可以同時管理多個SFSpeechRecognizer
,如下所示:
let italian = SFSpeechRecognizer(locale: Locale(identifier: "it-IT"))
let english = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))
為所有人設置委托:
italian.delegate = self
english.delegate = self
根據需要創建雙重、三重或多重邏輯,例如:
self.recognitionTaskOne = italian?.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in
// Your code
})
self.recognitionTaskTwo = english?.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in
// Your code
})
等等...
對於您的具體要求:
主要思想是,用戶可以說例如 1 個英語單詞和另一個法語單詞,我希望引擎檢測到這一點。
我擔心您需要處理所有輸出並進行比較。 無論如何,我注意到如果我設置了一個語言環境(例如意大利語)然后用戶說英語,系統也會得到一些英語。 這僅適用於英語...我不確定,但我想無論您設置什么語言環境,默認情況下總是可以理解英語。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.