iOS AVSpeechSynthesizer进行文字转语音

本文介绍了如何使用iOS 7中的AVSpeechSynthesizer API进行文字转语音。通过初始化语音合成器,设置识别语言和发音器,可以实现将文字转化为语音输出。提供了一个简单的SpeechController类的调用示例。
摘要由CSDN通过智能技术生成

AVSpeechSynthesizer是iOS 7在AVFoundation中新增的语音合成API。

文字转语音的大致识别过程是 文字 —> siri —> 后台云 —> Foundation

在使用AVSpeechSynthesizer前需要导入头文件#import <AVFoundation/AVFoundation.h>

1、初始化语音合成器(相当于说话的嘴巴)

AVSpeechSynthesizer *synthesizer = [AVSpeechSynthesizer new];

2、设置语音合成器可识别的语言(相当于说话的语言)

//语音合成器可识别的语言
_voices = @[[AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"],[AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"]];

3、设置语音发声器(相当于说话的舌头)

   AVSpeechUtterance *utt = [[AVSpeechUtterance alloc]initWithString:speechVoices[i]];
   //对舌头进行设置
   //设置声音是播放中文还是英文(单数播放英文,双数播放中文)
   utt.voice = self.voices[i%2];
   // 设置速率(0- 1)
   utt.rate = 0.4;
   // 设置音调(0-1)
   utt.pitchMultiplier = 0.8;
   // 设置延迟处理
   utt.postUtteranceDelay = 0.2;

  //说话
  [synthesizer speakUtterance:utt];

以上便是利用AVSpeechSynthesizer进行文字转语音的大致过程。

简单demo:
创建一个简单的语音识别类:
SpeechController.h

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
/**
 * 这是一个文本转语音的类
 */
@interface SpeechController : NSObject

// 创建一个语音合成器(嘴巴)
@property
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值