mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-07 23:31:26 +00:00
[1.39.14]
Provide Viseme events on the Windows SAPI5 interface. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@199 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+7
-1
@@ -966,7 +966,13 @@ int Translator::LookupNum3(int value, char *ph_out, int suppress_null, int thous
|
||||
|
||||
Lookup("_0C",ph_100);
|
||||
|
||||
if((hundreds >= 10) && (((langopts.numbers & 0x0800) == 0) || (hundreds != 19)))
|
||||
if(((langopts.numbers & 0x0800) != 0) && (hundreds == 19))
|
||||
{
|
||||
// speak numbers such as 1984 as years: nineteen-eighty-four
|
||||
// ph_100[0] = 0; // don't say "hundred", we also need to surpess "and"
|
||||
}
|
||||
else
|
||||
if(hundreds >= 10)
|
||||
{
|
||||
ph_digits[0] = 0;
|
||||
|
||||
|
||||
+1
-1
@@ -429,7 +429,7 @@ static void StopSpeak(int unused)
|
||||
int *flag;
|
||||
int val;
|
||||
};
|
||||
static int optind;
|
||||
int optind;
|
||||
static int optional_argument;
|
||||
static const char *arg_opts = "afklpsvw"; // which options have arguments
|
||||
static char *opt_string="";
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.39.12 24.Oct.08";
|
||||
const char *version_string = "1.39.14 02.Nov.08";
|
||||
const int version_phdata = 0x013900;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+16
-2
@@ -121,6 +121,9 @@ Translator *SelectTranslator(const char *name)
|
||||
int name2 = 0;
|
||||
Translator *tr;
|
||||
|
||||
static const unsigned char stress_amps_sk[8] = {16,16, 20,20, 20,24, 24,22 };
|
||||
static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210};
|
||||
|
||||
// convert name string into a word of up to 4 characters, for the switch()
|
||||
while(*name != 0)
|
||||
name2 = (name2 << 8) + *name++;
|
||||
@@ -552,6 +555,19 @@ SetLengthMods(tr,3); // all equal
|
||||
}
|
||||
break;
|
||||
|
||||
case L('l','v'): // latvian
|
||||
{
|
||||
tr = new Translator();
|
||||
SetupTranslator(tr,stress_lengths_sk,stress_amps_sk);
|
||||
|
||||
tr->langopts.stress_rule = 0;
|
||||
tr->langopts.spelling_stress = 1;
|
||||
tr->charset_a0 = charsets[4]; // ISO-8859-4
|
||||
tr->langopts.numbers = 0x409;
|
||||
tr->langopts.stress_flags = 0x16;
|
||||
}
|
||||
break;
|
||||
|
||||
case L('m','k'): // Macedonian
|
||||
{
|
||||
static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R]
|
||||
@@ -673,8 +689,6 @@ SetLengthMods(tr,3); // all equal
|
||||
case L('s','k'): // Slovak
|
||||
case L('c','s'): // Czech
|
||||
{
|
||||
static const unsigned char stress_amps_sk[8] = {16,16, 20,20, 20,24, 24,22 };
|
||||
static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210};
|
||||
static const char *sk_voiced = "bdgjlmnrvwzaeiouy";
|
||||
|
||||
tr = new Translator();
|
||||
|
||||
Reference in New Issue
Block a user