From d3078c60ec0acb635887a8fecbd78e440ddcbde3 Mon Sep 17 00:00:00 2001 From: Jeff Lenk Date: Tue, 13 Mar 2012 22:56:02 -0500 Subject: [PATCH] update flite to 1.5.4 fixes win64 and kal rate problem --- libs/win32/Download FLITE.2008.vcproj | 8 +- libs/win32/Download FLITE.2010.vcxproj | 10 +- libs/win32/flite/flite.2008.vcproj | 770 ++++++++++-------- libs/win32/flite/flite.2010.vcxproj | 405 ++++----- libs/win32/flite/flite.2010.vcxproj.filters | 561 ++++++++----- src/mod/asr_tts/mod_flite/Makefile | 2 +- .../asr_tts/mod_flite/mod_flite.2008.vcproj | 16 +- .../asr_tts/mod_flite/mod_flite.2010.vcxproj | 17 +- src/mod/asr_tts/mod_flite/mod_flite.c | 16 +- 9 files changed, 1051 insertions(+), 754 deletions(-) diff --git a/libs/win32/Download FLITE.2008.vcproj b/libs/win32/Download FLITE.2008.vcproj index 9c2d88a4c2..ebdbf99b89 100644 --- a/libs/win32/Download FLITE.2008.vcproj +++ b/libs/win32/Download FLITE.2008.vcproj @@ -76,8 +76,8 @@ diff --git a/libs/win32/Download FLITE.2010.vcxproj b/libs/win32/Download FLITE.2010.vcxproj index d88acb941f..bb63d1f00b 100644 --- a/libs/win32/Download FLITE.2010.vcxproj +++ b/libs/win32/Download FLITE.2010.vcxproj @@ -66,13 +66,15 @@ Document Downloading Flite. - if not exist "$(ProjectDir)..\flite-1.3.99" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/flite-1.3.99-latest.tar.gz "$(ProjectDir).." + if not exist "$(ProjectDir)..\flite-1.5.4" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/flite-1.5.4-current.tar.bz2 "$(ProjectDir).." +if exist "$(ProjectDir)..\flite-1.5.4-current" move "$(ProjectDir)..\flite-1.5.4-current" "$(ProjectDir)..\flite-1.5.4" - $(ProjectDir)..\flite-1.3.99;%(Outputs) + $(ProjectDir)..\flite-1.5.4;%(Outputs) Downloading Flite. - if not exist "$(ProjectDir)..\flite-1.3.99" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/flite-1.3.99-latest.tar.gz "$(ProjectDir).." + if not exist "$(ProjectDir)..\flite-1.5.4" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/flite-1.5.4-current.tar.bz2 "$(ProjectDir).." +if exist "$(ProjectDir)..\flite-1.5.4-current" move "$(ProjectDir)..\flite-1.5.4-current" "$(ProjectDir)..\flite-1.5.4" - $(ProjectDir)..\flite-1.3.99;%(Outputs) + $(ProjectDir)..\flite-1.5.4;%(Outputs) diff --git a/libs/win32/flite/flite.2008.vcproj b/libs/win32/flite/flite.2008.vcproj index 92c9984d42..22e97211ca 100644 --- a/libs/win32/flite/flite.2008.vcproj +++ b/libs/win32/flite/flite.2008.vcproj @@ -4,7 +4,7 @@ Version="9.00" Name="flite" ProjectGUID="{0AD1177E-1FD8-4643-9391-431467A11084}" - RootNamespace="flite-1.3-current" + RootNamespace="flite-1.5.4" TargetFrameworkVersion="196613" > @@ -43,7 +43,7 @@ - - - - - - - - - - - - - - @@ -672,223 +636,231 @@ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" > + + + + @@ -899,148 +871,308 @@ > - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/win32/flite/flite.2010.vcxproj b/libs/win32/flite/flite.2010.vcxproj index f6b0be5e27..aff892f095 100644 --- a/libs/win32/flite/flite.2010.vcxproj +++ b/libs/win32/flite/flite.2010.vcxproj @@ -21,7 +21,7 @@ flite {0AD1177E-1FD8-4643-9391-431467A11084} - flite-1.3-current + flite-1.5.4 @@ -68,7 +68,7 @@ Disabled - ..\..\flite-1.3.99\include;..\..\flite-1.3.99\lang\usenglish;..\..\flite-1.3.99\lang\cmulex;%(AdditionalIncludeDirectories) + ..\..\flite-1.5.4\include;..\..\flite-1.5.4\lang\usenglish;..\..\flite-1.5.4\lang\cmulex;%(AdditionalIncludeDirectories) CST_AUDIO_NONE=1;NO_UNION_INITIALIZATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true EnableFastChecks @@ -83,7 +83,7 @@ Disabled - ..\..\flite-1.3.99\include;..\..\flite-1.3.99\lang\usenglish;..\..\flite-1.3.99\lang\cmulex;%(AdditionalIncludeDirectories) + ..\..\flite-1.5.4\include;..\..\flite-1.5.4\lang\usenglish;..\..\flite-1.5.4\lang\cmulex;%(AdditionalIncludeDirectories) CST_AUDIO_NONE=1;NO_UNION_INITIALIZATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true EnableFastChecks @@ -96,7 +96,7 @@ MaxSpeed true - ..\..\flite-1.3.99\include;..\..\flite-1.3.99\lang\usenglish;..\..\flite-1.3.99\lang\cmulex;%(AdditionalIncludeDirectories) + ..\..\flite-1.5.4\include;..\..\flite-1.5.4\lang\usenglish;..\..\flite-1.5.4\lang\cmulex;%(AdditionalIncludeDirectories) CST_AUDIO_NONE=1;NO_UNION_INITIALIZATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true MultiThreadedDLL @@ -112,7 +112,7 @@ MaxSpeed true - ..\..\flite-1.3.99\include;..\..\flite-1.3.99\lang\usenglish;..\..\flite-1.3.99\lang\cmulex;%(AdditionalIncludeDirectories) + ..\..\flite-1.5.4\include;..\..\flite-1.5.4\lang\usenglish;..\..\flite-1.5.4\lang\cmulex;%(AdditionalIncludeDirectories) CST_AUDIO_NONE=1;NO_UNION_INITIALIZATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true MultiThreadedDLL @@ -122,189 +122,222 @@ - - - - - - - - - - - - - - include;lang/usenglish;%(AdditionalIncludeDirectories) - include;lang/usenglish;%(AdditionalIncludeDirectories) - include;lang/usenglish;%(AdditionalIncludeDirectories) - include;lang/usenglish;%(AdditionalIncludeDirectories) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/win32/flite/flite.2010.vcxproj.filters b/libs/win32/flite/flite.2010.vcxproj.filters index 6194dbb1d6..979f772242 100644 --- a/libs/win32/flite/flite.2010.vcxproj.filters +++ b/libs/win32/flite/flite.2010.vcxproj.filters @@ -1,558 +1,677 @@  - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hpp;hxx;hm;inl;inc;xsd - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - {2e2fca2e-fc24-48cd-bfa0-42ceb5aa5331} + + {8a9db04d-0a7b-47f2-97ed-73acecd51688} - + + {f4b8438d-32d6-4e75-926b-b3950baf2282} + + {58f041f5-13f9-4986-aa26-ab41db21c3b1} - + {f4db3d58-e9d3-415a-ae41-cc3dd1012fc2} + + {2e2fca2e-fc24-48cd-bfa0-42ceb5aa5331} + + + {29f922d5-330d-49c3-9f8d-5aaada042fe0} + - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - - Source Files + + voices\slt + + + voices\slt + + + voices\slt + + + voices\slt + + + voices\slt + + + voices\slt + + + voices\slt + + + voices\rms + + + voices\rms - + + voices\rms + + + voices\rms + + + voices\rms + + + voices\rms + + + voices\rms + + + voices\rms + + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + + voices\awb + + + voices\awb + + + voices\awb + + + voices\awb + + + voices\awb + + + voices\awb + + + voices\awb + + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - - sltvoice + + voices\awb + + + voices\awb + + + voices\awb + + + voices\rms - - sltvoice + + voices\rms - - sltvoice + + voices\rms - - sltvoice + + voices\slt - - sltvoice + + voices\slt - - sltvoice + + voices\slt - - sltvoice + + voices\kal - - awbvoice + + voices\kal - - awbvoice + + voices\kal - - awbvoice + + voices\kal - - awbvoice + + voices\kal - - awbvoice + + voices\kal - - awbvoice + + voices\kal16 - - awbvoice + + voices\kal16 - - rmsvoice + + voices\kal16 - - rmsvoice + + voices\kal16 - - rmsvoice + + voices\kal16 - - rmsvoice + + Source Files + + + Source Files + + + Source Files - - rmsvoice + + Source Files - - rmsvoice + + Source Files - - rmsvoice + + Source Files - + Header Files - + Header Files - + Header Files - + + voices\slt + + + voices\slt + + + voices\slt + + + voices\slt + + + voices\rms + + + voices\rms + + + voices\rms + + + voices\rms + + + voices\rms + + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + + voices\awb + + + voices\awb + + + voices\awb + + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - - sltvoice + + Header Files - - sltvoice + + voices\awb - - sltvoice + + voices\awb - - sltvoice + + voices\awb - - awbvoice + + voices\rms - - awbvoice + + voices\rms - - awbvoice + + voices\slt - - awbvoice + + voices\slt - - rmsvoice + + voices\kal - - rmsvoice + + voices\kal16 - - rmsvoice + + Header Files - - rmsvoice + + Header Files \ No newline at end of file diff --git a/src/mod/asr_tts/mod_flite/Makefile b/src/mod/asr_tts/mod_flite/Makefile index cdb2137f14..4352a5ba69 100644 --- a/src/mod/asr_tts/mod_flite/Makefile +++ b/src/mod/asr_tts/mod_flite/Makefile @@ -1,4 +1,4 @@ -FLITE=flite-1.5.1 +FLITE=flite-1.5.4 FLITE_DIR=$(switch_srcdir)/libs/$(FLITE)-current FLITE_BUILDDIR=$(switch_builddir)/libs/$(FLITE)-current diff --git a/src/mod/asr_tts/mod_flite/mod_flite.2008.vcproj b/src/mod/asr_tts/mod_flite/mod_flite.2008.vcproj index 53fdaadb08..23758c9191 100644 --- a/src/mod/asr_tts/mod_flite/mod_flite.2008.vcproj +++ b/src/mod/asr_tts/mod_flite/mod_flite.2008.vcproj @@ -42,7 +42,7 @@ /> @@ -108,7 +108,7 @@ /> @@ -175,7 +175,7 @@ /> @@ -241,7 +241,7 @@ /> @@ -308,7 +308,7 @@ /> - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) APT_LIB_EXPORT;%(PreprocessorDefinitions) @@ -137,7 +137,7 @@ X64 - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) APT_LIB_EXPORT;%(PreprocessorDefinitions) @@ -152,7 +152,7 @@ - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) APT_LIB_EXPORT;%(PreprocessorDefinitions) @@ -170,7 +170,7 @@ X64 - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) APT_LIB_EXPORT;%(PreprocessorDefinitions) @@ -186,7 +186,7 @@ - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) @@ -203,7 +203,7 @@ X64 - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) @@ -218,7 +218,7 @@ - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) @@ -235,7 +235,7 @@ X64 - ../../../../libs/flite-1.3.99/include;%(AdditionalIncludeDirectories) + ../../../../libs/flite-1.5.4/include;%(AdditionalIncludeDirectories) @@ -258,7 +258,6 @@ {0ad1177e-1fd8-4643-9391-431467a11084} - false {202d7a4e-760d-4d0e-afa1-d7459ced30ff} diff --git a/src/mod/asr_tts/mod_flite/mod_flite.c b/src/mod/asr_tts/mod_flite/mod_flite.c index cd4bbfa66a..079818af07 100644 --- a/src/mod/asr_tts/mod_flite/mod_flite.c +++ b/src/mod/asr_tts/mod_flite/mod_flite.c @@ -44,6 +44,10 @@ void unregister_cmu_us_rms(cst_voice * v); cst_voice *register_cmu_us_slt(void); void unregister_cmu_us_slt(cst_voice * v); +cst_voice *register_cmu_us_kal16(void); +void unregister_cmu_us_kal16(cst_voice * v); + + SWITCH_MODULE_LOAD_FUNCTION(mod_flite_load); SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_flite_shutdown); SWITCH_MODULE_DEFINITION(mod_flite, mod_flite_load, mod_flite_shutdown, NULL); @@ -53,6 +57,7 @@ static struct { cst_voice *kal; cst_voice *rms; cst_voice *slt; + cst_voice *kal16; } globals; struct flite_data { @@ -75,13 +80,18 @@ static switch_status_t flite_speech_open(switch_speech_handle_t *sh, const char if (!strcasecmp(voice_name, "awb")) { flite->v = globals.awb; } else if (!strcasecmp(voice_name, "kal")) { - flite->v = globals.kal; +/* "kal" is 8kHz and the native rate is set to 16kHz + * so kal talks a little bit too fast ... + * for now: "symlink" kal to kal16 + */ flite->v = globals.kal16; } else if (!strcasecmp(voice_name, "rms")) { flite->v = globals.rms; } else if (!strcasecmp(voice_name, "slt")) { flite->v = globals.slt; + } else if (!strcasecmp(voice_name, "kal16")) { + flite->v = globals.kal16; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Valid voice names are awb, kal, rms or slt.\n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Valid voice names are awb, rms, slt or kal.\n"); } if (flite->v) { @@ -179,6 +189,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_flite_load) globals.kal = register_cmu_us_kal(); globals.rms = register_cmu_us_rms(); globals.slt = register_cmu_us_slt(); + globals.kal16 = register_cmu_us_kal16(); /* connect my internal structure to the blank pointer passed to me */ *module_interface = switch_loadable_module_create_module_interface(pool, modname); @@ -203,6 +214,7 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_flite_shutdown) unregister_cmu_us_kal(globals.kal); unregister_cmu_us_rms(globals.rms); unregister_cmu_us_slt(globals.slt); + unregister_cmu_us_kal16(globals.kal16); return SWITCH_STATUS_UNLOAD; }