speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Support building and running with flite version 1.4.


From: Christopher Brannon
Subject: [PATCH] Support building and running with flite version 1.4.
Date: Fri, 6 Aug 2010 09:22:54 -0500

The flite API changed between version 1.3 and 1.4.
Prior to 1.4, all of the voice libraries provided the function
register_cmu_us_kal.  This is no longer true.  Now, each library
exports register_VOICENAME, where VOICENAME is the name of the voice.
E.G., register_cmu_us_kal from libflite_cmu_us_kal,
and register_cmu_us_kal16 from libflite_cmu_us_kal16.
We check for the correct function in the configure script,
preserving backward-compatibility.
---
 configure.in        |   22 +++++++++++++++-------
 src/modules/flite.c |   12 +++++++++++-
 2 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/configure.in b/configure.in
index fa0ce93..49827ec 100644
--- a/configure.in
+++ b/configure.in
@@ -88,13 +88,21 @@ AC_CHECK_LIB(flite_usenglish,
 flite_basic="-lflite_cmulex -lflite_usenglish -lflite -lm";
 
 AC_CHECK_LIB(flite_cmu_us_kal16,
-        register_cmu_us_kal, 
flite_ok="true";flite_kal="-lflite_cmu_us_kal16";echo "16-bit Kal Flite voice 
found. Flite support enabled.", 
-               AC_CHECK_LIB(flite_cmu_us_kal,  
-               register_cmu_us_kal, 
flite_ok="true";flite_kal="-lflite_cmu_us_kal";
-               echo "8-bit Kal Flite voice found. Flite support enabled.", 
-               flite_ok="false"; echo "Flite libraries missing. Compiling 
without Flite support!",
-               -lflite_cmulex -lflite_usenglish -lflite -lm),
-       -lflite_cmulex -lflite_usenglish -lflite -lm)
+       register_cmu_us_kal, 
flite_ok="true";flite_kal="-lflite_cmu_us_kal16";echo "16-bit Kal Flite voice 
found. Flite support enabled.", 
+       AC_CHECK_LIB(flite_cmu_us_kal16,        
+               register_cmu_us_kal16,
+               flite_ok="true";
+               flite_kal="-lflite_cmu_us_kal16";
+               echo "16-bit Kal Flite voice found. Flite support enabled.";
+               AC_DEFINE([HAVE_REGISTER_CMU_US_KAL16], 1,
+                       [Use cmu_register_us_kal16 to register the 16-bit 
voice.]),
+               AC_CHECK_LIB(flite_cmu_us_kal,  
+                       register_cmu_us_kal, 
flite_ok="true";flite_kal="-lflite_cmu_us_kal";
+                       echo "8-bit Kal Flite voice found. Flite support 
enabled.",
+                       flite_ok="false"; echo "Flite libraries missing. 
Compiling without Flite support!",
+                       $flite_basic),
+               $flite_basic),
+       $flite_basic)
 
 AC_SUBST(flite_basic)
 AC_SUBST(flite_kal)
diff --git a/src/modules/flite.c b/src/modules/flite.c
index c15d714..44ab8a1 100644
--- a/src/modules/flite.c
+++ b/src/modules/flite.c
@@ -22,6 +22,9 @@
  * $Id: flite.c,v 1.59 2008-06-09 10:38:02 hanke Exp $
  */
 
+#ifndef CONFIG_H
+#include <config.h>
+#endif /* CONFIG_H */
 
 #include <flite/flite.h>
 #include "spd_audio.h"
@@ -104,7 +107,14 @@ module_init(char **status_info)
 
     /* Init flite and register a new voice */
     flite_init();
-    flite_voice = new_voice();
+
+#ifdef HAVE_REGISTER_CMU_US_KAL16
+    cst_voice *register_cmu_us_kal16();/* This isn't declared in any headers. 
*/
+    flite_voice = register_cmu_us_kal16();
+#else
+    cst_voice *register_cmu_us_kal();
+    flite_voice = register_cmu_us_kal();
+#endif /* HAVE_REGISTER_CMU_US_KAL16 */
 
     if (flite_voice == NULL){
         DBG("Couldn't register the basic kal voice.\n");
-- 
1.7.2.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]