上云无忧 > 文档中心 > 百度智能云离线语音合成 IOS-SDK 参数及完整示例
离线语音合成
百度智能云离线语音合成 IOS-SDK 参数及完整示例

文档简介:
参数及完整示例: BDSSpeechSynthesizerParams.h 文件中包含了各类参数的使用说明,如果开发者想寻找一些功能的设置办法,请浏览该文件中的相关参数说明。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

参数及完整示例

BDSSpeechSynthesizerParams.h 文件中包含了各类参数的使用说明,如果开发者想寻找一些功能的设置办法,请浏览该文件中的相关参数说明

语音合成器参数

合成参数

百度语音合成支持的参数用BDSSynthesizerParamKey类型表示,具体如下:

参数 含义
BDS_SYNTHESIZER_PARAM_SPEED 语速(如现有语速不能满足,需更高语速可提交需求工单或联系商务同学申请)
BDS_SYNTHESIZER_PARAM_PITCH 音调
BDS_SYNTHESIZER_PARAM_VOLUME 音量
BDS_SYNTHESIZER_PARAM_PID 产品号
BDS_SYNTHESIZER_PARAM_LANGUAGE 语言
BDS_SYNTHESIZER_PARAM_TEXT_ENCODE 文本编码类型
BDS_SYNTHESIZER_PARAM_AUDIO_ENCODING 音频编码类型
BDS_SYNTHESIZER_PARAM_SPEAKER 发音人
在线基础:0(普通女声)
1(普通男声)
3(磁性男声<度逍遥>)
4(可爱童声<度丫丫>)
在线精品:106(情感男声<度博文>)
110 (活泼童声<度小童>)
111 (可爱童声<度小萌>)
103(可爱童声<度米朵>)
5(情感女声<度小娇>)
5118(甜美女声<度小鹿>)
5003(磁性男声<度逍遥(精品)>)
BDS_SYNTHESIZER_PARAM_USER_AGENT UA
BDS_SYNTHESIZER_PARAM_ONLINE_REQUEST_TIMEOUT 超时时间
BDS_SYNTHESIZER_PARAM_ETTS_AUDIO_FORMAT 音频格式
BDS_SYNTHESIZER_PARAM_ETTS_VOCODER_OPTIM_LEVEL 合成引擎速度优化等级
BDS_SYNTHESIZER_PARAM_SYNTH_STRATEGY 合成策略

语音合成文本语言

语音合成文本语言用BDSSynthesizerLanguages类型表示,具体如下:

参数 含义
BDS_SYNTHESIZER_LANGUAGE_ZH 中文
BDS_SYNTHESIZER_LANGUAGE_EN 英文

语音合成文本编码格式

语音合成文本编码格式用BDSSynthesizerTextEncodings类型表示,具体如下:

参数 含义
BDS_SYNTHESIZER_TEXT_ENCODE_GBK GBK编码
BDS_SYNTHESIZER_TEXT_ENCODE_BIG5 大五码编码
BDS_SYNTHESIZER_TEXT_ENCODE_UTF8 UTF8编码

语音合成音频编码格式

不支持 mp3,支持AMR、OPUS。 语音合成音频编码格式用BDSSynthesizerAudioEncoding类型表示,具体如下:

参数 含义
BDS_SYNTHESIZER_AUDIO_ENCODE_BV_16K bv 16k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_6K6 amr 6.6k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_8K85 amr 8.85k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_12K65 amr 12.65k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_14K25 amr 14.25k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_15K85 amr 15.85k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_18K25 amr 18.25k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_19K85 amr 19.85k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_23K05 amr 23.05k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_AMR_23K85 amr 23.85k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_OPUS_8K opus 8k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_OPUS_16K opus 16k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_OPUS_18K opus 18k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_OPUS_20K opus 20k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_OPUS_24K opus 24k比特率
BDS_SYNTHESIZER_AUDIO_ENCODE_OPUS_32K opus 32k比特率

关于AVAudioSession

SDK默认会将AudioSession的Category设置为AVAudioSessionCategoryPlayback,并在必要的时候调用setActive接口对外部音频进行打断及恢复,如果开发者不希望SDK对AudioSession进行操作自己管理,可以通过参数配置接口,把BDS_SYNTHESIZER_PARAM_ENABLE_AVSESSION_MGMT对应的value设置为NO,即可屏蔽SDK内部的操作,按照需求,设置BDS_SYNTHESIZER_PARAM_AUDIO_SESSION_CATEGORY_OPTIONS自行配置AudioSession。


完整示例

语音合成完整示例

