mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
[1.47.08]
Add API function: espeak_TextToPhonemes(). git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@349 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
@@ -148,7 +148,7 @@ p Q r R s s; t T
|
||||
ts v x z
|
||||
|
||||
|
||||
Dictionary en_dict 2013-04-25
|
||||
Dictionary en_dict 2013-04-26
|
||||
|
||||
0 0# 3 3: @ @- @2 @5
|
||||
@L a a# A: A@ aa aI aI3
|
||||
@@ -574,7 +574,7 @@ S s; S; t t; tS ts tS;
|
||||
ts; v w x z Z Z;
|
||||
|
||||
|
||||
Dictionary pt_dict 2013-04-25
|
||||
Dictionary pt_dict 2013-04-26
|
||||
|
||||
& &/ &U~ &~ @ @- a A
|
||||
aI aU e E eI EI eU EU
|
||||
|
||||
+4
-10
@@ -151,19 +151,14 @@ _} raItbreIs
|
||||
_¡ %Inv,3:tI2dEkskl@m'eIS@n
|
||||
_¦ broUk@nb'A@
|
||||
_¨ daIa#r'i:sIs
|
||||
_ª fEmI2nIn'O@dI2n@L
|
||||
_« lEft'gIl@mEt
|
||||
_ makr0n
|
||||
² tu:
|
||||
³ Tri:
|
||||
_¹ su:p@skrIptw'0n
|
||||
_² su:p@skrIptt'u:
|
||||
_³ su:p@skrIptT'ri:
|
||||
² tu: $native
|
||||
³ Tri: $native
|
||||
|
||||
_´ a#kju:taksEnt
|
||||
_· mId@Ld0t
|
||||
_¸ sEd'Il@
|
||||
//_º maskjUlIn'O@dI2n@L
|
||||
_º dI2gr'i:z
|
||||
_» raIt'gIl@mEt
|
||||
_¿ %Inv,3:tI2dkw'EstS@n
|
||||
|
||||
@@ -1612,7 +1607,6 @@ fortune fO@tSu:n
|
||||
foyer fOIeI
|
||||
freelance fri:laans
|
||||
freon fri:0n
|
||||
frequent frI2kwEnt $verb
|
||||
fricassee frIka#seI
|
||||
frigate frIg@t
|
||||
fringer frIndZ3 // infringer
|
||||
@@ -3483,7 +3477,7 @@ Amy eImi
|
||||
Andre 0ndreI
|
||||
Andrea andri@
|
||||
Andreas A:ndr'eI@s
|
||||
Angela $1
|
||||
Angela ang@l@
|
||||
Anita $alt3
|
||||
Anthony ant@ni
|
||||
Anton ant0n
|
||||
|
||||
@@ -2486,6 +2486,7 @@
|
||||
ery (A 3j
|
||||
_v) ery ErI2
|
||||
qu) ery i@rI
|
||||
_x) er (o i@r
|
||||
z) er (o i@r
|
||||
_C) er (o_ i@r
|
||||
er (rA E
|
||||
|
||||
@@ -835,7 +835,6 @@ dobro $alt $verb
|
||||
doce $alt2
|
||||
doutora $alt2
|
||||
doze $alt2
|
||||
droga $alt
|
||||
dueto $alt2
|
||||
elixir eliSir
|
||||
emprego $alt2 $noun
|
||||
@@ -1229,7 +1228,6 @@ laptop lEptOp
|
||||
?1 line l'ain
|
||||
layout l'eI,aUt
|
||||
?2 login logiN
|
||||
?2 logo l'OgU
|
||||
?1 lock l'Ok
|
||||
mail m'eIl
|
||||
mails m'eIls
|
||||
|
||||
+12
-11
@@ -229,7 +229,7 @@
|
||||
f) e (rL02_ E
|
||||
|
||||
e (quL02_ E
|
||||
e (rbL04_ E
|
||||
e (rbL04_ E
|
||||
e (rgL04_ E
|
||||
|
||||
e (rsL04_ E
|
||||
@@ -372,7 +372,6 @@ e (rbL04_ E
|
||||
tiv) e (L05_ E // es-
|
||||
viv) e (L05_ e
|
||||
_com) e (L05_ e
|
||||
s_colh) e (res_ E
|
||||
_cos) e (L05_ e
|
||||
_pud) e (L05_ E
|
||||
_coub) e (L05_ E
|
||||
@@ -425,18 +424,17 @@ _corro) e (L07_ e
|
||||
_interromp) e (L07_ e
|
||||
_troux) e (L07_ E
|
||||
_ens) e (bL03_ E
|
||||
_enver) e (dL03_ E
|
||||
_amanc) e (bL03_ E
|
||||
qu) e (brL04_ E
|
||||
_cel) e (brL04_ E
|
||||
_boch) e (chL04_ e
|
||||
_on) e (rL04_ E
|
||||
_ex) e (crL04_ E
|
||||
_enr) e (dL01_ E
|
||||
_v) e (dL03_ E
|
||||
_arr) e (dL03_ E
|
||||
_depr) e (dL03_ E
|
||||
_hosp) e (dL03_ E
|
||||
_enver) e (dL03_ E
|
||||
_gr) e (gL03_ e
|
||||
_gal) e (gL03_ e
|
||||
_pel) e (gL03_ e
|
||||
@@ -455,6 +453,7 @@ _amanc) e (bL03_ E
|
||||
_g) e (rL04_ E
|
||||
_z) e (rL04_ E
|
||||
qu) e (rL04_ E // re-
|
||||
_on) e (rL04_ E
|
||||
_op) e (rL04_ E
|
||||
gen) e (rL04_ E // de- re-
|
||||
_alt) e (rL04_ E
|
||||
@@ -481,9 +480,10 @@ _refrig) e (rL04_ E
|
||||
_l) e (rdL03_ E
|
||||
_h) e (rdL04_ E
|
||||
_des) e (rdL04_ E
|
||||
s_colh) e (res_ E
|
||||
_) e (rgL03_ e
|
||||
_so) e (rgL03_ e
|
||||
_re) e (rgL03_ e
|
||||
_so) e (rgL03_ e
|
||||
_bez) e (rrL03_ e
|
||||
v) e (rtL03_ e // con- re- in-
|
||||
_f) e (rvL03_ e
|
||||
@@ -866,15 +866,15 @@ _pormen) o (L05_ O
|
||||
_esn) o (bL04_ O
|
||||
_engl) o (bL04_ O
|
||||
_sal) o (brL03_ o
|
||||
_env) o (ltL03_ o
|
||||
_) o (cL03_ o
|
||||
_m) o (fL01_ O
|
||||
_m) o (fL02_ O
|
||||
_s) o (frL02_ O
|
||||
l) o (gL04_ O // dialoga, etc.
|
||||
r) o (gL04_ O // inter-
|
||||
v) o (gL04_ O // advoga, etc.
|
||||
_j) o (gL04_ O
|
||||
af) o (gL04_ O // des-
|
||||
_adv) o (gL04_ O
|
||||
_ref) o (gL04_ O
|
||||
_ap) oi (L01_ OI
|
||||
_ap) oi (L02_ OI
|
||||
@@ -884,6 +884,7 @@ _pormen) o (L05_ O
|
||||
_emp) o (lgL04_ O
|
||||
_) o (lhL04_ O
|
||||
m) o (lhL04_ O
|
||||
_env) o (ltL03_ o
|
||||
ent) o (pL02_ O
|
||||
_c) o (pL03_ O
|
||||
_t) o (pL04_ O
|
||||
@@ -1077,8 +1078,8 @@ _remem) o (rL04_ O
|
||||
u (a u
|
||||
g) u (a+ w
|
||||
q) u (a+ w
|
||||
u (eC u
|
||||
u (ei u
|
||||
u (eC u
|
||||
u (ei u
|
||||
r) u (_A u
|
||||
u (L04_ 'u
|
||||
|
||||
@@ -1086,8 +1087,8 @@ u (ei u
|
||||
ui (_ 'uI
|
||||
u (iu w
|
||||
u (iCK u
|
||||
u (éC u
|
||||
u (íC u
|
||||
u (éC u
|
||||
u (íC u
|
||||
uy uI
|
||||
ul (K uw
|
||||
u (lh+ u
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[Setup]
|
||||
AppName=eSpeak
|
||||
AppVerName=eSpeak version 1.47.06
|
||||
AppVerName=eSpeak version 1.47.08
|
||||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
|
||||
WindowVisible=yes
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
[Setup]
|
||||
AppName=eSpeakEdit
|
||||
AppVerName=eSpeakEdit version 1.47.06
|
||||
AppVerName=eSpeakEdit version 1.47.08
|
||||
DefaultDirName={pf}\eSpeak
|
||||
DefaultGroupName=eSpeak
|
||||
OutputBaseFilename=setup_espeakedit
|
||||
|
||||
@@ -133,6 +133,7 @@ MNEM_TAB mnem_flags[] = {
|
||||
{"$stem", 0x30}, // must have a suffix
|
||||
{"$atend", 0x31}, // use this pronunciation if at end of clause
|
||||
{"$atstart", 0x32}, // use this pronunciation at start of clause
|
||||
{"$native", 0x33}, // not if we've switched translators
|
||||
|
||||
// doesn't set dictionary_flags
|
||||
{"$?", 100}, // conditional rule, followed by byte giving the condition number
|
||||
|
||||
@@ -3275,6 +3275,11 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(dictionary_flags2 & FLAG_NATIVE)
|
||||
{
|
||||
if(tr != translator)
|
||||
continue; // don't use if we've switched translators
|
||||
}
|
||||
if(dictionary_flags & FLAG_ALT2_TRANS)
|
||||
{
|
||||
// language specific
|
||||
|
||||
@@ -199,6 +199,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(MENU_OPT_SPEED, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_OPT_PUNCT, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_OPT_SPELL, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_OPT_SPELL2, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_PATH0, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_PATH1, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_PATH2, MyFrame::OnOptions)
|
||||
@@ -625,6 +626,12 @@ void OnOptions2(int event_id)
|
||||
break;
|
||||
|
||||
case MENU_OPT_SPELL:
|
||||
transldlg->t_source->SetValue(_T("<say-as interpret-as=\"characters\">\n"));
|
||||
transldlg->t_source->SetInsertionPointEnd();
|
||||
notebook->SetSelection(1);
|
||||
break;
|
||||
|
||||
case MENU_OPT_SPELL2:
|
||||
transldlg->t_source->SetValue(_T("<say-as interpret-as=\"tts:char\">\n"));
|
||||
transldlg->t_source->SetInsertionPointEnd();
|
||||
notebook->SetSelection(1);
|
||||
|
||||
@@ -127,6 +127,7 @@ enum {
|
||||
MENU_OPT_SPEED,
|
||||
MENU_OPT_PUNCT,
|
||||
MENU_OPT_SPELL,
|
||||
MENU_OPT_SPELL2,
|
||||
MENU_PATHS,
|
||||
MENU_PATH0,
|
||||
MENU_PATH1,
|
||||
|
||||
+3
-1
@@ -119,8 +119,10 @@ wxMenuBar *MakeMenu(int type, const char *dict_name)
|
||||
option_menu = new wxMenu;
|
||||
option_menu->Append(MENU_PATHS, _("Set &paths"), paths_menu);
|
||||
option_menu->Append(MENU_OPT_SPEED, _("Speed..."));
|
||||
option_menu->AppendSeparator();
|
||||
option_menu->Append(MENU_OPT_PUNCT, _("Speak punctuation"));
|
||||
option_menu->Append(MENU_OPT_SPELL, _("Speak character names"));
|
||||
option_menu->Append(MENU_OPT_SPELL, _("Speak characters"));
|
||||
option_menu->Append(MENU_OPT_SPELL2, _("Speak character name"));
|
||||
|
||||
// TOOLS
|
||||
vowelchart_menu = new wxMenu;
|
||||
|
||||
@@ -727,7 +727,10 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
}
|
||||
}
|
||||
letter = towlower2(letter);
|
||||
LookupLetter(tr, letter, word[n_bytes], ph_buf, control & 1);
|
||||
|
||||
if(ph_buf[0] == 0)
|
||||
{
|
||||
// is this a subscript or superscript letter ?
|
||||
for(ix=0; (c = derived_letters[ix]) != 0; ix+=2)
|
||||
{
|
||||
@@ -758,6 +761,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
}
|
||||
}
|
||||
LookupLetter(tr, letter, word[n_bytes], ph_buf, control & 1);
|
||||
}
|
||||
|
||||
if(ph_buf[0] == phonSWITCH)
|
||||
{
|
||||
|
||||
+3
-3
@@ -503,13 +503,13 @@ int towupper2(unsigned int c)
|
||||
return(towupper(c));
|
||||
|
||||
// check whether a previous character code is the upper-case equivalent of this character
|
||||
if(towlower2(c-32) == c)
|
||||
if(towlower2(c-32) == (int)c)
|
||||
return(c-32); // yes, use it
|
||||
if(towlower2(c-1) == c)
|
||||
if(towlower2(c-1) == (int)c)
|
||||
return(c-1);
|
||||
for(ix=0; wchar_toupper[ix] != 0; ix+=2)
|
||||
{
|
||||
if(wchar_toupper[ix] == c)
|
||||
if(wchar_toupper[ix] == (int)c)
|
||||
return(wchar_toupper[ix+1]);
|
||||
}
|
||||
return(c); // no
|
||||
|
||||
+1
-1
@@ -1167,7 +1167,7 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream)
|
||||
ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode)
|
||||
{//==============================================================================================================
|
||||
/* phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
|
||||
bit 4: 0=eSpeak phoneme names, 1=IPA
|
||||
bits 4-7: 0=eSpeak phoneme names, 1=IPA
|
||||
*/
|
||||
option_multibyte = textmode & 7;
|
||||
TranslateClause(translator, NULL, text, NULL, NULL);
|
||||
|
||||
@@ -55,6 +55,9 @@ Revision 7 24.Dec.2011
|
||||
Changed espeak_EVENT structure to add id.string[] for phoneme mnemonics.
|
||||
Added espeakINITIALIZE_PHONEME_IPA option for espeak_Initialize() to report phonemes as IPA names.
|
||||
|
||||
Revision 8 26.Apr.2013
|
||||
Added function espeak_TextToPhonemes().
|
||||
|
||||
*/
|
||||
/********************/
|
||||
/* Initialization */
|
||||
@@ -299,6 +302,7 @@ ESPEAK_API espeak_ERROR espeak_Synth(const void *text,
|
||||
espeakCHARS_8BIT The 8 bit ISO-8859 character set for the particular language.
|
||||
espeakCHARS_AUTO 8 bit or UTF8 (this is the default)
|
||||
espeakCHARS_WCHAR Wide characters (wchar_t)
|
||||
espeakCHARS_16BIT 16 bit characters.
|
||||
|
||||
espeakSSML Elements within < > are treated as SSML elements, or if not recognised are ignored.
|
||||
|
||||
@@ -474,6 +478,35 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream);
|
||||
stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode);
|
||||
/* Translates text into phonemes. Call espeak_SetVoiceByName() first, to select a language.
|
||||
text: The text to translate, terminated by a zero character.
|
||||
|
||||
buffer: Output buffer for the phoneme translation.
|
||||
|
||||
size: Size of the output buffer in bytes.
|
||||
|
||||
textmode: Type of character codes, one of:
|
||||
espeakCHARS_UTF8 UTF8 encoding
|
||||
espeakCHARS_8BIT The 8 bit ISO-8859 character set for the particular language.
|
||||
espeakCHARS_AUTO 8 bit or UTF8 (this is the default)
|
||||
espeakCHARS_WCHAR Wide characters (wchar_t)
|
||||
espeakCHARS_16BIT 16 bit characters.
|
||||
|
||||
phonememode: bits0-3:
|
||||
0= just phonemes.
|
||||
1= include ties (U+361) for phoneme names of more than one letter.
|
||||
2= include zero-width-joiner for phoneme names of more than one letter.
|
||||
3= separate phonemes with underscore characters.
|
||||
|
||||
bits 4-7:
|
||||
0= eSpeak's ascii phoneme names.
|
||||
1= International Phonetic Alphabet (as UTF-8 characters).
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.47.07b 25.Apr.13";
|
||||
const char *version_string = "1.47.08 26.Apr.13";
|
||||
const int version_phdata = 0x014701;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+2
-1
@@ -81,8 +81,9 @@
|
||||
#define FLAG_ONLY 0x4000
|
||||
#define FLAG_ONLY_S 0x8000
|
||||
#define FLAG_STEM 0x10000 // must have a suffix
|
||||
#define FLAG_ATEND 0x20000 /* use this pronunciation if at end of clause */
|
||||
#define FLAG_ATEND 0x20000 // use this pronunciation if at end of clause
|
||||
#define FLAG_ATSTART 0x40000 // use this pronunciation if at start of clause
|
||||
#define FLAG_NATIVE 0x80000 // not if we've switched translators
|
||||
#define FLAG_LOOKUP_SYMBOL 0x40000000 // to indicate called from Lookup()
|
||||
|
||||
#define BITNUM_FLAG_ALLCAPS 0x2a
|
||||
|
||||
Reference in New Issue
Block a user