科大讯飞开放平台、SDK下载、添加静态库、初始化见UI进阶 科大讯飞(1) 语音听写(语音转换成文字)
实现语音合成
功能实现步骤:
- 导入头文件
- 创建文字识别对象
- 指定文字识别后的回调代理对象
- 开启文字识别功能
- 在回调方法中处理文字识别后返回的对象
文字合成中的参数:
代码展示:
1 //文字识别的回调方法接口 2 #import <iflyMSC/IFlySpeechSynthesizerDelegate.h> 3 4 //文字识别对象 5 #import <iflyMSC/IFlySpeechSynthesizer.h> 6 7 //科大讯飞语音框架定义的常量 8 #import <iflyMSC/IFlySpeechConstant.h> 9 10 // 遵循协议 11 @interface SecondViewController ()<IFlySpeechSynthesizerDelegate> 12 /// 文字显示 13 @property (weak, nonatomic) IBOutlet UITextView *wordTextView; 14 15 /// 文字识别 16 @property (nonatomic, strong) IFlySpeechSynthesizer *synthesizer; 17 @end 18 19 @implementation SecondViewController 20 21 - (void)viewDidLoad { 22 [super viewDidLoad]; 23 self.synthesizer = [IFlySpeechSynthesizer sharedInstance]; 24 self.synthesizer.delegate = self; 25 26 //设置文字识别对象的关键属性 27 //设置语音合成的参数 28 //语速,取值范围 0~100 29 [self.synthesizer setParameter:@"50" forKey:[IFlySpeechConstant SPEED]]; 30 //音量;取值范围 0~100 31 [self.synthesizer setParameter:@"50" forKey:[IFlySpeechConstant VOLUME]]; 32 //发音人,默认为”xiaoyan”;可以设置的参数列表可参考个性化发音人列表 33 [self.synthesizer setParameter:@"XIAOYAN" forKey:[IFlySpeechConstant VOICE_NAME]]; 34 //音频采样率,目前支持的采样率有 16000 和 8000 35 [self.synthesizer setParameter:@"8000" forKey:[IFlySpeechConstant SAMPLE_RATE]]; 36 //asr_audio_path保存录音文件路径,如不再需要,设置value为nil表示取消,默认目录是documents 37 [self.synthesizer setParameter:@"tts.pcm" forKey:[IFlySpeechConstant TTS_AUDIO_PATH]]; 38 39 [self.synthesizer setParameter:@"custom" forKey:[IFlySpeechConstant PARAMS]]; 40 41 } 42 #pragma mark - 文字转换成语音 43 - (IBAction)recognize:(UIButton *)sender { 44 // 启动合成会话 45 [self.synthesizer startSpeaking:self.wordTextView.text]; 46 47 } 48 49 50 /** 51 * 结束回调 52 * 当整个合成结束之后会回调此函数 53 * 54 * @param error 错误码 55 */ 56 - (void) onCompleted:(IFlySpeechError*) error { 57 58 } 59 60 @end