speech — iOS上的文本语音合成
speech
在iOS上提供语音合成和识别功能。
注意:语音识别要求系统至少为iOS 10版本。应为语音数据可能会被发送到Apple服务器进行处理,在你第一次调用
recognize()
函数的时候系统会自动弹出一个隐私警告。
示例
用不同语言朗读文本:
1 | import speech |
将麦克风录音识别为文本(使用sound.Recorder
):
1 | import speech |
函数
speech.get_synthesis_languages()
返回所有可用于语音合成的语言/本地识别器的列表。这有助于为say()
函数选择可用的language
参数。
speech.get_recognition_languages()
返回所有可用于语音识别的语言/本地识别器的列表。这有助于为recognize()
函数选择可用的language
参数。
speech.say(text[, language, rate])
使用系统中的一种文本朗读声音来朗读给定的text
文本。language
要选择一个 BCP-47语言或者本地代码,比如说’en-US
‘。如果language
参数没有给出将默认使用系统语言。
speech.stop()
停止语音合成。
speech.is_speaking()
如果语音合成器正在运行返回True
,否则返回False
。
speech.recognize(file_path[, language])
将给定的音频文件转换为文本。该音频文件长度不能超过一分钟。你可以使用sound.Recorder
类来从麦克风录制音频文件。
language
参数是可选的,并且应该给一个有效的本地识别器(比如de-DE
或者en-US
)——当前系统语言作为默认值。
返回值是一个翻译结果列表,按照可能性(置信度)排序。
列表中每一个翻译结果都是一个包含两个元素的元组:
- 全文以unicode编码的字符串
- 有关各个片段的详细信息(例如时间戳,置信度等),以字典列表的形式显示。
如果语音识别失败该函数将会抛出一个RuntimeError
异常。如果language
参数是无效的或者不支持的,将会抛出一个ValueError
异常,如果音频文件无法读取将会抛出一个IOError
异常。