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;
}