From: sckim Date: Sat, 6 Apr 2013 04:16:49 +0000 (+0900) Subject: [tizen_2.1] remove unuse lang and fix the language order X-Git-Tag: submit/tizen_2.1/20130424.234306~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c25d1ebb31185a2ecf40792ecd2a31183b267ec;p=platform%2Fcore%2Fuifw%2Flibttssmt.git [tizen_2.1] remove unuse lang and fix the language order Change-Id: I3d32d8870906ef835efc4ea951a75db1ff9455a3 --- diff --git a/lib/arm/libsmt.so b/lib/arm/libsmt.so index 20acfc8..87a4d5d 100755 Binary files a/lib/arm/libsmt.so and b/lib/arm/libsmt.so differ diff --git a/lib/i386/libsmt.so b/lib/i386/libsmt.so index e98c06b..230a716 100755 Binary files a/lib/i386/libsmt.so and b/lib/i386/libsmt.so differ diff --git a/packaging/libttssmt.spec b/packaging/libttssmt.spec index 2228d01..70401d2 100755 --- a/packaging/libttssmt.spec +++ b/packaging/libttssmt.spec @@ -6,7 +6,7 @@ Name: libttssmt Summary: Text To Speech smt plugin shared library -Version: 0.0.29 +Version: 0.0.30 Release: 1 Group: TO_BE/FILLED_IN License: TO_BE/FILLED_IN diff --git a/src/SMTApis.h b/src/SMTApis.h index b5406c1..0e4d1b7 100755 --- a/src/SMTApis.h +++ b/src/SMTApis.h @@ -23,6 +23,7 @@ extern "C" { #endif +#define UINT unsigned int typedef enum _eTypeLanguage { @@ -72,14 +73,15 @@ typedef enum _eTypeLanguage #define SMT_SYNTHESIS_SENTENCE_DONE 2 #define SMT_SYNTHESIS_PAUSE_DONE 3 -int SMTInitialize(void); -int SMTFinalize(void); -int SMTSet_Language(eTypeLanguage eLanguage, int VoiceType, int ModelFileLocation); -int SMTInputText(char const * const pszText_UTF8); -int SMTSynthesize(short * const pPcmBuffer); - -int SMTGetFramePeriod (void); - +typedef enum _eTypeTTSMode +{ + eTTSMode_Normal, + eTTSMode_Dictionary, + + /////////////////////////////////////////// + + eTTSMode_INVALID, +} eTypeTTSMode; typedef enum { @@ -90,6 +92,18 @@ typedef enum eSMTSpeechSpeed_VeryFast, } etypeSpeechSpeed; +int SMTSetVoice (eTypeTTSMode const eTTSMode, char const * const pszFilePath, char const DirDelimiter, char const * const pszLanguage, char const * const pszContry, char const * const pszVoiceType, UINT const VoiceIndex); +int SMTCheckVoiceAvailable(eTypeTTSMode const eTTSMode, char const * const pszFilePath, char const DirDelimiter, char const * const pszLanguage, char const * const pszContry, char const * const pszVoiceType, UINT const VoiceIndex); + + +int SMTInitialize(void); +int SMTFinalize(void); +int SMTSet_Language(eTypeLanguage eLanguage, int VoiceType, int ModelFileLocation); +int SMTInputText(char const * const pszText_UTF8); +int SMTSynthesize(short * const pPcmBuffer); + +int SMTGetFramePeriod (void); + void SMTSetSpeechSpeed(etypeSpeechSpeed const speed); int SMTSaveWave(char* pszFileName, short* pOutData, int const nDataSize); diff --git a/src/_SlpSmtApis.cpp b/src/_SlpSmtApis.cpp index 567a2ae..676d89d 100755 --- a/src/_SlpSmtApis.cpp +++ b/src/_SlpSmtApis.cpp @@ -61,10 +61,6 @@ struct __TypeVoiceInfo static char const _pszKorean [] = "ko_KR"; static char const _pszUSEnglish [] = "en_US"; -static char const _pszChinese [] = "zh_CN"; - - -static char const _pszUKEnglish [] = "en_GB"; static char const _pszGerman [] = "de_DE"; static char const _pszSpanish [] = "es_ES"; static char const _pszFrench [] = "fr_FR"; @@ -72,8 +68,6 @@ static char const _pszItalian [] = "it_IT"; static unsigned int const _sszKorean = sizeof(_pszKorean); static unsigned int const _sszUSEnglish = sizeof(_pszUSEnglish); -static unsigned int const _sszChinese = sizeof(_pszChinese); -static unsigned int const _sszUKEnglish = sizeof(_pszUKEnglish); static unsigned int const _sszGerman = sizeof(_pszGerman); static unsigned int const _sszSpanish = sizeof(_pszSpanish); static unsigned int const _sszFrench = sizeof(_pszFrench); @@ -84,9 +78,7 @@ static const _TypeVoiceInfo _pVoiceInfos[] = { { _pszKorean , _sszKorean , TTSP_VOICE_TYPE_FEMALE }, { _pszUSEnglish , _sszUSEnglish , TTSP_VOICE_TYPE_FEMALE }, - { _pszChinese , _sszChinese , TTSP_VOICE_TYPE_FEMALE }, - { _pszUKEnglish , _sszUKEnglish , TTSP_VOICE_TYPE_FEMALE }, { _pszGerman , _sszGerman , TTSP_VOICE_TYPE_FEMALE }, { _pszSpanish , _sszSpanish , TTSP_VOICE_TYPE_FEMALE }, { _pszFrench , _sszFrench , TTSP_VOICE_TYPE_FEMALE }, @@ -98,12 +90,10 @@ static const _TypeVoiceInfo _pVoiceInfos[] = // index of VoiceInfos #define VOICE_INDEX_KOREAN_WOMAN 0 #define VOICE_INDEX_USENGLISH_WOMAN 1 -#define VOICE_INDEX_CHINESE_WOMAN 2 -#define VOICE_INDEX_UKENGLISH_WOMAN 3 -#define VOICE_INDEX_GERMAN_WOMAN 4 -#define VOICE_INDEX_SPANISH_WOMAN 5 -#define VOICE_INDEX_FRENCH_WOMAN 6 -#define VOICE_INDEX_ITALIAN_WOMAN 7 +#define VOICE_INDEX_GERMAN_WOMAN 2 +#define VOICE_INDEX_SPANISH_WOMAN 3 +#define VOICE_INDEX_FRENCH_WOMAN 4 +#define VOICE_INDEX_ITALIAN_WOMAN 5 @@ -167,8 +157,8 @@ static int _Synthesize_SamsungTTS(char const * const pszTextUtf8, void* pUserPar char const * SLPSMT_GetPszKorean (void) { return _pszKorean ; } char const * SLPSMT_GetPszUSEnglish (void) { return _pszUSEnglish ; } -char const * SLPSMT_GetPszChinese (void) { return _pszChinese ; } -char const * SLPSMT_GetPszUKEnglish (void) { return _pszUKEnglish ; } + + char const * SLPSMT_GetPszGerman (void) { return _pszGerman ; } char const * SLPSMT_GetPszSpanish (void) { return _pszSpanish ; } char const * SLPSMT_GetPszFrench (void) { return _pszFrench ; } @@ -220,6 +210,38 @@ int SLPSMT_SynthesizeText(int const iVoiceInfo, char const * pszTextUtf8, void * ttspe_voice_info_s * _gpVoiceInfos = NULL; +#define DATA_DIR1 "/usr/share/voice/tts/smt_vdata/" + + +int SLPSMT_GetiVoiceInfoEx(char* const pszLanguage, ttsp_voice_type_e const eVoiceType) +{ + int i; + for (i=0 ; i<_nVoiceInfos ; i++) + { + if ( eVoiceType == _pVoiceInfos[i].eVoiceType && ! strcmp(pszLanguage , _pVoiceInfos[i].pszLanguage) ) + { + int iResult = -1; + _eTypeTTSMode TTSType = eTTSMode_Normal; + char Language[3] = {0,}; + char Contry[3] = {0,}; + char VoiceType[2] = {0,}; + + VoiceType[0] = 'f'; + VoiceType[1] = 0; + memcpy( Language , pszLanguage , sizeof(Language)-1); + memcpy( Contry , pszLanguage+3 , sizeof(Contry)-1); + + if( eVoiceType == TTSP_VOICE_TYPE_MALE ) VoiceType[0] = 'm'; + + iResult = SMTCheckVoiceAvailable( (_eTypeTTSMode)TTSType , DATA_DIR1 , '/' , Language , Contry , VoiceType , 1 ); + + printf("%d)####### iResult [%d]\n",i , iResult); + + if( iResult == 0 ) return i ; + } + } + return -1; +} int SLPSMT_SetVoiceList(ttspe_voice_list_s * p) { @@ -467,9 +489,6 @@ static int _ChangeVoice(int const iVoiceInfo) { case VOICE_INDEX_KOREAN_WOMAN : SMTSet_Language(eKOREAN , 1, 0); break; case VOICE_INDEX_USENGLISH_WOMAN : SMTSet_Language(eUSENGLISH , 1, 0); break; - case VOICE_INDEX_CHINESE_WOMAN : SMTSet_Language(eCHINESE , 1, 0); break; - - case VOICE_INDEX_UKENGLISH_WOMAN : SMTSet_Language(eGBENGLISH , 1, 0); break; case VOICE_INDEX_GERMAN_WOMAN : SMTSet_Language(eGERMAN , 1, 0); break; case VOICE_INDEX_SPANISH_WOMAN : SMTSet_Language(eSPANISH , 1, 0); break; case VOICE_INDEX_FRENCH_WOMAN : SMTSet_Language(eFRENCH , 1, 0); break; diff --git a/src/_SlpSmtApis.h b/src/_SlpSmtApis.h index d2f4042..d34e4e0 100755 --- a/src/_SlpSmtApis.h +++ b/src/_SlpSmtApis.h @@ -27,13 +27,12 @@ int SLPSMT_Finalize (void); int SLPSMT_SetVoiceList (ttspe_voice_list_s *); void SLPSMT_SetSpeechSpeed(ttsp_speed_e const eSpeechSpeed); int SLPSMT_GetiVoiceInfo (char* const pszLanguage, ttsp_voice_type_e const eVoiceType); +int SLPSMT_GetiVoiceInfoEx(char* const pszLanguage, ttsp_voice_type_e const eVoiceType); int SLPSMT_SynthesizeText(int const iVoiceInfo, char const * pszTextUtf8, void* const pUserParam); int SLPSMT_StopSynthesis (void); char const * SLPSMT_GetPszKorean (void); char const * SLPSMT_GetPszUSEnglish (void); -char const * SLPSMT_GetPszChinese (void); -char const * SLPSMT_GetPszUKEnglish (void); char const * SLPSMT_GetPszGerman (void); char const * SLPSMT_GetPszSpanish (void); char const * SLPSMT_GetPszFrench (void); diff --git a/src/plugin_internal.cpp b/src/plugin_internal.cpp index 4171774..28f593c 100755 --- a/src/plugin_internal.cpp +++ b/src/plugin_internal.cpp @@ -96,7 +96,7 @@ int plugin_SynthesizeText(char* const pszLanguage, ttsp_voice_type_e eVoiceTyp ); // set voice - iVoiceInfo = SLPSMT_GetiVoiceInfo(pszLanguage, eVoiceType); + iVoiceInfo = SLPSMT_GetiVoiceInfoEx(pszLanguage, eVoiceType); if (iVoiceInfo < 0) { printf("iVoiceInfo < 0\n"); @@ -155,7 +155,7 @@ bool plugin_IsValidVoice(const char* language, ttsp_voice_type_e type) if (NULL == language) return TTSP_ERROR_INVALID_PARAMETER; - int iVoiceInfo = SLPSMT_GetiVoiceInfo((char* )language, type); + int iVoiceInfo = SLPSMT_GetiVoiceInfoEx((char* )language, type); if (iVoiceInfo < 0) {