int main(int argc, char* argv[])
{
	///APPID请勿随意改动
	const char* login_configs = " appid = 55dbb5fb, work_dir =   .  ";
	const char* text  = "讯飞语音,沟通无限。";
	const char*  filename = "text_to_speech_test_withspeechmark.pcm";
	const char* param = "aue = speex-wb;3, vcn=xiaoyan, spd = 5, vol = 5, tte = utf8, smk=3";//带参数smk=3,获取详细的语音标注,json格式,请自行解析
	int ret = 0;
	char key = 0;

	//用户登录
	ret = MSPLogin(NULL, NULL, login_configs);
	if ( ret != MSP_SUCCESS )
	{
		printf("MSPLogin failed , Error code %d.\n",ret);
	}
	//音频合成
	ret = text_to_speech(text,filename,param);
	if ( ret != MSP_SUCCESS )
	{
		printf("text_to_speech: failed , Error code %d.\n",ret);
	}
	//退出登录
        MSPLogout();
	return 0;
}
Exemple #2
0
int main(int argc, char* argv[])
{
	///APPID请勿随意改动
	const char* login_configs = " appid = 5392db98, work_dir =   .  ";
	const char* text  = "10086";
	const char*  filename = "text_to_speech_withnumber_test.pcm";
	const char* param = "aue = speex-wb;3, vcn=xiaoyan, spd = 50, vol = 50, tte = utf8, rdn = 2";
	int ret = 0;
	char key = 0;

	//用户登录
	ret = MSPLogin(NULL, NULL, login_configs);
	if ( ret != MSP_SUCCESS )
	{
		printf("MSPLogin failed , Error code %d.\n",ret);
	}
	//音频合成
	ret = text_to_speech(text,filename,param);
	if ( ret != MSP_SUCCESS )
	{
		printf("text_to_speech: failed , Error code %d.\n",ret);
	}
	//退出登录
        MSPLogout();
	return 0;
}
int main(int argc, char* argv[])
{
	///APPID请勿随意改动
	const char* login_configs = " appid = 55dbb5fb, work_dir =   .  ";
	const char* text  = "10086";
	const char*  filename = "text_to_speech_withnumber_test.pcm";
	const char* param = "aue = speex-wb,auf=audio/L16;rate=16000, vcn=xiaoyan, spd = 5, vol = 5, tte = utf8, rdn = 2";//8k音频合成参数:aue=speex,auf=audio/L16;rate=8000,其他参数意义参考参数列表
	int ret = 0;
	char key = 0;

	//用户登录
	ret = MSPLogin(NULL, NULL, login_configs);
	if ( ret != MSP_SUCCESS )
	{
		printf("MSPLogin failed , Error code %d.\n",ret);
	}
	//音频合成
	ret = text_to_speech(text,filename,param);
	if ( ret != MSP_SUCCESS )
	{
		printf("text_to_speech: failed , Error code %d.\n",ret);
	}
	//退出登录
        MSPLogout();
	return 0;
}
Exemple #4
0
int _tmain(int argc, _TCHAR* argv[])
{
	///APPID请勿随意改动
	const char* m_configs = "appid=52d8f781";
	const char* text1  = "讯飞语音,沟通无限。";
	const char*  filename1 = "text_to_speech_test_1.wav";
	const char* param1 = "ssm=1,auf=audio/L16;rate=16000,vcn=xiaoyan";
	const char* text2  = "欢迎使用,安徽科大讯飞信息科技股份有限公司,云语音合成。";
	const char*  filename2 = "text_to_speech_test_2.wav";
	const char* param2 = "ssm=1,auf=audio/L16;rate=16000,vcn=xiaoyu";
	int ret = 0;
	char key = 0;

	//引擎初始化
	ret = QTTSInit( m_configs);
	if ( ret != MSP_SUCCESS )
	{
		printf("QTTSInit: failed, Error code %d.\n", ret);
		key = _getch();
		return ret;
	}
	//合成文本
	ret = text_to_speech(text1,filename1,param1);
	if ( ret != MSP_SUCCESS )
	{
		printf("text_to_speech: failed , Error code %d.\n",ret);
	}
	ret = text_to_speech(text2,filename2,param2);
	if ( ret != MSP_SUCCESS )
	{
		printf("text_to_speech: failed , Error code %d.\n",ret);
	}
	//引擎关闭
	ret = QTTSFini();
	if ( ret != MSP_SUCCESS )
	{
		printf("QTTSFini: failed , Error code %d.\n",ret);
	}
	else
	{
		printf("Complete!\nPress any key to exit.\n");
	}
	key = _getch();
	return 0;
}
Exemple #5
0
int main(int argc, char* argv[])
{
    if(argc != 3)
    {
        printf("usage: ./tts_sample \"hello world\" hello.wav\n");
        return -1;
    }

    int         ret                  = MSP_SUCCESS;
    const char* login_params         = "appid = 568a1829, work_dir = .";//登录参数,appid与msc库绑定,请勿随意改动
    /*
    * rdn:           合成音频数字发音方式
    * volume:        合成音频的音量
    * pitch:         合成音频的音调
    * speed:         合成音频对应的语速
    * voice_name:    合成发音人
    * sample_rate:   合成音频采样率
    * text_encoding: 合成文本编码格式
    *
    * 详细参数说明请参阅《iFlytek MSC Reference Manual》
    */
    const char* session_begin_params = "voice_name = xiaoyan, text_encoding = UTF8, sample_rate = 16000, speed = 30, volume = 50, pitch = 50, rdn = 2";
    const char* filename             = argv[2]; //合成的语音文件名称
    const char* text                 = argv[1]; //合成文本

    /* 用户登录 */
    ret = MSPLogin(NULL, NULL, login_params);//第一个参数是用户名,第二个参数是密码,第三个参数是登录参数,用户名和密码可在http://open.voicecloud.cn注册获取
    if (MSP_SUCCESS != ret)
    {
        printf("MSPLogin failed, error code: %d.\n", ret);
        goto exit ;//登录失败,退出登录
    }
    printf("\n###########################################################################\n");
    printf("## 语音合成(Text To Speech,TTS)技术能够自动将任意文字实时转换为连续的 ##\n");
    printf("## 自然语音,是一种能够在任何时间、任何地点,向任何人提供语音信息服务的  ##\n");
    printf("## 高效便捷手段,非常符合信息时代海量数据、动态更新和个性化查询的需求。  ##\n");
    printf("###########################################################################\n\n");
    /* 文本合成 */
    printf("开始合成 ...\n");
    ret = text_to_speech(text, filename, session_begin_params);
    if (MSP_SUCCESS != ret)
    {
        printf("text_to_speech failed, error code: %d.\n", ret);
    }
    printf("合成完毕\n");

exit:
    printf("按任意键退出 ...\n");
    getchar();
    MSPLogout(); //退出登录

    return 0;
}
Exemple #6
0
void play(const char *string,const char *filename)
{
	const char* login_configs = " appid = 55801297, work_dir =	 .	";
	const char* text  = "科大讯飞作为中国最大的智能语音技术提供商,在智能语音技术领域有着长期的研究积累,并在中文语音合成、语音识别、口语评测等多项技术上拥有国际领先的成果。";
	const char* param = "vcn=xiaoyan,aue = speex-wb,auf=audio/L16;rate=16000,spd = 5,vol = 5,tte = utf8";//8k音频合成参数:aue=speex,auf=audio/L16;rate=8000,其他参数意义参考参数列表
	int ret = 0;
	char key = 0;

	ret = MSPLogin(NULL, NULL, login_configs);
	if ( ret != MSP_SUCCESS )
	{
		printf("MSPLogin failed , Error code %d.\n",ret);
	}
	ret = text_to_speech(string,filename,param);
	if ( ret != MSP_SUCCESS )
	{
		printf("text_to_speech: failed , Error code %d.\n",ret);
	}
	MSPLogout();
}
Exemple #7
0
int main(int argc, char *argv[]) 
{
    byte *buf = NULL;
    int len = 0;
    int fn;
    byte ret = 0;

#ifdef DEBUG
    fp = fopen("/opt/kazoo/xf.log", "a+");
#endif

    while ((len = read_cmd(&buf)) > 0){
        fn = buf[0];
        debug("cmd %d", fn);
        if (fn == CMD_TTS) {
            if ((ret = text_to_speech(buf+1, len-1)) != 0) {
               write_cmd(&ret, sizeof(ret)); 
            }
        }
        else if (fn == CMD_SET_LOGIN_CONFIG) {
            ret = set_login_config(buf+1, len-1);
            write_cmd(&ret, sizeof(ret)); 
        }
        else if (fn == CMD_SET_TTS_PARAMS) {
            ret = set_tts_params(buf+1, len-1);
            write_cmd(&ret, sizeof(ret)); 
        }
        else {
            debug("unknown cmd %d", fn);
            exit(EXIT_FAILURE);
        }

        free(buf);
    }
    debug("exiting");
#ifdef DEBUG
    fclose(fp);
#endif
}
Exemple #8
0
int text2wav(char* text)
{
	int         ret                  = MSP_SUCCESS;
	const char* login_params         = "appid = 573b34ce, work_dir = .";//登录参数,appid与msc库绑定,请勿随意改动
	/*
	* rdn:           合成音频数字发音方式
	* volume:        合成音频的音量
	* pitch:         合成音频的音调
	* speed:         合成音频对应的语速
	* voice_name:    合成发音人
	* sample_rate:   合成音频采样率
	* text_encoding: 合成文本编码格式
	*
	* 详细参数说明请参阅《iFlytek MSC Reference Manual》
	*/
	const char* session_begin_params = "voice_name = xiaoyan, text_encoding = UTF8, sample_rate = 16000, speed = 50, volume = 50, pitch = 50, rdn = 0";
	const char* filename             = "tts.wav"; //合成的语音文件名称
	
	/* 用户登录 */
	ret = MSPLogin(NULL, NULL, login_params);//第一个参数是用户名,第二个参数是密码,第三个参数是登录参数,用户名和密码可在http://open.voicecloud.cn注册获取
	if (MSP_SUCCESS != ret)
	{
		printf("MSPLogin failed, error code: %d.\n", ret);
		return 1;
	}
	/* 文本合成 */
	printf("开始合成 ...\n");
	ret = text_to_speech(text, filename, session_begin_params);
	if (MSP_SUCCESS != ret)
	{
		printf("text_to_speech failed, error code: %d.\n", ret);
	}
	printf("合成完毕\n");

	MSPLogout(); //退出登录
	return 0;
}
Exemple #9
0
/* 回调函数 */
void chatterCallback(const cob_perception_msgs::DetectionArray &face_position_msg_out)
{	
	int         ret                  = MSP_SUCCESS;
	const char* login_params         = "appid = 56f0f034, work_dir = .";//登录参数,appid与msc库绑定,请勿随意改动
	const char* session_begin_params = "voice_name = xiaoyan, text_encoding = UTF8, sample_rate = 16000, speed = 50, volume = 50, pitch = 50, rdn = 2";
	const char* filename             = "/home/exbot/catkin/src/audio_common/sound_play/sounds/name.wav"; //合成的语音文件名称+路径

	ros::NodeHandle nh;
	ros::Publisher chatter_pub = nh.advertise<std_msgs::String>("voice",10);
	//ros::Rate loop_rate(0.2);//循环频率为0.2Hz

	for (int i=0; i<(int)face_position_msg_out.detections.size(); i++)
	{
		ROS_INFO("I see: %s",face_position_msg_out.detections[i].label.c_str());
		//读取文本转语音
		char* text = new char[500];
		FILE* fp=fopen("/home/exbot/catkin/src/word/src/1.txt","r");
		text=fgets(text,500,fp);
		fclose(fp);
		fp=NULL;
		/* 用户登录 */
		ret = MSPLogin(NULL, NULL, login_params);//第一个参数是用户名,第二个参数是密码,第三个参数是登录参数,用户名和密码可在http://open.voicecloud.cn注册获取
		ret = text_to_speech(text, filename, session_begin_params);
		
		std_msgs::String msg;
		std::stringstream ss;
		ss<<"hello!";
		msg.data = ss.str();
		ROS_INFO("%s",msg.data.c_str());//输出与printf和cout等同
		chatter_pub.publish(msg);//向话题chatter发布消息
		//loop_rate.sleep();
		ros::Duration(5.0).sleep();
		MSPLogout(); //退出登录
		
	}
}
Exemple #10
0
int main(int argc, char* argv[])
{
	int         ret                  = MSP_SUCCESS;

	//const char* login_params         = "appid = 574e69b2, work_dir = .";//登录参数,appid与msc库绑定,请勿随意改动


	/*
	* rdn:           合成音频数字发音方式
	* volume:        合成音频的音量
	* pitch:         合成音频的音调
	* speed:         合成音频对应的语速
	* voice_name:    合成发音人
	* sample_rate:   合成音频采样率
	* text_encoding: 合成文本编码格式
	*
	* 详细参数说明请参阅《iFlytek MSC Reference Manual》
	*/
	// const char* session_begin_params = "voice_name = xiaoyan, text_encoding = UTF8, sample_rate = 16000, speed = 50, volume = 50, pitch = 50, rdn = 2";
	// const char* filename             = "tts_sample.wav"; //合成的语音文件名称
	// const char* text                 = "亲爱的用户,您好,这是一个语音合成示例,感谢您对科大讯飞语音技术的支持!科大讯飞是亚太地区最大的语音上市公司,股票代码:002230"; //合成文本

	char login_params[1024];
	char session_begin_params[1024];
	char filename[512];
	char text[4096];

	int i;
	for (i = 0; i < argc; i++) {
		printf("%s\n", argv[i]);
	}

	if (argc<8) {
		printf("usage: THE_CMD appid speaker speed volume pitch filename \"text\"\n");
		return 1;
	}

	sprintf(login_params, "appid = %s, work_dir = .", argv[1]);

	sprintf(session_begin_params, "voice_name = %s, text_encoding = UTF8, sample_rate = 16000, speed = %s, volume = %s, pitch = %s, rdn = 2", argv[2], argv[3], argv[4], argv[5]);

	sprintf(filename, "%s", argv[6]);

	sprintf(text, "%s", argv[7]);

	printf("login     %s\n", login_params);
	printf("params    %s\n", session_begin_params);
	printf("filename  %s\n", filename);
	printf("text      %s\n", text);

	/* 用户登录 */
	ret = MSPLogin(NULL, NULL, login_params);//第一个参数是用户名,第二个参数是密码,第三个参数是登录参数,用户名和密码可在http://open.voicecloud.cn注册获取
	if (MSP_SUCCESS != ret)
	{
		printf("MSPLogin failed, error code: %d.\n", ret);
		goto exit ;//登录失败,退出登录
	}

	/* 文本合成 */
	printf("开始合成 ...\n");
	ret = text_to_speech(text, filename, session_begin_params);
	if (MSP_SUCCESS != ret)
	{
		printf("text_to_speech failed, error code: %d.\n", ret);
	}
	printf("合成完毕\n");

exit:

	MSPLogout(); //退出登录

	return 0;
}