如何在iOS SDK中使用语音识别?

45

我知道SIRI服务没有公共API,但是是否有简单语音识别的API呢?如果我有一个文本框,用户点击该文本框时会出现通常带有麦克风按钮的键盘,如果他按下该按钮,则语音被识别并转换为字符串对象?或者这个按钮可能是默认呈现的吗?


2
以下是两个语音 API,http://www.politepix.com/openears/ 和 http://www.ispeech.org/。 - Priyank Gandhi
1
请查看GIRI: https://github.com/jhurt/GIRI。免责声明:我是作者。 - Jason Hurt
3
苹果在iOS10中推出了语音识别功能 -> let recognizer = SFSpeechRecognizer() let request = SFSpeechURLRecognitionRequest(url: audioFileURL) recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in print (result?.bestTranscription.formattedString) }) - Tiago Almeida
1
@TiagoAlmeida,是的,但是你在这里放置的代码是针对已预先录制的音频文件的。 - Mrugesh Tank
@TiagoAlmeida:请参考http://mindbowser.com/blog/siri-speech-to-text/ 以获取更多信息。 - Vin
显示剩余4条评论
2个回答

43

有许多可用的库,您可以使用其中任何一个。

  1. OpenEars // 这是最好的库

  2. VocalKit (已弃用,推荐使用OpenEars)

  3. TTS
  4. iSpeech (非免费)

希望这能帮到您。

注意:

如果您下载OpenEars(它包含一个名为“OpenEarsSampleApp”的示例项目)@efimovD提到:

查看视图控制器中的代码,您将看到一个包含可能命令的数组。这个东西可以检测命令! 不是一些话语。 它会听并尝试将您所说的与数组中的单词进行比较


4
似乎openear的示范应用程序总是认为我在重复单词“GO”。完全失败。使用iOS 8.1.2系统的iPhone 6+。 - ruralcoder
1
TTS是用于语音识别还是仅用于文本转语音?如果仅用于后者,请从列表中删除它。 - rwitzel
哪一个最适合印度口音? - abh
我查看了文档并进行了编辑。TTS确实只能进行语音合成而不能进行语音识别。 - mike nelson
2
@ruralcoder 是的,这是因为你不理解它在做什么。检查视图控制器中的代码,你会看到一个可能命令的数组。这个东西是用来检测命令的!不是些闲谈。它会监听并尝试将你说的话与数组中的单词进行比较。最佳匹配会被显示出来。 - efimovdk
显示剩余3条评论

1

对于建议者,您不应该这样做,链接应该保持原样,因为读者可以理解他们要点击的位置。 - nicael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接