-(void)configureOnlineTTS{
    
    [[BDSSpeechSynthesizer sharedInstance] setApiKey:API_KEY withSecretKey:SECRET_KEY];
    
    [[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[BDSSpeechSynthesizer sharedInstance] setSynthParam:@(0) forKey:BDS_SYNTHESIZER_PARAM_SPEAKER];
    
}

-(void)configureOfflineTTS{
    
    NSError *err = nil;
    // 在这里选择不同的离线音库(请在XCode中Add相应的资源文件),同一时间只能load一个离线音库。
根据网络状况和配置,SDK可能会自动切换到离线合成。
    NSString* offlineEngineSpeechData = [[NSBundle mainBundle] pathForResource:
@"Chinese_And_English_Speech_Female" ofType:@"dat"];
    
    NSString* offlineChineseAndEnglishTextData = [[NSBundle mainBundle]
 pathForResource:@"Chinese_And_English_Text" ofType:@"dat"];
    
    err = [[BDSSpeechSynthesizer sharedInstance] loadOfflineEngine:offlineChi
neseAndEnglishTextData speechDataPath:offlineEngineSpeechData licenseFilePath:nil withAppCode:APP_ID];
    if(err){
        [self displayError:err withTitle:@"Offline TTS init failed"];
        return;
    }
    [TTSConfigViewController loadedAudioModelWithName:@"Chinese female" forLanguage:@"chn"];
    [TTSConfigViewController loadedAudioModelWithName:@"English female" forLanguage:@"eng"];
}

-(void)test : {
    	// 获得合成器实例
    [[BDSSpeechSynthesizer sharedInstance] setSynthesizerDelegate:self];
	
	// 设置委托对象
	[[BDSSpeechSynthesizer sharedInstance] setSynthesizerDelegate:self];
	
	// 开始合成并播放
	NSError* speakError = nil;
	if([[BDSSpeechSynthesizer sharedInstance] speakSentence:@"您好" withError:&speakError] == -1){
		// 错误
		NSLog("错误: %ld, %@", (long)speakError.code, speakError.localizedDescription);
	}
	if([[BDSSpeechSynthesizer sharedInstance] speakSentence:@"今天天气真不错" withError:&speakError] == -1){
		// 错误
		NSLog("错误: %ld, %@", (long)speakError.code, speakError.localizedDescription);
	}
	if([[BDSSpeechSynthesizer sharedInstance] speakSentence:@"Today's weather 
is really good!" withError:&speakError] == -1){
		// 错误
		NSLog("错误: %ld, %@", (long)speakError.code, speakError.localizedDescription);
	}
}
	
	
	- (void)synthesizerStartWorkingSentence:(NSInteger)SynthesizeSentence
{
    NSLog(@"Began synthesizing sentence %ld", (long)SynthesizeSentence);
}

- (void)synthesizerFinishWorkingSentence:(NSInteger)SynthesizeSentence
{
    NSLog(@"Finished synthesizing sentence %ld", (long)SynthesizeSentence);
}

- (void)synthesizerSpeechStartSentence:(NSInteger)SpeakSentence
{
    NSLog(@"Began playing sentence %ld", (long)SpeakSentence);
}

- (void)synthesizerSpeechEndSentence:(NSInteger)SpeakSentence
{
    NSLog(@"Finished playing sentence %ld", (long)SpeakSentence);
}

相似文档
  • 接口描述: 实时语音翻译api采用websocket协议的连接方式,能够将音频流实时识别为文字,支持智能断句,实时输出带有标点的语音识别结果和翻译结果,支持45个语种的识别和相互翻译。
  • 接口描述: 该请求用于通用物体及场景识别,即对于输入的一张图片(可正常解码,且长宽比适宜),输出图片中的多个物体及场景标签。 在线调试: 您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
  • Hi,您好,欢迎使用百度图像识别API服务。 本文档主要针对API开发者,描述百度图像识别接口服务的相关技术内容。如果您对文档内容有任何疑问,可以通过以下几种方式联系我们: 在百度智能云控制台内提交工单;进入AI社区交流 ;提交合作咨询
  • 调用AI服务相关的API接口有两种调用方式,两种不同的调用方式采用相同的接口URL。 区别在于请求方式和鉴权方法不一样,请求参数和返回结果一致。 调用方式一: 请求URL数据格式: 向API服务地址使用POST发送请求,必须在URL中带上参数: access_token: 必须参数,参考“Access Token获取”。
  • 接口描述: 提供一个API接口,同时调用多个模型服务。支持图像识别的多个接口:通用物体和场景识别、图像单主体检测、动物识别、植物识别、果蔬识别、自定义菜品识别-检索、菜品识别、红酒识别、货币识别、地标识别、图像多主体检测等12个模型服务的调用。可通过入参灵活指定需要调用的模型服务,传入图像,返回指定模型的识别结果。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部