趣文网,分享全网好句子、好文章!

iOS——转换文本到语音

时间:2023-06-23 07:14:01

相关推荐

iOS——转换文本到语音

语音合成框架管理iOS、tvOS和watchOS的语音和语音合成。(要在macOS中执行文本到语音的任务,请使用nsspeech合成器类。)合成语音需要两个主要步骤:

创建一个或多个avspeech hutterance对象,其中包含要说话的文本。可选地,为每个话语配置语音参数(如语音和速率)。

将话语传递给语音合成器对象以产生语音。可选地,使用该对象来控制或响应正在进行的语音。

AVSpeechUtterance

要讲的一大段文字,以及影响其语言的参数。

语音合成对象是语音合成的基本单元。

要合成语音,你必须:

创建一个avspeech hutterance实例,其中包含要说出的文本。(参见创造话语。)

(可选)更改其声音(包括使用的语言)、速率或其他参数。(参见配置话语。)

将语音传递给avspeech合成器实例以开始语音(或者如果合成器已经在说话,则将稍后要说出的语音编入队列)。

您可以选择是否以及如何将正文分割为多个话语。因为话语可以控制语音参数,所以可以将文本分割成需要不同参数的部分。例如,你可以通过增加音高和降低相对于其他话语的语速来强调一个句子,或者你可以通过将每个句子放在一个具有前置或后置延迟的话语中来引入句子之间的停顿。因为语音合成器在它开始或结束讲话时向它的委托发送消息,所以您可以为更长的文本中的每个有意义的单元创建一个讲话,以便在它的讲话进行时得到通知。

创建一个话语

- initWithString:用要讲的文本初始化话语对象。

+ speechUtteranceWithString:创建一个话语对象,其中包含要讲的文本。

- initWithAttributedString:

+ speechUtteranceWithAttributedString:

AVSpeechSynthesisIPANotationAttribute

配置话语的演讲

pitchMultiplier发出声音的基线音高。

postUtteranceDelay语音合成器在发出语音后等待处理下一个排队的语音的时间。

preUtteranceDelay语音合成器在处理语音之前等待的时间。

rate发出声音的速度。

voice说话的声音。

volume发音时使用的音量。

AVSpeechSynthesisVoice

在语音合成中使用的独特的声音。

在语音合成中,声音主要由语言、场所和质量来区分。使用这个类来选择适合要讲的文本语言的声音,或选择显示该语言的特定本地变体的声音(如澳大利亚或南非英语)。

要选择语音用于语音,使用查找语音的方法之一获取avspeech合成器语音实例,然后将其设置为包含要语音的文本的avspeech hutterance实例上的voice属性的值。有关受支持语言的完整列表,请参见VoiceOver支持的语言。

发现声音

+ voiceWithIdentifier:返回指定标识符的语音对象。

+ voiceWithLanguage:返回指定语言和区域设置的voice对象。

+ speechVoices返回所有可用的声音。

AVSpeechSynthesisVoiceIdentifierAlex这个声音物体被确认为Alex。

AVSpeechSynthesizer

一种从文本话语中产生合成语音的对象,并为监控正在进行的语音提供控制。

avspeech合成器类在iOS设备上从文本生成合成语音,并提供控制或监视正在进行的语音的进展的方法。

要说出一定数量的文本,您必须首先创建一个包含文本的avspeech hutterance实例。(您还可以选择使用utterance对象来控制影响其语音的参数,如语音、音调和速率。)然后,将其传递给speakUtterance:语音合成器实例上的方法来说出该语音。

语音合成器维护要发出的话语的队列。如果合成器当前没有说话,调用speakUtterance:立即开始说话(或开始等待通过它的preUtteranceDelay,如果设置了一个)。如果合成器正在说话,则将话语添加到队列中,并按接收它们的顺序说话。

语音开始后,您可以使用合成器对象来暂停或停止语音。讲话停顿后,可以从中断的地方继续下去;完全停止语音,从合成器队列中删除任何尚未发出的语音。

您可以通过检查语音合成器的说话和暂停属性,或通过设置委托来监视语音合成器。AVSpeechSynthesizerDelegate协议中的消息是作为语音合成过程中发生的重要事件发送的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
显示评论内容(1)
  1. 萧萧,暮雨2023-10-13 21:27萧萧,暮雨[陕西省网友]223.255.45.208
    这个功能在我学习英语的时候帮助我很多,可以方便地将英文文本转换成语音,方便我跟着音频学习发音。
    顶9踩0
相关阅读
为啥背课文咱也不知道啊!网友:为啥你可以发语音?

为啥背课文咱也不知道啊!网友:为啥你可以发语音?

因为英语是一门语言学科,单词是英语的基础,语法是英语的纽带,句子是英语的形式

2023-06-23

汉语拼音f音常见语音障碍类型及矫正技术和方法

汉语拼音f音常见语音障碍类型及矫正技术和方法

实践中常见的类型,是声母f发不出来,只能发出f音后面的韵母字音来,如把发fa,发成啊a等

2023-06-15

开心一笑:半夜给前任发语音 手一抖发给了夫人 当时……

开心一笑:半夜给前任发语音 手一抖发给了夫人 当时……

一个平时很少说话的学生这回举起手来,于是表妹让他回答

2023-06-23

那些刻在DNA里的课文……太真实了 你怎么能发语音呢!

那些刻在DNA里的课文……太真实了 你怎么能发语音呢!

学生时期逃不掉的早读和晚自习大家都用来干什么了?偷偷吃掉没来得及吃完的早餐、补完下节课要检查的作业,咬牙切齿地跟语文课本上建议熟读并背诵全文的

2023-06-23

知道了这些以后 英语发音再也不是问题

知道了这些以后 英语发音再也不是问题

而清楚的发音能带来什么好处呢?如下:1、发音正确能够帮助我们记住英语单词

2023-05-30