diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-07-30 23:44:30 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-07-30 23:44:30 -0700 |
commit | 27f4836bfe470712e78958abe5f0ed6fa70b5733 (patch) | |
tree | 50f92eb29af811ade307453319d146423c2a311d /demos | |
parent | 5f5cd01b4debb82c344880d2d682f62f11c7452a (diff) |
eSpeak text-to-speech demo
Diffstat (limited to 'demos')
-rw-r--r-- | demos/espeak/espeak-data/en_dict | bin | 0 -> 85893 bytes | |||
-rw-r--r-- | demos/espeak/espeak-data/intonations | bin | 0 -> 816 bytes | |||
-rw-r--r-- | demos/espeak/espeak-data/phondata | bin | 0 -> 376932 bytes | |||
-rw-r--r-- | demos/espeak/espeak-data/phonindex | bin | 0 -> 18130 bytes | |||
-rw-r--r-- | demos/espeak/espeak-data/phontab | bin | 0 -> 31476 bytes | |||
-rwxr-xr-x | demos/espeak/espeak-data/voices/en/en-us | 17 | ||||
-rw-r--r-- | demos/espeak/espeak.html | 95 | ||||
-rw-r--r-- | demos/espeak/espeak.js | 2554 | ||||
-rw-r--r-- | demos/espeak/espeak_src.tar.bz2 | bin | 0 -> 253193 bytes |
9 files changed, 2666 insertions, 0 deletions
diff --git a/demos/espeak/espeak-data/en_dict b/demos/espeak/espeak-data/en_dict Binary files differnew file mode 100644 index 00000000..b9006ce9 --- /dev/null +++ b/demos/espeak/espeak-data/en_dict diff --git a/demos/espeak/espeak-data/intonations b/demos/espeak/espeak-data/intonations Binary files differnew file mode 100644 index 00000000..3486b1a8 --- /dev/null +++ b/demos/espeak/espeak-data/intonations diff --git a/demos/espeak/espeak-data/phondata b/demos/espeak/espeak-data/phondata Binary files differnew file mode 100644 index 00000000..6a9f8d4b --- /dev/null +++ b/demos/espeak/espeak-data/phondata diff --git a/demos/espeak/espeak-data/phonindex b/demos/espeak/espeak-data/phonindex Binary files differnew file mode 100644 index 00000000..f6d3212d --- /dev/null +++ b/demos/espeak/espeak-data/phonindex diff --git a/demos/espeak/espeak-data/phontab b/demos/espeak/espeak-data/phontab Binary files differnew file mode 100644 index 00000000..2477f38d --- /dev/null +++ b/demos/espeak/espeak-data/phontab diff --git a/demos/espeak/espeak-data/voices/en/en-us b/demos/espeak/espeak-data/voices/en/en-us new file mode 100755 index 00000000..e0ea6d63 --- /dev/null +++ b/demos/espeak/espeak-data/voices/en/en-us @@ -0,0 +1,17 @@ +// moving towards US English +name english-us +language en-us 2 +language en-r +language en 3 +gender male + +phonemes en-us +dictrules 3 6 +option reduce_t 1 + +stressLength 145 125 190 170 0 0 260 290 +stressAmp 17 16 19 19 19 19 21 19 + +replace 03 I i +replace 03 I2 i +replace 03 @ @/ diff --git a/demos/espeak/espeak.html b/demos/espeak/espeak.html new file mode 100644 index 00000000..9e23ee18 --- /dev/null +++ b/demos/espeak/espeak.html @@ -0,0 +1,95 @@ +<html> +<title>Text-to-Speech on the Web</title> +<head> + <script> + // This demo is licensed under the GNU GPL. + + var print = console.log; + + var Module = { + arguments: ['-w', 'wav.wav', '-v', 'en/en-us', '--path=/espeak'], + noInitialRun: true + }; + </script> + <script src="espeak.js"></script> + <script> + // expects the webserver to run in the parent of espeak-data/ + + FS.createPath('/', 'espeak/espeak-data', true, false); + ['phontab', 'phonindex', 'phondata', 'intonations', 'en_dict'].forEach(function(datafile) { + FS.createLazyFile('/espeak/espeak-data', datafile, 'espeak-data/' + datafile, true, false); + }); + + FS.createPath('/', 'espeak/espeak-data/voices/en', true, false); + FS.createLazyFile('/espeak/espeak-data/voices/en', 'en-us', 'espeak-data/voices/en/en-us', true, false); + + FS.root.write = true; + + function talk(text) { + Module.arguments.push(text); + run(); + Module.arguments.pop(); + + var wav = FS.root.contents['wav.wav'].contents; + + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + + for (var i = 0; i < wav.length; i++) + wav[i] = unSign(wav[i], 8); + + document.getElementById("audio").innerHTML=("<audio id=\"player\" src=\"data:audio/x-wav;base64,"+encode64(wav)+"\">"); + document.getElementById("player").play(); + } + </script> +</head> +<body> + <h1>Text-To-Speech on the Web</h1> + <form onsubmit="talk(text.value); return false"> + Text: <input type="text" name="text" size=50 value="Never gonna give, you, up."><input type="submit" value="Go!"> + </form> + <hr> + <p> + This demo is 100% clientside JavaScript. It uses <a href="http://espeak.sourceforge.net/">eSpeak</a>, an open source + speech synthesizer, which was compiled from C++ to JavaScript using <a href="http://emscripten.org">Emscripten</a>. + Source code for this demo can be found <a href="espeak_src.tar.bz2">here</a>. + </p> + <p> + Browser requirements: + <ul> + <li><b>Typed arrays</b>. The eSpeak code is not portable to the extent that would be necessary to avoid using typed arrays. + (It should however be possible to rewrite small bits of eSpeak to fix that.) + This is present in Firefox and Chrome, but not IE, Safari or Opera.</li> + <li><b>Support for WAV audio in data URIs</b>. eSpeak's simplest form of output is a WAV file, and the easiest way to use + that is via a data URI. (It should however be possible to extract the raw audio directly by hacking eSpeak.) + This is present in Firefox, Safari and Opera, but not IE or Chrome.</li> + </ul> + So currently this demo will only work in Firefox. Help is welcome regarding the workarounds mentioned above + that will let it work elsewhere, we would like to develop this demo into a useful project for people to use around the web. + </p> + <div id="audio"></div> +</body> +</html> + diff --git a/demos/espeak/espeak.js b/demos/espeak/espeak.js new file mode 100644 index 00000000..fd400e1f --- /dev/null +++ b/demos/espeak/espeak.js @@ -0,0 +1,2554 @@ +this.Module||(this.Module={});if(!Module.arguments)try{Module.arguments=scriptArgs}catch(e$$5){try{Module.arguments=arguments}catch(e$$6){Module.arguments=[]}} +var Runtime={forceAlign:function(f,d){d=d||4;return isNumber(f)&&isNumber(d)?Math.ceil(f/d)*d:"Math.ceil(("+f+")/"+d+")*"+d},isNumberType:function(f){return f in Runtime.INT_TYPES||f in Runtime.FLOAT_TYPES},isPointerType:function(f){return pointingLevels(f)>0},isStructType:function(f){return isPointerType(f)?!1:RegExp(/^\[\d+\ x\ (.*)\]/g).test(f)?!0:!Runtime.isNumberType(f)&&f[0]=="%"},INT_TYPES:{i1:0,i8:0,i16:0,i32:0,i64:0},FLOAT_TYPES:{"float":0,"double":0},or64:function(f,d){return(f|0|d|0)+(Math.round(f/ +4294967296)|Math.round(d/4294967296))*4294967296},and64:function(f,d){return((f|0)&(d|0))+(Math.round(f/4294967296)&Math.round(d/4294967296))*4294967296},xor64:function(f,d){return((f|0)^(d|0))+(Math.round(f/4294967296)^Math.round(d/4294967296))*4294967296},getNativeFieldSize:function(f,d){var e={_i1:1,_i8:1,_i16:2,_i32:4,_i64:8,_float:4,_double:8}["_"+f];!e&&f[f.length-1]=="*"&&(e=4);d||(e=Math.max(e,4));return e},dedup:function(f,d){var e={};return d?f.filter(function(b){return e[b[d]]?!1:e[b[d]]= +!0}):f.filter(function(b){return e[b]?!1:e[b]=!0})},set:function(){for(var f=typeof arguments[0]==="object"?arguments[0]:arguments,d={},e=0;e<f.length;e++)d[f[e]]=0;return d},calculateStructAlignment:function(f){f.flatSize=0;f.alignSize=0;var d=[],e=-1;f.flatIndexes=f.fields.map(function(b){var a,g;Runtime.isNumberType(b)||Runtime.isPointerType(b)?g=a=Runtime.getNativeFieldSize(b,!0):Runtime.isStructType(b)?(a=Types.types[b].flatSize,g=Types.types[b].alignSize):(dprint("Unclear type in struct: "+ +b+", in "+f.name_),assert(0));g=f.packed?1:Math.min(g,4);f.alignSize=Math.max(f.alignSize,g);b=Runtime.alignMemory(f.flatSize,g);f.flatSize=b+a;e>=0&&d.push(b-e);return e=b});f.flatSize=Runtime.alignMemory(f.flatSize,f.alignSize);if(d.length==0)f.flatFactor=f.flatSize;else if(Runtime.dedup(d).length==1)f.flatFactor=d[0];f.needsFlattening=f.flatFactor!=1;return f.flatIndexes},generateStructInfo:function(f,d,e){var b,a;if(d){e=e||0;b=typeof Types==="undefined"?Runtime.typeInfo[d]:Types.types[d];if(!b)return null; +f||(f=Types.structMetadata[d.replace(/.*\./,"")]);if(!f)return null;assert(b.fields.length===f.length,"Number of named fields must match the type for "+d);a=b.flatIndexes}else b={fields:f.map(function(a){return a[0]})},a=Runtime.calculateStructAlignment(b);var g={__size__:b.flatSize};d?f.forEach(function(c,d){if(typeof c==="string")g[c]=a[d]+e;else{var f,j;for(j in c)f=j;g[f]=Runtime.generateStructInfo(c[f],b.fields[d],a[d])}}):f.forEach(function(b,d){g[b[1]]=a[d]});return g},stackAlloc:function(f){var d= +STACKTOP;_memset(STACKTOP,0,f);STACKTOP+=f;STACKTOP=Math.ceil(STACKTOP/4)*4;return d},staticAlloc:function(f){var d=STATICTOP;STATICTOP+=f;STATICTOP=Math.ceil(STATICTOP/4)*4;return d},alignMemory:function(f,d){return Math.ceil(f/(d?d:4))*(d?d:4)},__dummy__:0},CorrectionsMonitor={MAX_ALLOWED:0,corrections:0,sigs:{},note:function(f,d){d||(this.corrections++,this.corrections>=this.MAX_ALLOWED&&abort("\n\nToo many corrections!"))},print:function(){var f=[],d;for(d in this.sigs)f.push({sig:d,fails:this.sigs[d][0], +succeeds:this.sigs[d][1],total:this.sigs[d][0]+this.sigs[d][1]});f.sort(function(b,a){return a.total-b.total});for(d=0;d<f.length;d++){var e=f[d];print(e.sig+" : "+e.total+" hits, %"+Math.floor(100*e.fails/e.total)+" failures")}}};function cRound(f){return f>=0?Math.floor(f):Math.ceil(f)}var __globalConstructor__=function(){},__THREW__=!1,__ATEXIT__=[],ABORT=!1,undef=0;function abort(f){print(f+":\n"+Error().stack);ABORT=!0;throw"Assertion: "+f;} +function assert(f,d){f||abort("Assertion failed: "+d)}function setValue(f,d,e){e[e.length-1]==="*"&&(e="i32");switch(e){case "i1":HEAP8[f>>0]=d;break;case "i8":HEAP8[f>>0]=d;break;case "i16":HEAP16[f>>1]=d;break;case "i32":HEAP32[f>>2]=d;break;case "i64":HEAP32[f>>2]=d;break;case "float":HEAPF32[f>>2]=d;break;case "double":HEAPF32[f>>2]=d;break;default:abort("invalid type for setValue: "+e)}} +function getValue(f,d){d[d.length-1]==="*"&&(d="i32");switch(d){case "i1":return HEAP8[f>>0];case "i8":return HEAP8[f>>0];case "i16":return HEAP16[f>>1];case "i32":return HEAP32[f>>2];case "i64":return HEAP32[f>>2];case "float":return HEAPF32[f>>2];case "double":return HEAPF32[f>>2];default:abort("invalid type for setValue: "+d)}return null}var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2; +function allocate(f,d,e){var b,a;typeof f==="number"?(b=!0,a=f):(b=!1,a=f.length);for(var e=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc][e?e:ALLOC_STATIC](Math.max(a,1)),g=typeof d==="string"?d:null,c=0,h;c<a;){var k=b?0:f[c];typeof k==="function"&&(k=Runtime.getFunctionIndex(k));h=g||d[c];h===0?c++:(setValue(e+c,k,h),c+=Runtime.getNativeFieldSize(h,!0))}return e}Module.allocate=allocate; +function Pointer_stringify(f){for(var d="",e=0,b;;){b=String.fromCharCode(HEAPU8[f+e>>0]);if(b=="\0")break;d+=b;e+=1}return d}function Array_stringify(f){for(var d="",e=0;e<f.length;e++)d+=String.fromCharCode(f[e]);return d}var PAGE_SIZE=4096;function alignMemoryPage(f){return Math.ceil(f/PAGE_SIZE)*PAGE_SIZE}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,STACK_ROOT,STACKTOP,STACK_MAX,STATICTOP,HAS_TYPED_ARRAYS=!1,TOTAL_MEMORY=52428800,HAS_TYPED_ARRAYS=!1; +try{HAS_TYPED_ARRAYS=!!Int32Array&&!!Float64Array&&!!(new Int32Array(1)).subarray}catch(e$$7){}if(HAS_TYPED_ARRAYS){var buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer)}else{var FAST_MEMORY=TOTAL_MEMORY/32;HEAP=Array(FAST_MEMORY);for(var i=0;i<FAST_MEMORY;i++)HEAP[i]=0;abort("Cannot fallback to non-typed array case in USE_TYPED_ARRAYS == 2: Code is too specialized")} +for(var base=intArrayFromString("(null)"),i=0;i<base.length;i++)HEAP8[i>>0]=base[i];Module.HEAP=HEAP;Module.HEAP8=HEAP8;Module.HEAP16=HEAP16;Module.HEAP32=HEAP32;Module.HEAPU8=HEAPU8;Module.HEAPU16=HEAPU16;Module.HEAPU32=HEAPU32;Module.HEAPF32=HEAPF32;STACK_ROOT=STACKTOP=alignMemoryPage(10);var TOTAL_STACK=1048576;STACK_MAX=STACK_ROOT+TOTAL_STACK;STATICTOP=alignMemoryPage(STACK_MAX); +function __shutdownRuntime__(){for(;__ATEXIT__.length>0;){var f=__ATEXIT__.pop(),d=f.func;typeof d==="number"&&(d=FUNCTION_TABLE[d]);d(f.arg===void 0?null:f.arg)}CorrectionsMonitor.print()}function Array_copy(f,d){return HAS_TYPED_ARRAYS?Array.prototype.slice.call(HEAP8.subarray(f,f+d)):HEAP8.slice(f,f+d)}function String_len(f){for(var d=0;HEAP8[f+d>>0];)d++;return d}function String_copy(f,d){var e=String_len(f);d&&e++;var b=Array_copy(f,e);d&&(b[e-1]=0);return b} +if(typeof print==="undefined")print=console.log;function intArrayFromString(f,d){for(var e=[],b=0;b<f.length;){var a=f.charCodeAt(b);a>255&&(a&=255);e.push(a);b+=1}d||e.push(0);return e}Module.intArrayFromString=intArrayFromString;function intArrayToString(f){for(var d=[],e=0;e<f.length;e++){var b=f[e];b>255&&(b&=255);d.push(String.fromCharCode(b))}return d.join("")}function unSign(f,d){return f>=0?f:d<=32?2*Math.abs(1<<d-1)+f:Math.pow(2,d)+f} +function reSign(f,d){if(f<=0)return f;var e=d<=32?Math.abs(1<<d-1):Math.pow(2,d-1);f>=e&&(f=-2*e+f);return f} +var $struct_ACCENTS___SIZE=8,$struct_DIR___SIZE=0,$struct_DIR___FLATTENER=[],$struct_FILE___SIZE=148,$struct_FILE___FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,70,71,72,76,84,88,92,96,100,104,108],$struct_FMT_PARAMS___SIZE=48,$struct_LANGUAGE_OPTIONS___SIZE=280,$struct_LANGUAGE_OPTIONS___FLATTENER=[0,4,8,12,16,20,24,100,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,240,244,248,249,250,251,252,256,260,264,268,272,276],$struct_MBROLA_TAB___SIZE=24,$struct_MatchRecord___SIZE= +16,$struct_PARAM_STACK___SIZE=64,$struct_PHONEME_DATA___SIZE=152,$struct_PHONEME_DATA___FLATTENER=[0,4,68,88,108,124,128,132],$struct_PHONEME_LIST___SIZE=24,$struct_PHONEME_LIST___FLATTENER=[0,1,2,3,4,6,8,12,14,15,16,17,18,19,20,21],$struct_PHONEME_LIST2___SIZE=8,$struct_PHONEME_LIST2___FLATTENER=[0,1,2,3,4,6],$struct_PHONEME_TAB___SIZE=16,$struct_PHONEME_TAB___FLATTENER=[0,4,8,10,11,12,13,14,15],$struct_PHONEME_TAB_LIST___SIZE=48,$struct_PHONEME_TAB_LIST___FLATTENER=[0,32,36,40,44],$struct_REPLACE_PHONEMES___SIZE= +3,$struct_RESONATOR___SIZE=40,$struct_RGROUP___SIZE=28,$struct_RGROUP___FLATTENER=[0,16,20,24],$struct_SOUND_ICON___SIZE=16,$struct_SPECT_SEQ___SIZE=1104,$struct_SPECT_SEQ___FLATTENER=[0,2,3,4],$struct_SPECT_SEQK___SIZE=1604,$struct_SPECT_SEQK___FLATTENER=[0,2,3,4],$struct_SPEED_FACTORS___SIZE=64,$struct_SSML_STACK___SIZE=76,$struct_SSML_STACK___FLATTENER=[0,4,8,12,16,56],$struct_SYLLABLE___SIZE=6,$struct_TONE_HEAD___SIZE=16,$struct_TONE_HEAD___FLATTENER=[0,1,2,3,4,8,9,10,12],$struct_TONE_NUCLEUS___SIZE= +16,$struct_TONE_NUCLEUS___FLATTENER=[0,1,2,3,4,5,8,12,13,14],$struct_TUNE___SIZE=68,$struct_TUNE___FLATTENER=[0,12,16,24,25,26,27,28,29,30,31,32,33,34,35,36,39,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,64],$struct_Translator___SIZE=8328,$struct_Translator___FLATTENER=[0,280,284,288,292,332,632,652,656,660,668,676,692,696,700,704,708,964,968,1E3,1048,1052,1056,5152,5256,6280,6792,7272,7752,7756,8012,8268,8272,8276,8280,8284,8288,8292,8296,8300,8304,8308,8312,8316,8320,8324],$struct_WGEN_DATA___SIZE= +64,$struct_WORD_TAB___SIZE=12,$struct_WORD_TAB___FLATTENER=[0,4,6,8,9,10],$struct__IO_marker___SIZE=12,$struct_datablock___SIZE=16,$struct_dirent___SIZE=268,$struct_dirent___FLATTENER=[0,4,8,10,11],$struct_espeak_VOICE___SIZE=24,$struct_espeak_VOICE___FLATTENER=[0,4,8,12,13,14,15,16,20],$struct_frame_t___SIZE=64,$struct_frame_t___FLATTENER=[0,2,16,17,18,26,32,35,39,44,49,56,63],$struct_frame_t2___SIZE=44,$struct_frame_t2___FLATTENER=[0,2,16,17,18,26,32,35,39],$struct_frameref_t___SIZE=8,$struct_getopt_data___SIZE= +20,$struct_klatt_frame_t___SIZE=288,$struct_klatt_frame_t___FLATTENER=[0,4,8,48,88,128,168,172,176,180,184,188,192,196,200,204,208,248],$struct_klatt_global_t___SIZE=2748,$struct_klatt_global_t___FLATTENER=[0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,64,72,80,88,96,104,112,120,128,136,144,152,160,164,172,176,180,184,188,1468],$struct_klatt_peaks_t___SIZE=80,$struct_klatt_peaks_t___FLATTENER=[0,4,8,12,16,24,32,40,48,56,64,72],$struct_option___SIZE=16,$struct_pollfd___SIZE=8,$struct_pollfd___FLATTENER= +[0,4,6],$struct_resonator_t___SIZE=64,$struct_sonicStreamStruct___SIZE=88,$struct_stat___SIZE=88,$struct_stat___FLATTENER=[0,8,12,16,20,24,28,32,40,44,48,52,56,64,72,80,84],$struct_timespec___SIZE=8,$struct_voice_t___SIZE=1344,$struct_voice_t___FLATTENER=[0,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,144,162,180,198,216,234,252,272,308,344],_path_home,_end_of_sentence,__str,__str1,__str2,_stderr,__str3,__str4,__str5,_stdout,_f_wave,__str6,__ZZL12OpenWaveFilePKciE8wave_hdr,_quiet, +_wavefile_count,__str7,_wavefile,_filetype,_samples_split,_samples_total,__str8,__str10,__ZZ13DisplayVoicesP8_IO_FILEPcE7genders,__str11,__str12,__str13,__str14,__str15,__str16,__str17,__str18,__ZZ4mainE12long_options,__str19,__str20,__str21,__str22,__str23,__str24,__str25,__str26,__str27,__str28,__str29,__str30,__str31,__str32,__str33,__str34,__str35,__str36,__str37,_stdin,__str38,__str39,__str40,__str41,_uri_callback,_phoneme_callback,_voice_pcnt,_mnem_rules,_mnem_flags,__str143,__str244,__str345, +__str446,__str547,__str648,__str749,__str850,__str951,__str1052,__str1153,__str1254,__str1355,__str1456,__str1557,__str1658,__str1759,__str1860,__str1961,__str2062,__str2163,__str2264,__str2365,__str2466,__str2567,__str2668,__str2769,__str2870,__str2971,__str3072,__str3173,__str3274,__str3375,__str3476,__str3577,__str3678,__str3779,__str3880,__str3981,__str4082,__str4183,__str4284,__str43,__str44,__str45,__str46,__str47,__str48,__str49,__str50,__str51,__ZZ22print_dictionary_flagsPjE3buf,__str52,__ZL5f_log, +__str53,__ZL11hash_chains,__ZL11hash_counts,__ZZL16copy_rule_stringPcRiE6outbuf,__ZL9rule_cond,__ZL8rule_pre,__ZL10rule_match,__ZL9rule_post,__ZL13rule_phonemes,__ZZL16copy_rule_stringPcRiE16lettergp_letters,__ZL7linenum,__str54,__ZL11error_count,__ZL19letterGroupsDefined,__str55,__str56,__str57,__str58,__str59,__str60,__str61,__str62,__str63,__ZZL16copy_rule_stringPcRiE10next_state,__str64,__str65,__str66,__ZZ10DecodeRulePKciPciE10symbols_lg,__ZZ10DecodeRulePKciPciE7symbols,__ZZ10DecodeRulePKciPciE6output, +__str68,__str69,__ZZL12compile_linePcS_PiE10nullstring,__str70,__ZL9text_mode_b,__str71,__str72,__ZL21error_need_dictionary,__str73,__str74,__str75,__str76,__str77,__str79,__str80,__str82,__str83,__str84,__str85,__str86,__str87,__str88,__ZL10group_name,__str89,__str90,__str91,__ZL10debug_flag,__str92,__str93,__str95,__ZL9group3_ix,__str96,__str97,__str98,__str99,__str100,__str101,__str102,__str103,__str104,__str105,__str106,__str107,__str108,__str109,__str110,__str111,__str112,__str113,__str114,_dictionary_skipwords, +__ZZ13SetWordStressP10TranslatorPcPjiiE15consonant_types,__ZZ13SetWordStressP10TranslatorPcPjiiE10guess_ru_v,__ZZ13SetWordStressP10TranslatorPcPjiiE10guess_ru_t,__ZZ13SetWordStressP10TranslatorPcPjiiE8guess_ru,__ZL15stress_phonemes,__ZL13remove_accent,__ZZ12RemoveEndingP10TranslatorPciS1_E6ending,__ZZ12RemoveEndingP10TranslatorPciS1_E16add_e_exceptions,__str115,__ZZ12RemoveEndingP10TranslatorPciS1_E15add_e_additions,__str1116,__str2117,__str3118,__str4119,__str5120,__str6121,__str7122,__str8123,__str9124, +__str10125,_ipa1,__str11126,__str12127,__str13128,__str14129,__str15130,__str16131,__str17132,__str18133,__str19134,_dictionary_name,__str20136,__str21137,__str22138,__str23139,__str24140,__str25141,__ZZ14LookupDictListP10TranslatorPPcS1_PjiP8WORD_TABE16word_replacement,__str26142,__str27143,__ZZ11LookupFlagsP10TranslatorPKcE5flags,__ZZL9MatchRuleP10TranslatorPPcS1_iS1_P11MatchRecordiiE4best,__str28144,__str29145,__str30146,__str31147,__ZZ14TranslateRulesP10TranslatorPcS1_iS1_iPjE9str_pause,__str32148, +__ZL13diereses_list,__str33149,_env_fall,__ZL10number_pre,__ZL11number_tail,__ZL12last_primary,__ZL12syllable_tab,__ZL9tone_posn,__ZL10tone_posn2,__ZL8no_tonic_b,__ZL7drops_0,__ZZL18calc_pitch_segmentiiP9TONE_HEADP12TONE_NUCLEUSiiE12continue_tab,__ZL8min_drop,_tunes,__ZL14tone_pitch_env,__ZL15tone_head_table,__ZL5oflow,__ZL9oflow_emf,__ZL10oflow_less,__ZL18tone_nucleus_table,_env_rise,_env_frise,_envelope_data,__ZL11env_r_frise,__ZL10env_frise2,__ZL12env_r_frise2,__ZL12env_risefall,__ZL13env_fallrise3, +__ZL13env_fallrise4,__ZL9env_fall2,__ZL9env_rise2,__ZL16env_risefallrise,_punctuation_to_tone,_n_tunes,_namedata,__ZL10ungot_char,__ZZL13WordToString2jE3buf,__ZL13n_param_stack,_param_stack,__ZL11ungot_char2,__ZL12n_ssml_stack,__ZL10ssml_stack,__ZL17speech_parameters,__ZL16current_voice_id,__ZL11ignore_text_b,__ZL10audio_text_b,__ZL19clear_skipping_text_b,_count_characters,__ZL10sayas_mode,__ZL7xmlbase,__str157,__ZL11namedata_ix,__ZL10n_namedata,__ZZL17ProcessParamStackPcRiE10cmd_letter,__str1158, +__ZZL14ReplaceKeyNamePciRiE5C_163,__str2159,__str3160,__str4161,__str5162,__ZL10walpha_tab,__str7164,__ZZL14LookupCharNameP10TranslatoriiE3buf,__str8165,__str9166,__str10167,__str11168,__str12169,__str13170,__str14171,__str15172,__str16173,__ZZL14LoadSoundFile2PKcE4slot,__ZL7f_input,_p_wchar_input,__ZL12end_of_input_b,_p_textinput,__ZZL4GetCvE6ungot2,__ZZL4GetCvE5mask2,__str17174,__str18175,__str19176,__str20177,__str21178,__ZL19ssml_ignore_l_angle,__ZL11punct_chars,__ZL16punct_attributes,__ZZL16GetSsmlAttributePwPKcE5empty, +__str22179,__str23180,__str24181,__str25182,__str26183,__ZZL18GetVoiceAttributesPwiE11mnem_gender,__str27184,__str28185,__str29186,__ZZL19SetProsodyParameteriPwP11PARAM_STACKE9mnem_tabs,__ZZL19SetProsodyParameteriPwP11PARAM_STACKE9mnem_rate,__str30187,__str31188,__str32189,__str33190,__str34191,__ZZL19SetProsodyParameteriPwP11PARAM_STACKE11mnem_volume,__str35192,__str36193,__str37194,__str38195,__str39196,__ZZL19SetProsodyParameteriPwP11PARAM_STACKE10mnem_pitch,__str40197,__str41198,__str42199,__str43200, +__ZZL19SetProsodyParameteriPwP11PARAM_STACKE10mnem_range,__ZL8ssmltags,__str44201,__str45202,__str46203,__str47204,__str48205,__str49206,__str50207,__str51208,__str52209,__str53210,__str54211,__str55212,__str56213,__str57214,__str58215,__str59216,__str60217,__str61218,__str62219,__str63220,__str64221,__str65222,__str66223,__str67224,__str68225,__str69226,__str70227,__str71228,__str72229,__str73230,__str74231,__str75232,__ZL22ignore_if_self_closing,__str76233,__str77234,__str78235,__ZZL14ProcessSsmlTagPwPcRiiiE10mnem_punct, +__str79236,__str80237,__str81238,__str82239,__ZZL14ProcessSsmlTagPwPcRiiiE13mnem_capitals,__str83240,__str84241,__str85242,__str86243,__ZZL14ProcessSsmlTagPwPcRiiiE12prosody_attr,__str87244,__str88245,__str89246,__str90247,__ZZL14ProcessSsmlTagPwPcRiiiE13mnem_emphasis,__str91248,__str92249,__ZZL14ProcessSsmlTagPwPcRiiiE23emphasis_to_pitch_range,__ZZL14ProcessSsmlTagPwPcRiiiE18emphasis_to_volume,__str93250,__str94251,__str95252,__ZZL14ProcessSsmlTagPwPcRiiiE17mnem_interpret_as,__str96253,__str97254, +__str98255,__str99256,__str100257,__ZZL14ProcessSsmlTagPwPcRiiiE17mnem_sayas_format,__str101258,__str102259,__ZL11sayas_start,__str103260,__str104261,__str105262,__str106263,__str107264,__str108265,__str109266,__ZZL14ProcessSsmlTagPwPcRiiiE10mnem_break,__str110267,__str111268,__str112269,__str113270,__ZZL14ProcessSsmlTagPwPcRiiiE11break_value,__str114271,__str115272,__ZL10ungot_word,__ZZ10ReadClauseP10TranslatorP8_IO_FILEPcPsPiiS5_S3_E15ungot_string_ix,__ZZ10ReadClauseP10TranslatorP8_IO_FILEPcPsPiiS5_S3_E12ungot_string, +__str116,__str117,__ZL18xml_char_mnemonics,__str119,__str120,__str121,__str122,__str123,__str124,__str125,__ZL12chars_ignore,__str126,__str127,_param_defaults,__ZL6speed1,__ZL6speed2,__ZL6speed3,__ZL12speed_lookup,__ZL14wav_factor_350,__ZL16pause_factor_350,__ZZ11CalcLengthsP10TranslatorE14more_syllables,__str279,__str281,__str1282,__str2283,__str3284,__ZL14number_control,__str4285,__str5286,__str6287,__str7288,__str8289,__str9290,__str10291,__str11292,__str12293,__str13294,__ZL23speak_missing_thousands, +__str14295,__str15296,__str16297,__ZL14n_digit_lookup,__ZL12digit_lookup,__str17298,__ZL11ph_ordinal2,__str18299,__str19300,__str20301,__str21302,__str22303,__str23304,__str24305,__str25306,__str26307,__str27308,__str28309,__str29310,__str30311,__str31312,__str32313,__str33314,__str34315,__str35316,__str36317,__str37318,__str38319,__str39320,__str40321,__str41322,__ZZL17TranslateNumber_1P10TranslatorPcS1_PjP8WORD_TABiE9str_pause,__str42323,__ZZ14TranslateRomanP10TranslatorPcS1_P8WORD_TABE12roman_values, +__str43324,__str44325,__ZL18letter_accents_0e0,__ZL18letter_accents_250,__ZL13non_ascii_tab,__ZL11accents_tab,__str45326,__str46327,__str47328,__str48329,__str49330,__str50331,__str51332,__str52333,__str53334,__str54335,__str55336,__str56337,__str57338,__str58339,__str59340,__str60341,__str61342,__str62343,__str63344,__str64345,__str65346,__str66347,__str67348,__str68349,__str69350,__ZZ12LookupLetterP10TranslatorjiPciE13single_letter,__str70351,__str72353,__str73354,__str74355,__str75356,__str76357, +__str77358,__str78359,_option_mbrola_phonemes,__ZZL10GetMbrNameP12PHONEME_LISTP11PHONEME_TABS2_S2_PiS3_S3_E4mnem,__ZL10mbrola_tab,__ZL15mbr_name_prefix,__ZZ10MbrolaFilliiE9n_samples,__ZZL10WritePitchiiiiiE6output,__str363,__str1364,__str2366,__str3367,__ZZ15MbrolaTranslateP12PHONEME_LISTiiP8_IO_FILEE4phix,__ZZ15MbrolaTranslateP12PHONEME_LISTiiP8_IO_FILEE11embedded_ix,__ZZ15MbrolaTranslateP12PHONEME_LISTiiP8_IO_FILEE10word_count,__str4368,__str5369,__str6370,__str7371,__str8372,__str9373,__str10374, +__str11375,__str12376,__str13377,__str14378,__str15379,__str16380,__ZL14mbrola_control,_version_string,_phoneme_tab,_n_phoneme_tab,__ZZL15StressConditionP10TranslatorP12PHONEME_LISTiiE15condition_level,__ZZL18InterpretConditionP10TranslatoriP12PHONEME_LISTiE11ph_position,__ZZL13NumInstnWordsPtE7n_words,_phoneme_tab_flags,_phoneme_tab_list,_current_phoneme_table,__str385,_phoneme_index,_logging_type,__str1386,__str2387,__str3388,__str4389,__str5390,_f_logespeak,__str7392,__str8393,__str9394,_option_device_number, +__str10395,__str11396,_phoneme_tab_number,_n_phoneme_tables,__str12398,_phondata_ptr,_seq_len_adjust,__ZZ11LookupSpectP11PHONEME_TABiP10FMT_PARAMSPiP12PHONEME_LISTE10frames_buf,_wavefile_ix,__ZL16phoneme_tab_data,__str13399,__str14400,__str15401,__str16402,__str17403,__str18404,_wavefile_data,__str19405,_version_phdata,_wavefile_amp,_wavefile_ix2,_wavefile_amp2,_vowel_transition,_vowel_transition0,_vowel_transition1,_this_ph_data,_n_phoneme_list,__ZZ12WordToStringjE3buf,__ZL14last_pitch_cmd,__ZL12last_amp_cmd, +__ZL10last_frame,__ZL15syllable_centre,__ZL10amp_length,_speed,__ZZL10AllocFramevE2ix,__ZZL10AllocFramevE10frame_pool,__ZZL13set_frame_rmsP7frame_tiE8sqrt_tab,__ZL12syllable_end,__ZL14syllable_start,__ZL8timer_on_b,__ZL6paused_b,__ZL10last_wcmdq,__ZL12pitch_length,__ZL13fmt_amplitude,__ZL10modn_flags,__ZZ18FormantTransition2P10frameref_tRijjP11PHONEME_TABiE10vcolouring,_n_soundicon_tab,_soundicon_tab,__ZZ8DoSpect2P11PHONEME_TABiP10FMT_PARAMSP12PHONEME_LISTiE9wave_flag_b,_mbrola_name,__ZZ8GenerateP12PHONEME_LISTPiiE2ix, +__ZZ8GenerateP12PHONEME_LISTPiiE11embedded_ix,__ZZ8GenerateP12PHONEME_LISTPiiE10word_count,__ZZ8GenerateP12PHONEME_LISTPiiE8sourceix,__ZZ15SpeakNextClauseP8_IO_FILEPKviE6f_text,__ZZ15SpeakNextClauseP8_IO_FILEPKviE6p_text,_phoneme_list,__str420,__str1421,__ZL9new_voice,_mbrola_delay,_translator,__ZL15length_mod_tabs,__ZL14length_mods_en,__ZL15length_mods_en0,__ZL17length_mods_equal,__ZL8brackets,__ZZ8utf8_outjPcE4code,__ZZ8utf8_in2PiPKciE4mask,__ZL13embedded_flag_b,_count_sentences,_count_words,_end_character_position, +_skip_sentences,_skip_marker,_skip_words,_skip_characters,_skipping_text,_new_sentence,_option_sayas,__ZL13option_sayas2,__ZL15option_emphasis,__ZL13word_emphasis_b,_extra_indic_alphas_4864,__ZZL14SubstituteCharP10TranslatorjjPiE11ignore_next_b,_word_phonemes,_option_phonemes,_f_trans,__str445,__str1446,__str2447,__ZL6source,__ZL11embedded_ix,__ZL18count_sayas_digits,_embedded_list,__str3449,_option_tone_flags,__str4451,__str5452,__ZZ13TranslateWordP10TranslatorPciP8WORD_TABE7word_ss,__str6453,__ZZ13TranslateWordP10TranslatorPciP8WORD_TABE7word_zz, +__ZZ13TranslateWordP10TranslatorPciP8WORD_TABE7word_iz,__str7454,__ZL18any_stressed_words_b,_translator2,__ZL20translator2_language,__str8456,__str9457,__ZL13embedded_read,_option_capitals,__str10459,_n_ph_list2,_ph_list2,__ZZL13TranslateCharP10TranslatorPcijjPiE20hangul_compatibility,_pre_pause,_clause_start_char,_clause_start_word,__ZZ15TranslateClauseP10TranslatorP8_IO_FILEPKvPiPPcE17voice_change_name,__str11463,__str12464,__ZL16max_clause_pause,_ctrl_embedded,_option_phoneme_input,__ZL6breaks, +_option_endpause,_option_multibyte,_option_tone2,_option_phoneme_events,_option_quiet,_option_punctuation,_option_ssml,_option_phoneme_variants,_option_wordgap,_option_punctlist,_option_linelength,_n_replace_phonemes,_replace_phonemes,_charsets,__ZL10ISO_8859_1,__ZL10ISO_8859_2,__ZL10ISO_8859_3,__ZL10ISO_8859_4,__ZL10ISO_8859_5,__ZL10ISO_8859_7,__ZL10ISO_8859_9,__ZL11ISO_8859_14,__ZL6KOI8_R,__ZL5ISCII,__ZL14mbr_samplerate,__ZL12mbr_errorbuf,__str489,__ZL7mbr_pid,__str1490,__str2491,__str3492,__str4493, +__str5494,__str6495,__str7496,__ZL12mbr_error_fd,__str8497,__str9498,__str10499,__str11500,__ZL9mbr_state,__ZL13mbr_proc_stat,__ZL10mbr_cmd_fd,__ZL12mbr_audio_fd,__str12501,__ZL21mbr_pending_data_head,__ZL21mbr_pending_data_tail,__str13502,__ZL14mbr_voice_path,__ZL10mbr_volume,__str14503,__str15504,__str16505,__str17506,__str18507,__str19508,__str20509,__str21510,__str22511,__str23512,__str24513,__str25514,__str26515,__str27516,__str28517,__str29518,__str30519,__str31520,__str32521,__str33522,__str34523, +__str35524,__ZL8pairs_ru,__ZZL18SetCyrillicLettersP10TranslatorE9ru_vowels,__ZZL18SetCyrillicLettersP10TranslatorE7ru_soft,__ZZL18SetCyrillicLettersP10TranslatorE13ru_consonants,__ZZL18SetCyrillicLettersP10TranslatorE7ru_hard,__ZZL18SetCyrillicLettersP10TranslatorE10ru_nothard,__ZZL18SetCyrillicLettersP10TranslatorE9ru_voiced,__ZZL18SetCyrillicLettersP10TranslatorE10ru_ivowels,__ZZ15SetIndicLettersP10TranslatorE15dev_consonants2,__ZZL18Translator_RussianP10TranslatorE17stress_lengths_ru,__ZZL18Translator_RussianP10TranslatorE14stress_amps_ru, +__ZZL18Translator_RussianP10TranslatorE11ru_ivowels2,__str532,__str1533,__str2534,__str3535,__str4536,__str5537,__str6538,__str7539,__ZZL13NewTranslatorvE13empty_wstring,__ZZL13NewTranslatorvE13punct_in_word,__ZZL13NewTranslatorvE12stress_amps2,__ZZL13NewTranslatorvE15stress_lengths2,__str8540,__ZZL13NewTranslatorvE13default_tunes,__ZZ16SelectTranslatorPKcE17stress_lengths_af,__ZZ16SelectTranslatorPKcE17stress_lengths_fr,__ZZ16SelectTranslatorPKcE14stress_amps_fr,__ZZ16SelectTranslatorPKcE17stress_lengths_bn, +__ZZ16SelectTranslatorPKcE14stress_amps_bn,__ZZ16SelectTranslatorPKcE17stress_lengths_cy,__ZZ16SelectTranslatorPKcE14stress_amps_cy,__ZZ16SelectTranslatorPKcE17stress_lengths_da,__ZZ16SelectTranslatorPKcE17stress_lengths_de,__ZZ16SelectTranslatorPKcE14stress_amps_de,__ZZ16SelectTranslatorPKcE17stress_lengths_ta,__ZZ16SelectTranslatorPKcE14stress_amps_ta,__ZZ16SelectTranslatorPKcE17stress_lengths_en,__ZZ16SelectTranslatorPKcE17stress_lengths_el,__ZZ16SelectTranslatorPKcE14stress_amps_el,__ZZ16SelectTranslatorPKcE18el_char_apostrophe, +__ZZ16SelectTranslatorPKcE9el_vowels,__ZZ16SelectTranslatorPKcE12el_voiceless,__ZZ16SelectTranslatorPKcE13el_consonants,__ZZ16SelectTranslatorPKcE10el_fvowels,__ZZ16SelectTranslatorPKcE17stress_lengths_eo,__ZZ16SelectTranslatorPKcE14stress_amps_eo,__ZZ16SelectTranslatorPKcE18eo_char_apostrophe,__ZZ16SelectTranslatorPKcE17stress_lengths_es,__ZZ16SelectTranslatorPKcE14stress_amps_es,__ZZ16SelectTranslatorPKcE20ca_punct_within_word,__ZZ16SelectTranslatorPKcE17stress_lengths_eu,__ZZ16SelectTranslatorPKcE14stress_amps_eu, +__ZZ16SelectTranslatorPKcE17stress_lengths_fi,__ZZ16SelectTranslatorPKcE14stress_amps_fi,__ZZ16SelectTranslatorPKcE17stress_lengths_hi,__ZZ16SelectTranslatorPKcE14stress_amps_hi,__ZZ16SelectTranslatorPKcE17stress_lengths_sr,__ZZ16SelectTranslatorPKcE14stress_amps_hr,__ZZ16SelectTranslatorPKcE17stress_lengths_hr,__ZL22replace_cyrillic_latin,__ZZ16SelectTranslatorPKcE17stress_lengths_hu,__ZZ16SelectTranslatorPKcE14stress_amps_hu,__ZZ16SelectTranslatorPKcE17stress_lengths_hy,__ZZ16SelectTranslatorPKcE9hy_vowels, +__ZZ16SelectTranslatorPKcE13hy_consonants,__ZZ16SelectTranslatorPKcE17stress_lengths_id,__ZZ16SelectTranslatorPKcE14stress_amps_id,__ZZ16SelectTranslatorPKcE17stress_lengths_is,__str9541,__str10542,__ZZ16SelectTranslatorPKcE16is_lettergroup_B,__ZZ16SelectTranslatorPKcE17stress_lengths_it,__ZZ16SelectTranslatorPKcE14stress_amps_it,__ZZ16SelectTranslatorPKcE18stress_lengths_jbo,__ZZ16SelectTranslatorPKcE21jbo_punct_within_word,__ZZ16SelectTranslatorPKcE9ka_vowels,__ZZ16SelectTranslatorPKcE13ka_consonants, +__ZZ16SelectTranslatorPKcE10ko_ivowels,__ZZ16SelectTranslatorPKcE9ko_voiced,__ZZ16SelectTranslatorPKcE17stress_lengths_ku,__ZZ16SelectTranslatorPKcE14stress_amps_ku,__ZZ16SelectTranslatorPKcE17stress_lengths_lv,__ZZ16SelectTranslatorPKcE14stress_amps_lv,__ZZ16SelectTranslatorPKcE17stress_lengths_mk,__ZZ16SelectTranslatorPKcE14stress_amps_mk,__ZZ16SelectTranslatorPKcE15vowels_cyrillic,__str11543,__ZZ16SelectTranslatorPKcE17stress_lengths_nl,__ZZ16SelectTranslatorPKcE17stress_lengths_no,__ZZ16SelectTranslatorPKcE17stress_lengths_om, +__ZZ16SelectTranslatorPKcE14stress_amps_om,__ZZ16SelectTranslatorPKcE17stress_lengths_pl,__ZZ16SelectTranslatorPKcE14stress_amps_pl,__ZZ16SelectTranslatorPKcE17stress_lengths_pt,__ZZ16SelectTranslatorPKcE14stress_amps_pt,__str12544,__ZZ16SelectTranslatorPKcE17stress_lengths_ro,__ZZ16SelectTranslatorPKcE14stress_amps_ro,__ZZ16SelectTranslatorPKcE17stress_lengths_sk,__ZZ16SelectTranslatorPKcE14stress_amps_sk,__str13545,__ZZ16SelectTranslatorPKcE17stress_lengths_sq,__ZZ16SelectTranslatorPKcE14stress_amps_sq, +__ZZ16SelectTranslatorPKcE17stress_lengths_sv,__ZZ16SelectTranslatorPKcE14stress_amps_sv,__ZZ16SelectTranslatorPKcE17stress_lengths_sw,__ZZ16SelectTranslatorPKcE14stress_amps_sw,__ZZ16SelectTranslatorPKcE17stress_lengths_tr,__ZZ16SelectTranslatorPKcE14stress_amps_tr,__ZZ16SelectTranslatorPKcE17stress_lengths_vi,__ZZ16SelectTranslatorPKcE14stress_amps_vi,__ZZ16SelectTranslatorPKcE9vowels_vi,__ZZ16SelectTranslatorPKcE17stress_lengths_zh,__ZZ16SelectTranslatorPKcE14stress_amps_zh,_genders,_voice_selected, +__str548,__str1549,__str2550,__str3551,_voice,__ZL9voicedata,__str4553,__str5554,__str6555,__str7556,__str8557,__str9558,__str10559,__str11560,__str12561,__str13562,__ZL13n_voices_list,__str14563,__str15564,__ZL15len_path_voices,__ZL11voices_list,__str16565,__ZZ17espeak_ListVoicesE6voices,__str17566,__str18567,__str19568,__ZZL23ExtractVoiceVariantNamePciE12variant_name,__str20569,__str21570,__str22571,__str23572,__ZZ11SelectVoiceP12espeak_VOICEPiE3buf,__ZZ11SelectVoiceP12espeak_VOICEPiE8voice_id, +__str24573,_variant_lists,__ZL15variants_either,__ZL13variants_male,__ZL15variants_female,__ZZ11SelectVoiceP12espeak_VOICEPiE14voice_variants,__str25574,__str26575,__ZZ10VoiceResetiE15default_heights,__ZZ10VoiceResetiE14default_widths,__ZZ10VoiceResetiE13breath_widths,__ZL18formant_rate_22050,_formant_rate,_tone_points,__str27578,__str28579,__str29580,__str30581,__str31582,__str32583,__ZZ9LoadVoicePKciE16voice_identifier,__ZZ9LoadVoicePKciE10voice_name,__ZZ9LoadVoicePKciE15voice_languages,__str33584, +__ZL11keyword_tab,__str34585,__str35586,__str36587,__str37588,__str38589,__str39590,__str40591,__str41592,__str42593,__str43594,__str44595,__str45596,__str46597,__str47598,__str48599,__str49600,__str50601,__str51602,__str52603,__str53604,__str54605,__str55606,__str56607,__str57608,__str58609,__str59610,__str60611,__str61612,__str62613,__str63614,__str64615,__str65616,__str66617,__str67618,__str68619,__str69620,__str70621,__str71622,__str72623,__str73624,__str74625,__str75626,__ZL11options_tab,__str76627, +__str77628,__str78629,__str79630,__str80631,__str81632,__str82633,__ZZ14SetVoiceByNamePKcE3buf,_sin_tab,_wcmdq_head,_wcmdq_tail,_embedded_value,__ZZ12GetAmplitudevE12amp_emphasis,__ZL17general_amplitude,_wvoice,_samplerate,__ZL8pk_shape,__ZL11peak_height,__ZL13peak_harmonic,__ZL16option_harmonic1_b,__ZL9harmspect,__ZL8harm_inc,_wdata,__ZL6amp_ix,__ZL7amp_inc,__ZZL17AdvanceParametersvE10Flutter_ix,__ZL11Flutter_tab,__ZL11flutter_amp,__ZL11Flutter_inc,__ZL11samplecount,__ZL17samplecount_start,__ZL5peaks, +__ZL8nsamples,__ZL9wavephase,__ZZL11PlaySilenceiiE9n_samples,_echo_tail,_echo_buf,_echo_amp,_out_ptr,_echo_head,_out_end,__ZZL8PlayWaveiiPhiiE9n_samples,__ZZL8PlayWaveiiPhiiE2ix,__ZL13consonant_amp,__ZL13amplitude_env,_pitch_adjust_tab,__ZL8end_wave_b,__ZL15modulation_type,__ZL12glottal_flag,__ZZ8SetSynthiiP7frame_tS0_P7voice_tE19glottal_reduce_tab1,__ZL14glottal_reduce,__ZZ8SetSynthiiP7frame_tS0_P7voice_tE19glottal_reduce_tab2,_wcmdq,__ZL18sonicSpeedupStream,_sonicSpeed,__ZL7voicing,__ZL11echo_length, +__ZZ15WavegenSetVoiceP7voice_tE2v2,_pk_shape1,__ZL9pk_shape2,__ZL12embedded_max,__ZL10minus_pi_t,__ZL8two_pi_t,__ZL7rbreath,__ZL7hswitch,__ZL6hspect,__ZZ7WavegenvE5maxh2,__ZZ7WavegenvE10amplitude2,__ZZ7WavegenvE13h_switch_sign,__ZL16PHASE_INC_FACTOR,__ZL8phaseinc,__ZL13cycle_samples,__ZL9hf_factor,__ZZ7WavegenvE4maxh,__ZZ7WavegenvE3agc,__ZL15wavemult_offset,__ZL6cbytes,__ZZ7WavegenvE11cycle_count,__ZL14modulation_tab,__ZL12wavemult_max,__ZL8wavemult,__ZZ12WavegenFill2iE13echo_complete,__ZZ12WavegenFill2iE6resume, +_current_source_index,_samplerate_native,_embedded_default,_f_log,_option_waveout,_option_log_frames,_out_start,_outbuf_size,_pause_phonemes,__ZZ15MakePhonemeListP10TranslatoriiE12types_double,__ZL10kt_globals,__ZZL16impulsive_sourcevE7doublet,__ZZL16impulsive_sourcevE5vwave,__ZZL14natural_sourcevE5vwave,__ZZL7DBtoLINlE8amptable,__ZZL10frame_initP13klatt_frame_tE14amp_par_factor,__ZZL21pitch_synch_par_resetP13klatt_frame_tE2B0,__ZZL21pitch_synch_par_resetP13klatt_frame_tE4skew,__ZL12sample_count, +__ZL13scale_wav_tab,__ZZ9KlattInitvE15natural_samples,__ZZ9KlattInitvE10formant_hz,__ZL8kt_frame,__ZZ9KlattInitvE9bandwidth,__ZZ9KlattInitvE12parallel_amp,__ZZ9KlattInitvE11parallel_bw,__ZL8end_wave667,__ZZ14SetSynth_KlattiiP7frame_tS0_P7voice_tiE7prev_fr,__ZL6klattp,__ZL7klattp1,__ZL10klattp_inc,__ZL8nsamples668,__ZL5peaks669,__ZZL7flutterP13klatt_frame_tE10time_count,__ZZL9gen_noisedE5nlast,__ZZL7parwaveP13klatt_frame_tE5noise,__ZZL7parwaveP13klatt_frame_tE5voice,__ZZL7parwaveP13klatt_frame_tE5vlast, +__ZZL7parwaveP13klatt_frame_tE5sourc,__ZZL7parwaveP13klatt_frame_tE8glotlast,__str673,__str1674,_optarg,_optind,_opterr,_optopt,__ZL8optwhere,__str684,__str1685,__str2686,__str3687,__str4688,__str5689,__str6690,_llvm_dbg_declare,_setlocale=function(){return 0},ERRNO_CODES={E2BIG:7,EACCES:13,EADDRINUSE:98,EADDRNOTAVAIL:99,EAFNOSUPPORT:97,EAGAIN:11,EALREADY:114,EBADF:9,EBADMSG:74,EBUSY:16,ECANCELED:125,ECHILD:10,ECONNABORTED:103,ECONNREFUSED:111,ECONNRESET:104,EDEADLK:35,EDESTADDRREQ:89,EDOM:33,EDQUOT:122, +EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:113,EIDRM:43,EILSEQ:84,EINPROGRESS:115,EINTR:4,EINVAL:22,EIO:5,EISCONN:106,EISDIR:21,ELOOP:40,EMFILE:24,EMLINK:31,EMSGSIZE:90,EMULTIHOP:72,ENAMETOOLONG:36,ENETDOWN:100,ENETRESET:102,ENETUNREACH:101,ENFILE:23,ENOBUFS:105,ENODATA:61,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:37,ENOLINK:67,ENOMEM:12,ENOMSG:42,ENOPROTOOPT:92,ENOSPC:28,ENOSR:63,ENOSTR:60,ENOSYS:38,ENOTCONN:107,ENOTDIR:20,ENOTEMPTY:39,ENOTRECOVERABLE:131,ENOTSOCK:88,ENOTSUP:95,ENOTTY:25,ENXIO:6,EOVERFLOW:75, +EOWNERDEAD:130,EPERM:1,EPIPE:32,EPROTO:71,EPROTONOSUPPORT:93,EPROTOTYPE:91,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:116,ETIME:62,ETIMEDOUT:110,ETXTBSY:26,EWOULDBLOCK:11,EXDEV:18},___setErrNo=function ___setErrNo(d){if(!___setErrNo.ptr)___setErrNo.ptr=allocate([0],"i32",ALLOC_STATIC);return HEAP32[___setErrNo.ptr>>2]=d};_stderr=_stdout=_stdin=0; +var FS={root:{read:!0,write:!1,isFolder:!0,isDevice:!1,timestamp:"2011-07-31T01:45:36.104Z",inodeNumber:1,contents:{}},currentPath:"/",nextInode:2,cmask:511,streams:[null],ignorePermissions:!0,absolutePath:function(f,d){if(typeof f!=="string")return null;if(d===void 0)d=FS.currentPath;f&&f[0]=="/"&&(d="");for(var e=(d+"/"+f).split("/").reverse(),b=[""];e.length;){var a=e.pop();a==""||a=="."||(a==".."?b.length>1&&b.pop():b.push(a))}return b.length==1?"/":b.join("/")},analyzePath:function(f,d,e){var b= +{isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null},f=FS.absolutePath(f);if(f=="/")b.isRoot=!0,b.exists=b.parentExists=!0,b.name="/",b.path=b.parentPath="/",b.object=b.parentObject=FS.root;else if(f!==null)for(var e=e||0,f=f.slice(1).split("/"),a=FS.root,g=[""];f.length;){if(f.length==1&&a.isFolder)b.parentExists=!0,b.parentPath=g.length==1?"/":g.join("/"),b.parentObject=a,b.name=f[0];var c=f.shift();if(a.isFolder)if(a.read){if(!a.contents.hasOwnProperty(c)){b.error= +ERRNO_CODES.ENOENT;break}}else{b.error=ERRNO_CODES.EACCES;break}else{b.error=ERRNO_CODES.ENOTDIR;break}a=a.contents[c];if(a.link&&!(d&&f.length==0)){if(e>40){b.error=ERRNO_CODES.ELOOP;break}b=FS.absolutePath(a.link,g.join("/"));return FS.analyzePath([b].concat(f).join("/"),d,e+1)}g.push(c);if(f.length==0)b.exists=!0,b.path=g.join("/"),b.object=a}return b},findObject:function(f,d){var e=FS.analyzePath(f,d);return e.exists?e.object:(___setErrNo(e.error),null)},createObject:function(f,d,e,b,a){f||(f= +"/");typeof f==="string"&&(f=FS.findObject(f));if(!f)throw ___setErrNo(ERRNO_CODES.EACCES),Error("Parent path must exist.");if(!f.isFolder)throw ___setErrNo(ERRNO_CODES.ENOTDIR),Error("Parent must be a folder.");if(!f.write&&!FS.ignorePermissions)throw ___setErrNo(ERRNO_CODES.EACCES),Error("Parent folder must be writeable.");if(!d||d=="."||d=="..")throw ___setErrNo(ERRNO_CODES.ENOENT),Error("Name must not be empty.");if(f.contents.hasOwnProperty(d))throw ___setErrNo(ERRNO_CODES.EEXIST),Error("Can't overwrite object."); +f.contents[d]={read:b===void 0?!0:b,write:a===void 0?!1:a,timestamp:new Date,inodeNumber:FS.nextInode++};for(var g in e)e.hasOwnProperty(g)&&(f.contents[d][g]=e[g]);return f.contents[d]},createFolder:function(f,d,e,b){return FS.createObject(f,d,{isFolder:!0,isDevice:!1,contents:{}},e,b)},createPath:function(f,d,e,b){f=FS.findObject(f);if(f===null)throw Error("Invalid parent.");for(d=d.split("/").reverse();d.length;){var a=d.pop();a&&(f.contents.hasOwnProperty(a)||FS.createFolder(f,a,e,b),f=f.contents[a])}return f}, +createFile:function(f,d,e,b,a){e.isFolder=!1;return FS.createObject(f,d,e,b,a)},createDataFile:function(f,d,e,b,a){if(typeof e==="string"){for(var g=[],c=0;c<e.length;c++)g.push(e.charCodeAt(c));e=g}return FS.createFile(f,d,{isDevice:!1,contents:e},b,a)},createLazyFile:function(f,d,e,b,a){return FS.createFile(f,d,{isDevice:!1,url:e},b,a)},createLink:function(f,d,e,b,a){return FS.createFile(f,d,{isDevice:!1,link:e},b,a)},createDevice:function(f,d,e,b){if(!e&&!b)throw Error("A device must have at least one callback defined."); +return FS.createFile(f,d,{isDevice:!0,input:e,output:b},Boolean(e),Boolean(b))},forceLoadFile:function(f){if(f.isDevice||f.isFolder||f.link||"contents"in f)return!0;var d=!0;if(typeof XMLHttpRequest!=="undefined"){var e=new XMLHttpRequest;e.open("GET",f.url,!1);e.responseType="arraybuffer";e.overrideMimeType("text/plain; charset=x-user-defined");e.send(null);e.status!=200&&e.status!=0&&(d=!1);f.contents=e.response?new Uint8Array(e.response):intArrayFromString(e.responseText||"",!0)}else if(typeof read!== +"undefined")try{f.contents=intArrayFromString(read(f.url),!0)}catch(b){d=!1}else throw Error("Cannot load without read() or XMLHttpRequest.");d||___setErrNo(ERRNO_CODES.EIO);return d},init:function(f,d,e){if(!FS.init.initialized){FS.init.initialized=!0;f||(f=function(){if(!f.cache){var a;window&&typeof window.prompt=="function"?a=window.prompt("Input: "):typeof readline=="function"&&(a=readline());if(!a)return null;f.cache=intArrayFromString(a+"\n",!0)}return f.cache.shift()});d||(d=function(a){if(!d.printer)d.printer= +typeof print=="function"?print:console&&typeof console.log=="function"?console.log:function(){};if(!d.buffer)d.buffer=[];a===null||a==="\n".charCodeAt(0)?(d.printer(d.buffer.join("")),d.buffer=[]):d.buffer.push(String.fromCharCode(a))});e||(e=d);FS.createFolder("/","tmp",!0,!0);var b=FS.createFolder("/","dev",!0,!1),a=FS.createDevice(b,"stdin",f),g=FS.createDevice(b,"stdout",null,d),c=FS.createDevice(b,"stderr",null,e);FS.createDevice(b,"tty",f,e);FS.streams[1]={path:"/dev/stdin",object:a,position:0, +isRead:!0,isWrite:!1,isAppend:!1,error:!1,eof:!1,ungotten:[]};FS.streams[2]={path:"/dev/stdout",object:g,position:0,isRead:!1,isWrite:!0,isAppend:!1,error:!1,eof:!1,ungotten:[]};FS.streams[3]={path:"/dev/stderr",object:c,position:0,isRead:!1,isWrite:!0,isAppend:!1,error:!1,eof:!1,ungotten:[]};_stdin=allocate([1],"void*",ALLOC_STATIC);_stdout=allocate([2],"void*",ALLOC_STATIC);_stderr=allocate([3],"void*",ALLOC_STATIC);FS.ignorePermissions=!1}}},_pwrite=function(f,d,e,b){f=FS.streams[f];if(!f||f.object.isDevice)return ___setErrNo(ERRNO_CODES.EBADF), +-1;else if(f.isWrite)if(f.object.isFolder)return ___setErrNo(ERRNO_CODES.EISDIR),-1;else if(e<0||b<0)return ___setErrNo(ERRNO_CODES.EINVAL),-1;else{for(var a=f.object.contents;a.length<b;)a.push(0);for(var g=0;g<e;g++)a[b+g]=HEAP8[d+g>>0];f.object.timestamp=new Date;return g}else return ___setErrNo(ERRNO_CODES.EACCES),-1},_write=function(f,d,e){var b=FS.streams[f];if(b)if(b.isWrite)if(e<0)return ___setErrNo(ERRNO_CODES.EINVAL),-1;else if(b.object.isDevice)if(b.object.output){for(f=0;f<e;f++)try{b.object.output(HEAP8[d+ +f>>0])}catch(a){return ___setErrNo(ERRNO_CODES.EIO),-1}b.object.timestamp=new Date;return f}else return ___setErrNo(ERRNO_CODES.ENXIO),-1;else return d=_pwrite(f,d,e,b.position),d!=-1&&(b.position+=d),d;else return ___setErrNo(ERRNO_CODES.EACCES),-1;else return ___setErrNo(ERRNO_CODES.EBADF),-1},_fwrite=function(f,d,e,b){e*=d;if(e==0)return 0;f=_write(b,f,e);if(f==-1){if(FS.streams[b])FS.streams[b].error=!0;return-1}else return Math.floor(f/d)},__exit=function(f){__shutdownRuntime__();ABORT=!0;throw"exit("+ +f+") called, at "+Error().stack;},_exit=function(f){__exit(f)},__formatString=function(f,d){var e=d,b=0,a;if(f){var g=arguments[2];a=function(a){var c;if(a==="double")c=HEAPF32[g+b>>2];else if(a==="float")c=HEAPF32[g+b>>2];else if(a==="i64")c=HEAP32[g+b>>2];else if(a==="i32")c=HEAP32[g+b>>2];else if(a==="i16")c=HEAP16[g+b>>1];else if(a==="i8")c=HEAP8[g+b>>0];else if(a[a.length-1]==="*")c=HEAP32[g+b>>2];else throw Error("Unknown formatString argument type: "+a);b+=Runtime.getNativeFieldSize(a);return Number(c)}}else{var c= +arguments;a=function(){return Number(c[2+b++])}}for(var h=[],k,j;;){var l=e;k=HEAP8[e>>0];if(k===0)break;j=HEAP8[e+1>>0];if(k=="%".charCodeAt(0)){var m=!1,n=!1,o=!1,q=!1;a:for(;;){switch(j){case "+".charCodeAt(0):m=!0;break;case "-".charCodeAt(0):n=!0;break;case "#".charCodeAt(0):o=!0;break;case "0".charCodeAt(0):if(q)break a;else{q=!0;break}default:break a}e++;j=HEAP8[e+1>>0]}var p=0;if(j=="*".charCodeAt(0))p=a("i32"),e++,j=HEAP8[e+1>>0];else for(;j>="0".charCodeAt(0)&&j<="9".charCodeAt(0);)p=p* +10+(j-"0".charCodeAt(0)),e++,j=HEAP8[e+1>>0];var r=!1;if(j==".".charCodeAt(0)){var v=0,r=!0;e++;j=HEAP8[e+1>>0];if(j=="*".charCodeAt(0))v=a("i32"),e++;else for(;;){j=HEAP8[e+1>>0];if(j<"0".charCodeAt(0)||j>"9".charCodeAt(0))break;v=v*10+(j-"0".charCodeAt(0));e++}j=HEAP8[e+1>>0]}else v=6;var u;switch(String.fromCharCode(j)){case "h":j=HEAP8[e+2>>0];j=="h".charCodeAt(0)?(e++,u=1):u=2;break;case "l":j=HEAP8[e+2>>0];j=="l".charCodeAt(0)?(e++,u=8):u=4;break;case "L":case "q":case "j":u=8;break;case "z":case "t":case "I":u= +4;break;default:u=void 0}u!==void 0&&e++;j=HEAP8[e+1>>0];if(["d","i","u","o","x","X","p"].indexOf(String.fromCharCode(j))!=-1){l=j=="d".charCodeAt(0)||j=="i".charCodeAt(0);u=u||4;k=a("i"+u*8);u<=4&&(k=(l?reSign:unSign)(k&Math.pow(256,u)-1,u*8));var s=Math.abs(k),t,l="";if(j=="d".charCodeAt(0)||j=="i".charCodeAt(0))t=s.toString(10);else if(j=="u".charCodeAt(0))t=unSign(k,8*u).toString(10),k=Math.abs(k);else if(j=="o".charCodeAt(0))t=(o?"0":"")+s.toString(8);else if(j=="x".charCodeAt(0)||j=="X".charCodeAt(0)){l= +o?"0x":"";if(k<0){k=-k;t=(s-1).toString(16);o=[];for(s=0;s<t.length;s++)o.push((15-parseInt(t[s],16)).toString(16));for(t=o.join("");t.length<u*2;)t="f"+t}else t=s.toString(16);j=="X".charCodeAt(0)&&(l=l.toUpperCase(),t=t.toUpperCase())}else j=="p".charCodeAt(0)&&(s===0?t="(nil)":(l="0x",t=s.toString(16)));if(r)for(;t.length<v;)t="0"+t;for(k<0?l="-"+l:m&&(l="+"+l);l.length+t.length<p;)n?t+=" ":q?t="0"+t:l=" "+l;t=l+t;t.split("").forEach(function(a){h.push(a.charCodeAt(0))})}else if(["f","F","e","E", +"g","G"].indexOf(String.fromCharCode(j))!=-1){k=a(u===4?"float":"double");if(isNaN(k))t="nan",q=!1;else if(isFinite(k)){r=!1;u=Math.min(v,20);if(j=="g".charCodeAt(0)||j=="G".charCodeAt(0))r=!0,v=v||1,u=parseInt(k.toExponential(u).split("e")[1],10),v>u&&u>=-4?(j=(j=="g".charCodeAt(0)?"f":"F").charCodeAt(0),v-=u+1):(j=(j=="g".charCodeAt(0)?"e":"E").charCodeAt(0),v--),u=Math.min(v,20);if(j=="e".charCodeAt(0)||j=="E".charCodeAt(0))t=k.toExponential(u),/[eE][-+]\d$/.test(t)&&(t=t.slice(0,-1)+"0"+t.slice(-1)); +else if(j=="f".charCodeAt(0)||j=="F".charCodeAt(0))t=k.toFixed(u);l=t.split("e");if(r&&!o)for(;l[0].length>1&&l[0].indexOf(".")!=-1&&(l[0].slice(-1)=="0"||l[0].slice(-1)==".");)l[0]=l[0].slice(0,-1);else for(o&&t.indexOf(".")==-1&&(l[0]+=".");v>u++;)l[0]+="0";t=l[0]+(l.length>1?"e"+l[1]:"");j=="E".charCodeAt(0)&&(t=t.toUpperCase());m&&k>=0&&(t="+"+t)}else t=(k<0?"-":"")+"inf",q=!1;for(;t.length<p;)n?t+=" ":t=q&&(t[0]=="-"||t[0]=="+")?t[0]+"0"+t.slice(1):(q?"0":" ")+t;j<"a".charCodeAt(0)&&(t=t.toUpperCase()); +t.split("").forEach(function(a){h.push(a.charCodeAt(0))})}else if(j=="s".charCodeAt(0)){(m=a("i8*"))?(m=String_copy(m),r&&m.length>v&&(m=m.slice(0,v))):m=intArrayFromString("(null)",!0);if(!n)for(;m.length<p--;)h.push(" ".charCodeAt(0));h=h.concat(m);if(n)for(;m.length<p--;)h.push(" ".charCodeAt(0))}else if(j=="c".charCodeAt(0)){for(n&&h.push(a("i8"));--p>0;)h.push(" ".charCodeAt(0));n||h.push(a("i8"))}else if(j=="n".charCodeAt(0))n=a("i32*"),HEAP32[n>>2]=h.length;else if(j=="%".charCodeAt(0))h.push(k); +else for(s=l;s<e+2;s++)h.pu |