diff options
Diffstat (limited to 'flite')
-rw-r--r-- | flite/.gitignore | 1 | ||||
-rwxr-xr-x | flite/build_script.sh | 27 | ||||
-rw-r--r-- | flite/extrafuncs.c | 20 | ||||
-rwxr-xr-x | flite/get_flite.sh | 5 |
4 files changed, 53 insertions, 0 deletions
diff --git a/flite/.gitignore b/flite/.gitignore new file mode 100644 index 0000000..95c320b --- /dev/null +++ b/flite/.gitignore @@ -0,0 +1 @@ +/flite-* diff --git a/flite/build_script.sh b/flite/build_script.sh new file mode 100755 index 0000000..2748331 --- /dev/null +++ b/flite/build_script.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +cd flite-6c9f20dc915b17f5619340069889db0aa007fcdc + +s_EXPORTED_FUNCTIONS="-s EXPORTED_FUNCTIONS=$(printf '_%s,' \ +flite_wrapper_init \ +flite_text_to_wave \ +delete_val \ +malloc +)_free" + +shared_flags="-Oz -flto -fno-unroll-loops -fno-inline -mnontrapping-fptoint" +compile_flags="-DNDEBUG -DNO_STDIO $shared_flags" +link_flags="$shared_flags -s MALLOC=emmalloc -s ASSERTIONS=0 -s INITIAL_MEMORY=$((20*1024*1024)) -s TOTAL_STACK=$((2*1024*1024)) -s STANDALONE_WASM=1 -s PURE_WASI=1 -s STACK_OVERFLOW_CHECK=0 -s WASM_BIGINT=1 -s ABORTING_MALLOC=0 -s MEMORY_GROWTH_GEOMETRIC_STEP=0 -s ALLOW_MEMORY_GROWTH=1" + +emconfigure ./configure STRIP='emstrip' CFLAGS="$compile_flags" LDFLAGS="$link_flags" --host=wasm32 --disable-sockets --disable-shared --without-pic --with-mmap=none --with-audio=none --with-vox=cmu_us_kal +emmake make + +emcc --no-entry $s_EXPORTED_FUNCTIONS $link_flags -o flite.wasm -Lbuild/wasm32-none/lib -Iinclude/ -lflite -lflite_usenglish -lflite_cmulex -lflite_cmu_us_kal ../extrafuncs.c + +mkdir -p ../../src/main/resources/flite/ +cp flite.wasm ../../src/main/resources/flite.wasm +cp COPYING ../../src/main/resources/flite/ + +exit 0 diff --git a/flite/extrafuncs.c b/flite/extrafuncs.c new file mode 100644 index 0000000..2831120 --- /dev/null +++ b/flite/extrafuncs.c @@ -0,0 +1,20 @@ +#include "flite.h" + +cst_voice *register_cmu_us_kal(const char *voxdir); + +void usenglish_init(cst_voice *v); +cst_lexicon *cmulex_init(void); + +void flite_set_lang_list(void) +{ + flite_add_lang("eng",usenglish_init,cmulex_init); + flite_add_lang("usenglish",usenglish_init,cmulex_init); +} + +cst_voice *flite_wrapper_init() { + flite_init(); + flite_set_lang_list(); + flite_voice_list = cons_val(voice_val(register_cmu_us_kal(NULL)),flite_voice_list); + flite_voice_list = val_reverse(flite_voice_list); + return flite_voice_select(NULL); +} diff --git a/flite/get_flite.sh b/flite/get_flite.sh new file mode 100755 index 0000000..bc09d5c --- /dev/null +++ b/flite/get_flite.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +commit=6c9f20dc915b17f5619340069889db0aa007fcdc +wget -O flite-$commit.zip https://github.com/festvox/flite/archive/$commit.zip +unzip flite-$commit.zip |