summaryrefslogtreecommitdiff
path: root/data/flite
diff options
context:
space:
mode:
authorJay Freeman <saurik@saurik.com>2008-03-03 11:02:02 +0000
committerJay Freeman <saurik@saurik.com>2008-03-03 11:02:02 +0000
commita32ffe96fdeddbd7e165bfa7918960454252c99a (patch)
tree5638df7b5451ad292b6b4fd31302788407728035 /data/flite
parent4d3e0cb850d0a8d5335d41ba6ce55dee10673c43 (diff)
Managed to get text-to-speech working.
git-svn-id: http://svn.telesphoreo.org/trunk@145 514c082c-b64e-11dc-b46d-3d985efe055d
Diffstat (limited to 'data/flite')
-rw-r--r--data/flite/_metadata/description1
-rw-r--r--data/flite/_metadata/license172
l---------data/flite/_metadata/maintainer1
-rw-r--r--data/flite/_metadata/name1
-rw-r--r--data/flite/_metadata/priority1
-rw-r--r--data/flite/_metadata/section1
-rw-r--r--data/flite/_metadata/version1
-rw-r--r--data/flite/arrays.diff111
-rw-r--r--data/flite/cmu_lex_data-0.c3
-rw-r--r--data/flite/cmu_lex_data-1.c3
-rw-r--r--data/flite/const.diff12
-rw-r--r--data/flite/flite-1.3-release.tar.gzbin0 -> 10663835 bytes
-rw-r--r--data/flite/installlib.diff11
-rw-r--r--data/flite/make.sh41
14 files changed, 359 insertions, 0 deletions
diff --git a/data/flite/_metadata/description b/data/flite/_metadata/description
new file mode 100644
index 000000000..f017b112e
--- /dev/null
+++ b/data/flite/_metadata/description
@@ -0,0 +1 @@
+embedded text-to-speech library
diff --git a/data/flite/_metadata/license b/data/flite/_metadata/license
new file mode 100644
index 000000000..c886bd212
--- /dev/null
+++ b/data/flite/_metadata/license
@@ -0,0 +1,172 @@
+
+Flite is free software.
+
+We have kept the core code to BSD-like copyright, thus the system is
+free to use in commercial products, with commercial extensions. GPL
+code is only include as part of the build process and does not
+taint any of the run-time code.
+
+Note the PalmOS code uses BSD code that requires acknowledgements in
+any distribution documentation.
+
+As a collection it is distributed under the following license. Note
+a few files in this distribution have a different but equally free
+non-conflicting licence, see below.
+
+ Language Technologies Institute
+ Carnegie Mellon University
+ Copyright (c) 1999-2005
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to use and distribute
+ this software and its documentation without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of this work, and to
+ permit persons to whom this work is furnished to do so, subject to
+ the following conditions:
+ 1. The code must retain the above copyright notice, this list of
+ conditions and the following disclaimer.
+ 2. Any modifications must be clearly marked as such.
+ 3. Original authors' names are not deleted.
+ 4. The authors' names are not used to endorse or promote products
+ derived from this software without specific prior written
+ permission.
+
+ CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK
+ DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
+ SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE
+ FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ THIS SOFTWARE.
+
+All files within this distribution have the above license except
+the following
+
+src/audio/au_wince.c
+src/utils/cst_file_stdio.c
+src/utils/cst_mmap_posix.c
+src/utils/cst_mmap_win32.c
+src/utils/cst_mmap_none.c
+src/utils/cst_file_wince.c
+src/wavesynth/cst_sts.c
+sapi/
+ are copyright Cepstral, LLC rather than CMU but fall under the same
+ free licence as the above, except for the owner.
+
+doc/alice
+ Is the first two chapters of Alice in Wonderland as distributed by the
+ Gutenburg project and is now in the public domain
+
+src/regex/regexp.c
+src/regex/regsub.c
+
+ * Copyright (c) 1986 by University of Toronto.
+ * Written by Henry Spencer. Not derived from licensed software.
+ *
+ * Permission is granted to anyone to use this software for any
+ * purpose on any computer system, and to redistribute it freely,
+ * subject to the following restrictions:
+ *
+ * 1. The author is not responsible for the consequences of use of
+ * this software, no matter how awful, even if they arise
+ * from defects in it.
+ *
+ * 2. The origin of this software must not be misrepresented, either
+ * by explicit claim or by omission.
+ *
+ * 3. Altered versions must be plainly marked as such, and must not
+ * be misrepresented as being the original software.
+
+src/speech/rateconv.c
+
+ * Copyright (c) 1992, 1995 by Markus Mummert
+ *
+ * Redistribution and use of this software, modifcation and inclusion
+ * into other forms of software are permitted provided that the following
+ * conditions are met:
+ *
+ * 1. Redistributions of this software must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. If this software is redistributed in a modified condition
+ * it must reveal clearly that it has been modified.
+
+lang/usenglish/us_durz_cart.c
+lang/usenglish/us_durz_cart.h
+lang/usenglish/us_int_accent_cart.c
+lang/usenglish/us_int_accent_cart.h
+lang/usenglish/us_int_tone_cart.c
+lang/usenglish/us_int_tone_cart.h
+lang/usenglish/us_phoneset.c
+lang/usenglish/us_f0lr.c
+ These are directly (or indirectly) compiled/derived from files that are
+ part of the Festival Speech Synthesis System (1.4.1). Hence they have
+ a joint copyright CMU/Edinburgh but with the same free licence
+
+configure
+ # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+ #
+ # This configure script is free software; the Free Software Foundation
+ # gives unlimited permission to copy, distribute and modify it.
+
+configure.sub
+config.guess
+missing
+install-sh
+mkinstalldirs
+ Copyright FSF, and under the GPL, these files are only used for
+ convenient configuration and are not part of the generated binary,
+ and therefore do not impose any GPL restrctions on the rest of the
+ system. But as they are standard methods for configuration they
+ are included.
+
+palm/include/peal.h
+palm/include/pealstub.h
+palm/arm_flite/pealstub.c
+palm/m68k_flite/peal.c
+
+/**********
+ * Copyright (c) 2004 Greg Parker. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY GREG PARKER ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ **********/
+
+The whole Sun Microsystems math library was ported to Palm
+for this but its not actually needed, though the include file is
+to allow bits of the system to compile that currently linked in
+to the system, so we just have the include file here
+
+palm/include/fdlibm.h
+
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunSoft, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+
+
+
+
diff --git a/data/flite/_metadata/maintainer b/data/flite/_metadata/maintainer
new file mode 120000
index 000000000..0fa66e077
--- /dev/null
+++ b/data/flite/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/saurik \ No newline at end of file
diff --git a/data/flite/_metadata/name b/data/flite/_metadata/name
new file mode 100644
index 000000000..a46de0369
--- /dev/null
+++ b/data/flite/_metadata/name
@@ -0,0 +1 @@
+Festival-Lite
diff --git a/data/flite/_metadata/priority b/data/flite/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/flite/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/flite/_metadata/section b/data/flite/_metadata/section
new file mode 100644
index 000000000..593877746
--- /dev/null
+++ b/data/flite/_metadata/section
@@ -0,0 +1 @@
+Multimedia
diff --git a/data/flite/_metadata/version b/data/flite/_metadata/version
new file mode 100644
index 000000000..7e32cd569
--- /dev/null
+++ b/data/flite/_metadata/version
@@ -0,0 +1 @@
+1.3
diff --git a/data/flite/arrays.diff b/data/flite/arrays.diff
new file mode 100644
index 000000000..25918cb74
--- /dev/null
+++ b/data/flite/arrays.diff
@@ -0,0 +1,111 @@
+diff -ru flite-1.3-release/lang/cmulex/cmu_lex.c flite-1.3-release+iPhone/lang/cmulex/cmu_lex.c
+--- flite-1.3-release/lang/cmulex/cmu_lex.c 2004-12-31 16:07:07.000000000 +0000
++++ flite-1.3-release+iPhone/lang/cmulex/cmu_lex.c 2008-03-02 07:25:23.000000000 +0000
+@@ -42,6 +42,7 @@
+
+ extern const int cmu_lex_entry[];
+ extern const unsigned char cmu_lex_data[];
++extern const unsigned char cmu_lex_data_[];
+ extern const int cmu_lex_num_entries;
+ extern const int cmu_lex_num_bytes;
+ extern const char * const cmu_lex_phone_table[54];
+@@ -252,7 +253,9 @@
+ #ifdef CST_NO_STATIC_LEX
+ /* cmu_lex.data will be set elsewhere */
+ #else
+- cmu_lex.data = cmu_lex_data;
++ cmu_lex.data = malloc(207610 + 209306);
++ memcpy(cmu_lex.data, cmu_lex_data, 207610);
++ memcpy(cmu_lex.data + 207610, cmu_lex_data_, 209306);
+ #endif
+ cmu_lex.num_bytes = cmu_lex_num_bytes;
+ cmu_lex.phone_table = (char **) cmu_lex_phone_table;
+diff -ru flite-1.3-release/lang/cmulex/Makefile flite-1.3-release+iPhone/lang/cmulex/Makefile
+--- flite-1.3-release/lang/cmulex/Makefile 2004-12-28 23:01:23.000000000 +0000
++++ flite-1.3-release+iPhone/lang/cmulex/Makefile 2008-03-02 06:38:37.000000000 +0000
+@@ -40,7 +40,8 @@
+ ALL_DIRS=
+ H = cmu_lts_model.h cmulex.h
+ SRCS = cmu_lts_rules.c cmu_lts_model.c \
+- cmu_lex.c cmu_lex_entries.c cmu_lex_data.c
++ cmu_lex_data-0.c cmu_lex_data-1.c \
++ cmu_lex.c cmu_lex_entries.c
+ LEX_DATA_INCLUDES = cmu_lex_data_raw.c cmu_lex_num_bytes.c \
+ cmu_lex_phones_huff_table.c cmu_lex_entries_huff_table.c
+
+diff -ru flite-1.3-release/lang/cmu_us_kal/cmu_us_kal.c flite-1.3-release+iPhone/lang/cmu_us_kal/cmu_us_kal.c
+--- flite-1.3-release/lang/cmu_us_kal/cmu_us_kal.c 2004-12-31 23:22:10.000000000 +0000
++++ flite-1.3-release+iPhone/lang/cmu_us_kal/cmu_us_kal.c 2008-03-02 07:30:53.000000000 +0000
+@@ -46,10 +46,24 @@
+ static cst_utterance *cmu_us_kal_postlex(cst_utterance *u);
+ extern cst_diphone_db cmu_us_kal_db;
+
++extern const unsigned char cmu_us_kal_res[];
++extern const unsigned char cmu_us_kal_res_1_[];
++extern const unsigned char cmu_us_kal_res_2_[];
++extern const unsigned char cmu_us_kal_res_3_[];
++extern const unsigned char cmu_us_kal_res_4_[];
++
+ cst_voice *cmu_us_kal_diphone = NULL;
+
+ cst_voice *register_cmu_us_kal(const char *voxdir)
+ {
++ unsigned char *residuals = malloc(307705 + 302489 + 304535 + 299252 + 301901);
++ memcpy(residuals, cmu_us_kal_res, 307705);
++ memcpy(residuals + 307705, cmu_us_kal_res_1_, 302489);
++ memcpy(residuals + 307705 + 302489, cmu_us_kal_res_2_, 304535);
++ memcpy(residuals + 307705 + 302489 + 304535, cmu_us_kal_res_3_, 299252);
++ memcpy(residuals + 307705 + 302489 + 304535 + 299252, cmu_us_kal_res_4_, 301901);
++ * (unsigned char **) &cmu_us_kal_db.sts->residuals = residuals;
++
+ cst_voice *v = new_voice();
+
+ /* Set up basic values for synthesizing with this voice */
+diff -ru flite-1.3-release/lang/cmu_us_kal/cmu_us_kal_diphone.c flite-1.3-release+iPhone/lang/cmu_us_kal/cmu_us_kal_diphone.c
+--- flite-1.3-release/lang/cmu_us_kal/cmu_us_kal_diphone.c 2005-01-05 23:20:58.000000000 +0000
++++ flite-1.3-release+iPhone/lang/cmu_us_kal/cmu_us_kal_diphone.c 2008-03-02 07:30:04.000000000 +0000
+@@ -5,7 +5,6 @@
+ #include "cst_diphone.h"
+
+ extern const unsigned short cmu_us_kal_lpc[];
+-extern const unsigned char cmu_us_kal_res[];
+ extern const unsigned int cmu_us_kal_resi[];
+
+
+@@ -15,7 +14,7 @@
+ 0,0,0,
+ #else
+ cmu_us_kal_lpc,
+- cmu_us_kal_res,
++ 0,
+ cmu_us_kal_resi,
+ #endif
+ 17614,
+diff -ru flite-1.3-release/lang/cmu_us_kal/Makefile flite-1.3-release+iPhone/lang/cmu_us_kal/Makefile
+--- flite-1.3-release/lang/cmu_us_kal/Makefile 2005-01-01 17:18:04.000000000 +0000
++++ flite-1.3-release+iPhone/lang/cmu_us_kal/Makefile 2008-03-02 07:09:08.000000000 +0000
+@@ -41,7 +41,11 @@
+ H = voxdefs.h
+ SRCS = cmu_us_kal_diphone.c cmu_us_kal.c \
+ cmu_us_kal_lpc.c \
+- cmu_us_kal_res.c \
++ cmu_us_kal_res-0.c \
++ cmu_us_kal_res-1.c \
++ cmu_us_kal_res-2.c \
++ cmu_us_kal_res-3.c \
++ cmu_us_kal_res-4.c \
+ cmu_us_kal_residx.c
+ OBJS = $(SRCS:.c=.o)
+ SCM=
+diff -ru flite-1.3-release/lang/Makefile flite-1.3-release+iPhone/lang/Makefile
+--- flite-1.3-release/lang/Makefile 2005-01-18 16:27:34.000000000 +0000
++++ flite-1.3-release+iPhone/lang/Makefile 2008-03-02 07:13:18.000000000 +0000
+@@ -36,7 +36,7 @@
+ ###########################################################################
+ TOP=..
+ DIRNAME=lang
+-BUILD_DIRS = usenglish cmulex cmu_us_kal cmu_time_awb cmu_us_kal16
++BUILD_DIRS = usenglish cmulex cmu_us_kal cmu_time_awb
+ ALL_DIRS= $(BUILD_DIRS)
+ FILES = Makefile $(SCM) $(SRCS)
+
diff --git a/data/flite/cmu_lex_data-0.c b/data/flite/cmu_lex_data-0.c
new file mode 100644
index 000000000..dfe70754e
--- /dev/null
+++ b/data/flite/cmu_lex_data-0.c
@@ -0,0 +1,3 @@
+const unsigned char cmu_lex_data[] = {0,
+#include "cmu_lex_data_raw.c-0.c"
+};
diff --git a/data/flite/cmu_lex_data-1.c b/data/flite/cmu_lex_data-1.c
new file mode 100644
index 000000000..1f6e022e2
--- /dev/null
+++ b/data/flite/cmu_lex_data-1.c
@@ -0,0 +1,3 @@
+const unsigned char cmu_lex_data_[] = {
+#include "cmu_lex_data_raw.c-1.c"
+};
diff --git a/data/flite/const.diff b/data/flite/const.diff
new file mode 100644
index 000000000..3549efa3d
--- /dev/null
+++ b/data/flite/const.diff
@@ -0,0 +1,12 @@
+diff -r -u flite-1.3-release/tools/find_sts_main.c flite-1.3-release+iPhone/tools/find_sts_main.c
+--- flite-1.3-release/tools/find_sts_main.c 2005-01-01 14:04:43.000000000 +0000
++++ flite-1.3-release+iPhone/tools/find_sts_main.c 2008-03-02 04:32:49.000000000 +0000
+@@ -40,6 +40,8 @@
+ #include <stdio.h>
+ #include <math.h>
+ #include <string.h>
++#include <stdlib.h>
++#include <unistd.h>
+
+ /* To allow some normally const fields to manipulated during building */
+ #define const
diff --git a/data/flite/flite-1.3-release.tar.gz b/data/flite/flite-1.3-release.tar.gz
new file mode 100644
index 000000000..3106df245
--- /dev/null
+++ b/data/flite/flite-1.3-release.tar.gz
Binary files differ
diff --git a/data/flite/installlib.diff b/data/flite/installlib.diff
new file mode 100644
index 000000000..37baabd3c
--- /dev/null
+++ b/data/flite/installlib.diff
@@ -0,0 +1,11 @@
+diff -r -u flite-1.3-release/Makefile flite-1.3-release+iPhone/Makefile
+--- flite-1.3-release/Makefile 2005-11-01 13:40:45.000000000 +0000
++++ flite-1.3-release+iPhone/Makefile 2008-03-02 05:27:31.000000000 +0000
+@@ -109,7 +109,6 @@
+ mkdir -p $(INSTALLLIBDIR)
+ mkdir -p $(INSTALLINCDIR)
+ $(INSTALL) -m 644 include/*.h $(INSTALLINCDIR)
+- @ $(MAKE) -C lib --no-print-directory install
+ $(INSTALL) -m 755 bin/flite $(INSTALLBINDIR)
+ $(INSTALL) -m 755 bin/flite_time $(INSTALLBINDIR)
+
diff --git a/data/flite/make.sh b/data/flite/make.sh
new file mode 100644
index 000000000..869d64da1
--- /dev/null
+++ b/data/flite/make.sh
@@ -0,0 +1,41 @@
+pkg:extract
+cd *
+pkg:patch
+autoconf
+
+function pkg_:split {
+ size=$1
+ data=$2
+ half=$(($(wc -l "${data}" | cut -d ' ' -f 1) / size))
+
+ for ((i = 0; i != size; ++i)); do
+ tail -n +"$((half * i + 1))" "${data}" | head -n "${half}" >"${data}-$i.c"
+ done
+}
+
+pkg: cp -a %/cmu_lex_data-{0,1}.c lang/cmulex
+pkg_:split 2 lang/cmulex/cmu_lex_data_raw.c
+pkg_:split 5 lang/cmu_us_kal/cmu_us_kal_res.c
+
+for ((i = 0; i != 5; ++i)); do
+ if [[ $i != 0 ]]; then
+ echo 'const unsigned char cmu_us_kal_res_'"${i}"'_[] = {' >>lang/cmu_us_kal/cmu_us_kal_res-"${i}".c
+ fi
+
+ echo '#include "cmu_us_kal_res.c-'"${i}"'.c"' >>lang/cmu_us_kal/cmu_us_kal_res-"${i}".c
+
+ if [[ $i != 4 ]]; then
+ echo '};' >>lang/cmu_us_kal/cmu_us_kal_res-"${i}".c
+ fi
+done
+
+pkg:configure
+mkdir -p build/arm-darwin/obj/lang/cmu_us_kal16
+touch build/arm-darwin/obj/lang/cmu_us_kal16/cmu_us_kal16_res.o
+
+mkdir -p build/arm-darwin/obj/lang/cmulex
+mkdir -p build/arm-darwin/obj/lang/cmu_us_kal
+touch build/arm-darwin/obj/lang/cmulex/cmu_lex_data.o
+touch build/arm-darwin/obj/lang/cmu_us_kal/cmu_us_kal_res.o
+make
+make install prefix="${PKG_DEST}/usr"