簡體   English   中英

SFSpeechRecognizer 多種語言

[英]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.

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