Espeak_tts.c 2.5 KB
#include <stdio.h>

#include "Megaphone/AudioFile/Megaphone_AudioFile.h"
#include "Megaphone/TTS/Megaphone_TTS.h"

#include "Intl_interface.h"
#include "version_choose.h"
#include "JZsdkLib.h"

T_JZsdkReturnCode Espeak_init()
{	
	char dict_path[]="/root";//设置资源库路径
	char wav_save_path[]="/root/sdcard/record/";//设置生成音频路径
	tts_init(dict_path,wav_save_path);//初始化
	printf("espeak_init\n");

	return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}

T_JZsdkReturnCode Espeak_tts(unsigned char *tts_words ,unsigned int len)
{
	int tts_speed = TTS_Get_speed();
	int tts_tone = TTS_Get_tone();

	struct JZTTSParam ttsparam;
	struct JZTTSVoice ttsvoice;//音色语言选择

	switch(tts_tone){
		case 0x41://俄 russian ru
			ttsvoice.name="russian";//音色名称
			ttsvoice.languages="ru";//使用语言字典
			printf("russian\n");
		break;
		
		case 0x42://法 french fr-fr
			ttsvoice.name="french";//音色名称
			ttsvoice.languages="fr-fr";//使用语言字典	
			printf("french\n");
		break;
		
		case 0x43://德 german de
			ttsvoice.name="german";//音色名称
			ttsvoice.languages="de";//使用语言字典	
			printf("german\n");
		break;
		
		case 0x44://韩 ko
			ttsvoice.name="russian";//音色名称
			ttsvoice.languages="ru";//使用语言字典	
			printf("ko\n");
		break;
		
		case 0x45://意大利 italian it
			ttsvoice.name="italian";//音色名称
			ttsvoice.languages="it";//使用语言字典	
			printf("italian\n");
		break;
		
		case 0x46://波兰 polish pl
			ttsvoice.name="polish";//音色名称
			ttsvoice.languages="pl";//使用语言字典	
			printf("polish\n");
		break;
	
		case 0x47://西班牙 spanish es
			ttsvoice.name="spanish";//音色名称
			ttsvoice.languages="es";//使用语言字典	
			printf("spanish\n");
		break;
		
		case 0x48://葡萄牙 portugal pt-pt
			ttsvoice.name="portugal";//音色名称
			ttsvoice.languages="pt-pt";//使用语言字典	
			printf("portugal\n");
		break;
		
		default:
			ttsvoice.name="russian";//音色名称
			ttsvoice.languages="ru";//使用语言字典
			printf("russian\n");
		break;
	}

	tts_setVoice(ttsvoice);//设置音色语言
	ttsparam.speed = tts_speed*2.26; //设置语速
	ttsparam.pitch=80;//设置语调
	ttsparam.wordGap=0;//设置单词间隙

	printf("语速%d\n",ttsparam.speed);

	tts_setParam(ttsparam);
	char tts_filename[]="IntlTTS.wav";

	//生成播放的文件
	tts_speak(tts_words,tts_filename);

	Megaphone_RecordFile_Play("IntlTTS.wav", strlen("IntlTTS.wav"));

	return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}