Browse Source

Merge branch 'development'

master
Reece Dunn 13 years ago
parent
commit
8f32b1369f

+ 0
- 1
dictsource/en_list View File

@@ -1252,7 +1252,6 @@ gases gasI#z
gauche goUS
gauge geIdZ
gavel gav@L
gecko gEkoU
geese gi:s
gemini dZEmI2naI
geni dZi:ni

+ 3
- 0
dictsource/en_rules View File

@@ -1399,6 +1399,7 @@
chloro kl,o@roU
choir kwaI3
ch (ol k
_) ch (ola tS // for lang=ta
choly k@l%I
ch (ond k
ch (orA k
@@ -2580,9 +2581,11 @@
gg g
g (e dZ
_) gaol dZeIl
_) g (ec g
ge (dd g'E
g (eek g
_) g (ert g
_) g (ek g
ge (nic_ dZ'E
genesis dZ'EnI2sIs
geous dZ=@s

+ 38
- 3
dictsource/ta_rules View File

@@ -1,6 +1,6 @@

/***************************************************************************
* Copyright (C) 2009 to 2010 by Jonathan Duddington *
* Copyright (C) 2009 to 2012 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -311,6 +311,7 @@ _மன்மதக்) க (ுகை g
_) க (ுணவதி g
_) க (ுணவான g
_) க (ுணா g
_) குண்ட (க்கல gun.t.V#
_) க (ுண்டடி g
_) க (ுண்டன g
_) க (ுண்டம்மா g
@@ -321,6 +322,7 @@ _மன்மதக்) க (ுகை g
_) க (ுண்டின g
_) க (ுண்டு g
_) க (ுண்டூசி g
_) குண்ட (ூர gun.t.V#
_) க (ுண்டை g
_) க (ுண்டோதர g
_) க (ுதிக் g
@@ -354,6 +356,7 @@ _மன்மதக்) க (ுகை g
_) க (ுருமார g
_) க (ுருமூர்த்தி g
_) க (ுருரா g
_) க (ுருவடி g
_) க (ுருவா g
_) க (ுருவாய g
_) க (ுருவிட g
@@ -439,6 +442,9 @@ _மன்மதக்) க (ுகை g
_) க (ோரக g
_) க (ோரத்_தாண்ட g
_) க (ோரப்_L20 g
_) க (ோரப்பற் g
_) க (ோரப்பல் g
_) க (ோரப்போர g
_) க (ோரம g
_) க (ோலிக g
_) க (ோலிய g
@@ -549,7 +555,6 @@ _ஹன்L04ி) க (ா k
_தென்) க (ாசி k
_நேர்) க (ாணல k
_கண்) க (ாணா k
_ஏ) க (ாதசி k
_ராம) க (ாதை k
இராம) க (ாதை k
_ஸ்ரீ) காந்த ka:ntV#
@@ -610,6 +615,7 @@ _தொன்ம) க (ால k
நற்) க (ுண g
_சற்) க (ுண g
ஏறிக்) க (ுதி g
க (ுமரன k
_கண்ணியா) க (ுமரி k
க (ுமார k
_டா) குமெண்ட kUmen.tV#
@@ -668,6 +674,8 @@ _துணை) க்க (ண்ட ggV
நிர்) க்க (தி ggV
_தீர்) க்க (மாக ggV
_தீர்) க்க (மான ggV
_தனி) க்க (வன ggV
_முழு) க்க (வன ggV
தீர்) க்க (ாலோசநை gg
_ல) க்க (ின gg
_வி) க்க (ினம்_ gg
@@ -809,6 +817,7 @@ _தணிகா) ச (ல tSV
அருணா) ச (ல tSV
வெங்கடா) ச (ல tSV
வேங்கடா) ச (ல tSV
_) ச (லோ tSV
_) ச (வான tSV
_) சாக்ப (ீL04 tSa:kp
_) சாக்லேட் tSa:kle:t.
@@ -907,6 +916,8 @@ _தணிகா) ச (ல tSV
மே) சு (வ s
வி) சு (வ s
_சனீ) சு (வர s
ராஜே) சு (வர s
அகிலாண்டே) சு (வர s
இராவணே) சு (வர s
ராவணே) சு (வர s
_) சுவர்க்க svVrggV#
@@ -1464,6 +1475,7 @@ _நடுரோ) ட் (ல t.
_) த (ானிய d
_) த (ானியங்கி t
_) த (ானுவ d
_) த (ான்ய d
_) த (ாமோதர d
_) த (ாம்_தூம d
_) த (ாயங்கள d
@@ -1576,8 +1588,11 @@ _நடுரோ) ட் (ல t.
_) தீர்க்க (முள்ள di:rggV#
_) தீர்க்க (ம்_ di:rggV
_) தீர்க்க (ாயு di:rggV#
_) த (ீவாளி d
_) து(ரோக d
_) த (ுக்க d
_) த (ுக்கா t
_) த (ுக்கோ t
_) த (ுச்சம d
_) த (ுச்சாதனன d
_) த (ுஜஸ் d
@@ -1639,7 +1654,8 @@ _நடுரோ) ட் (ல t.
_) த (ேவரு t
_) த (ேவரை t
_) த (ேவர்_ t
_) த (ேவல t
_) த (ேவல_ t
_) த (ேவலை t
_) த (ேவிடியா t
_) த (ேவிடியா t
_) த (ேவேந் d
@@ -1753,6 +1769,7 @@ _சிறை) த்த (ண்டனை ddV
வா) த்த (ிய dd
வை) த்த (ிய dd
உபா) த்த (ிய dd
_நைவே) த்த (ிய dd
_சா) த்த (ிய_ tt
பு) த்த (ியி dd
_சா) த்த (ியிரு tt
@@ -2048,6 +2065,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (ாங்கில b
_) ப (ாங்க் b
_) ப (ாசு b
_) பாசுப (த pa:sUpV
_) ப (ாசுர p
_டெட்_) ப (ாடி b
_) ப (ாடி_பில்டிங் b
@@ -2211,6 +2229,7 @@ _ராகத்தின்_) ப (ாவ b
_) ப (ாஷிய b
_) ப (ாஷை b
_) ப (ாஷ்ய b
_) ப (ாஸந்தி b
_) ப (ாஸ்கர b
_) ப (ாஸ்கி b
_) ப (ாஸ்டன b
@@ -2278,6 +2297,7 @@ _ராகத்தின்_) ப (ாவ b
_) பி (ரத்தியேக p
_) பிரத் (யேக prVt
_) பி (ரப p
_) பிரம (ன brVmmV
_) பி (ரமாண p
_) பி (ரமாண்ட b
_) பி (ரமாத p
@@ -2311,7 +2331,10 @@ _ராகத்தின்_) ப (ாவ b
_) பி (ரஸல்ஸ b
_) பி (ரஸாத p
_) பி (ரஸ்தா p
_) பி (ரஹதீசு b
_) பி (ரஹதீஸ் b
_) பி (ரஹலாத p
_) பி (ரஹஸ் b
_) பி (ராகார p
_) பி (ராகிருத p
_) பி (ராக்கள b
@@ -2382,6 +2405,7 @@ _ராகத்தின்_) ப (ாவ b
_) பிரு (கன்நளை bri
_) பி (ருகு b
_) பிரு (ந்தா bri
_) ப (ிருஷ்ட b
_) பிரெஞ்ச fren^tSV#
_) பி (ரெட் b
_) பிரெட்ரிக் fred.rik
@@ -2649,6 +2673,7 @@ _சந்திர_) ப (ோஸ b
_) ப (ௌதிக b
_) ப (ௌத்த b
_) ப (ௌலிங் b
_) ப (ௌஷ b
சு) ப்பி (ரமணி b
_) ப் (ரசல்ஸ b
_) ப்ரபொ (சர profV
@@ -2710,6 +2735,7 @@ _விரகதா) ப (+ bV#
நன்) ப (கல pV
பின்) ப (கல pV
முன்) ப (கல pV
னி) ப (கவான் bV
வட) ப (குதி pV
தென்) ப (குதி pV
அக்கம்) ப (க்க bV
@@ -2808,6 +2834,7 @@ _முனிசி) ப (ல pV
வட) ப (ழ pV
வீண்) ப (ழி pV
_முத்து) ப (வள pV
த) ப (ஸ bV
_வா) ப (ஸ pV
_தீ) ப (ா p
_கலி) ப (ா f
@@ -2857,6 +2884,7 @@ _வெளிப்) ப (ாக b
_நடை) ப (ாதை p
ஜிந்தா) ப (ாத் b
_பஞ்ச) ப (ாத்திர p
அ) ப (ான p
ச) பாபதி ba:pVti
_) பாபவிமோசன pa:bVvimo:tSV
_சாயி) பாப (ா ba:b
@@ -2972,6 +3000,7 @@ L03ந்தப்) பி (ராய p
அக்கினி) ப (ுத்திர p
வில்லி) ப (ுத்தூர p
ம்) ப (ுரா b
ம்) ப (ுரி b
_தர்ம) ப (ுரி p
_மர) ப (ுரிமை b
இன்) ப (ுற b
@@ -3092,6 +3121,7 @@ _மைக்ரோசா) ப் (ட f
_ர) ப்ப (ர bbV
ஆ) ப்ப (ரிக்க fV
தென்னா) ப்ப (ரிக்க fV
_கள) ப்ப (லி bbV
உயிர்) ப்ப (லி bbV
L03) ப்ப (ஸ bbV
_ட) ப்ப (ா bb
@@ -3124,13 +3154,17 @@ _ஒL10ி) ப்பி (ரவாக pp
தேச) ப்பி (ரஷ்ட pp
ஆ) ப்பி (ரிக்க f
தென்னா) ப்பி (ரிக்க fV
_கஜ) ப்ப (ிருஷ்ட bb
_ஹ) ப்ப (ிள bb
_க்ள) ப்ப (ுகள bb
உ) ப்ப (ுசத்த bb
உ) ப்ப (ுசம bb
_சந்தேக) ப்ப (ுத்தி bb
L03) ப்ப (ூதத் bb
L03) ப்ப (ூதம bb
இ) ப்ப (ூமி bb
_ல) ப்ப (ை bb
_தர்) ப்ப (ை bb
துர்) ப்ப (ோதனை bb
_கே) ப் (மாரி p
கம்) ப்யூட (ர pjU:t.V
@@ -3414,6 +3448,7 @@ _சந்தேக) ப்ப (ுத்தி bb
_ம) ெள (ஸ aU // bad scanning
_ச) ெள aU
_ப) ெள aU
_வ) ெள (வால aU

ே e:


BIN
phsource/vowel/e#_2 View File


+ 1
- 2
platforms/windows/make_espeak.iss View File

@@ -2,7 +2,7 @@
[Setup]
AppName=eSpeak
AppVerName=eSpeak version 1.46.02
AppVerName=eSpeak version 1.46.08
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
WindowVisible=yes
@@ -159,7 +159,6 @@ begin
$41: Result := 'sw';
$49: Result := 'ta';
$4b: Result := 'kn';
$4c: Result := 'ml';
//$50: Result := 'mn';
$52: Result := 'cy';
//$5e: Result := 'am';

+ 1
- 1
platforms/windows/make_espeakedit.iss View File

@@ -1,7 +1,7 @@
[Setup]
AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.46.02
AppVerName=eSpeakEdit version 1.46.01
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit

+ 1
- 1
src/dictionary.cpp View File

@@ -161,7 +161,7 @@ static void InitGroups(Translator *tr)

if(p[0] == RULE_REPLACEMENTS)
{
pw = (unsigned int *)(((long)p+4) & ~3); // advance to next word boundary
pw = (unsigned int *)(((long64)p+4) & ~3); // advance to next word boundary
tr->langopts.replace_chars = pw;
while(pw[0] != 0)
{

+ 2
- 3
src/speak_lib.cpp View File

@@ -550,7 +550,6 @@ void MarkerEvent(int type, unsigned int char_position, int value, int value2, un
ENTER("MarkerEvent");
espeak_EVENT *ep;
double time;
PHONEME_TAB *ph;
if((event_list == NULL) || (event_list_ix >= (n_event_list-2)))
return;
@@ -576,7 +575,7 @@ void MarkerEvent(int type, unsigned int char_position, int value, int value2, un
if((type == espeakEVENT_MARK) || (type == espeakEVENT_PLAY))
ep->id.name = &namedata[value];
else
#ifdef deleted
//#ifdef deleted
// temporarily removed, don't introduce until after eSpeak version 1.46.02
if(type == espeakEVENT_PHONEME)
{
@@ -586,7 +585,7 @@ void MarkerEvent(int type, unsigned int char_position, int value, int value2, un
p[1] = value2;
}
else
#endif
//#endif
{
ep->id.number = value;
}

+ 1
- 1
src/speak_lib.h View File

@@ -1,7 +1,7 @@
#ifndef SPEAK_LIB_H
#define SPEAK_LIB_H
/***************************************************************************
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* Copyright (C) 2005 to 2012 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *

+ 1
- 1
src/speech.h View File

@@ -63,7 +63,7 @@
typedef unsigned short USHORT;
typedef unsigned char UCHAR;
typedef double DOUBLEX;
typedef unsigned long long64; // use this for conversion between pointers and integers




+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.46.02 06.Jan.12";
const char *version_string = "1.46.13 14.Jan.12";
const int version_phdata = 0x014600;

int option_device_number = -1;

+ 37
- 28
src/synthesize.cpp View File

@@ -142,7 +142,7 @@ static void EndPitch(int voice_break)

static void DoAmplitude(int amp, unsigned char *amp_env)
{//=====================================================
long *q;
long64 *q;

last_amp_cmd = wcmdq_tail;
amp_length = 0; // total length of vowel with this amplitude envelope
@@ -150,7 +150,7 @@ static void DoAmplitude(int amp, unsigned char *amp_env)
q = wcmdq[wcmdq_tail];
q[0] = WCMD_AMPLITUDE;
q[1] = 0; // fill in later from amp_length
q[2] = (long)amp_env;
q[2] = (long64)amp_env;
q[3] = amp;
WcmdqInc();
} // end of DoAmplitude
@@ -159,7 +159,7 @@ static void DoAmplitude(int amp, unsigned char *amp_env)

static void DoPitch(unsigned char *env, int pitch1, int pitch2)
{//============================================================
long *q;
long64 *q;

EndPitch(0);

@@ -179,7 +179,7 @@ static void DoPitch(unsigned char *env, int pitch1, int pitch2)
q = wcmdq[wcmdq_tail];
q[0] = WCMD_PITCH;
q[1] = 0; // length, fill in later from pitch_length
q[2] = (long)env;
q[2] = (long64)env;
q[3] = (pitch1 << 16) + pitch2;
WcmdqInc();
} // end of DoPitch
@@ -248,7 +248,7 @@ static int DoSample2(int index, int which, int std_length, int control, int leng
int min_length;
int x;
int len4;
long *q;
long64 *q;
unsigned char *p;

index = index & 0x7fffff;
@@ -336,7 +336,7 @@ static int DoSample2(int index, int which, int std_length, int control, int leng
q = wcmdq[wcmdq_tail];
q[0] = WCMD_WAVE2;
q[1] = length | (wav_length << 16); // length in samples
q[2] = long(&wavefile_data[index]);
q[2] = long64(&wavefile_data[index]);
q[3] = wav_scale + (amp << 8);
WcmdqInc();
return(length);
@@ -357,7 +357,7 @@ static int DoSample2(int index, int which, int std_length, int control, int leng
q = wcmdq[wcmdq_tail];
q[0] = WCMD_WAVE;
q[1] = x; // length in samples
q[2] = long(&wavefile_data[index]);
q[2] = long64(&wavefile_data[index]);
q[3] = wav_scale + (amp << 8);
WcmdqInc();

@@ -372,7 +372,7 @@ static int DoSample2(int index, int which, int std_length, int control, int leng
q = wcmdq[wcmdq_tail];
q[0] = WCMD_WAVE;
q[1] = len4*2; // length in samples
q[2] = long(&wavefile_data[index+x]);
q[2] = long64(&wavefile_data[index+x]);
q[3] = wav_scale + (amp << 8);
WcmdqInc();

@@ -388,7 +388,7 @@ static int DoSample2(int index, int which, int std_length, int control, int leng
q = wcmdq[wcmdq_tail];
q[0] = WCMD_WAVE;
q[1] = length; // length in samples
q[2] = long(&wavefile_data[index+x]);
q[2] = long64(&wavefile_data[index+x]);
q[3] = wav_scale + (amp << 8);
WcmdqInc();
}
@@ -775,7 +775,7 @@ static void SmoothSpect(void)
{//==========================
// Limit the rate of frequence change of formants, to reduce chirping

long *q;
long64 *q;
frame_t *frame;
frame_t *frame2;
frame_t *frame1;
@@ -817,7 +817,7 @@ static void SmoothSpect(void)
frame1 = (frame_t *)q[3];
if(frame1 == frame)
{
q[3] = (long)frame2;
q[3] = (long64)frame2;
frame1 = frame2;
}
else
@@ -865,7 +865,7 @@ static void SmoothSpect(void)
modified = 1;
}
frame2->ffreq[pk] = frame1->ffreq[pk] + allowed;
q[2] = (long)frame2;
q[2] = (long64)frame2;
}
else
if(diff < -allowed)
@@ -876,7 +876,7 @@ static void SmoothSpect(void)
modified = 1;
}
frame2->ffreq[pk] = frame1->ffreq[pk] - allowed;
q[2] = (long)frame2;
q[2] = (long64)frame2;
}
}
}
@@ -907,7 +907,7 @@ static void SmoothSpect(void)
{
if(frame1 == frame)
{
q[2] = (long)frame2;
q[2] = (long64)frame2;
frame1 = frame2;
}
else
@@ -949,7 +949,7 @@ static void SmoothSpect(void)
modified = 1;
}
frame2->ffreq[pk] = frame1->ffreq[pk] + allowed;
q[3] = (long)frame2;
q[3] = (long64)frame2;
}
else
if(diff < -allowed)
@@ -960,7 +960,7 @@ static void SmoothSpect(void)
modified = 1;
}
frame2->ffreq[pk] = frame1->ffreq[pk] - allowed;
q[3] = (long)frame2;
q[3] = (long64)frame2;
}
}
}
@@ -997,7 +997,7 @@ int DoSpect2(PHONEME_TAB *this_ph, int which, FMT_PARAMS *fmt_params, PHONEME_L
frame_t *frame2;
frame_t *fr;
int ix;
long *q;
long64 *q;
int len;
int frame_length;
int length_factor;
@@ -1083,7 +1083,7 @@ if(which==1)
&& !(last_frame->frflags & FRFLAG_BREAK))
{
// last frame of previous sequence was zero-length, replace with first of this sequence
wcmdq[last_wcmdq][3] = (long)frame1;
wcmdq[last_wcmdq][3] = (long64)frame1;

if(last_frame->frflags & FRFLAG_BREAK_LF)
{
@@ -1095,7 +1095,7 @@ if(which==1)
fr->ffreq[ix] = last_frame->ffreq[ix];
fr->fheight[ix] = last_frame->fheight[ix];
}
wcmdq[last_wcmdq][3] = (long)fr;
wcmdq[last_wcmdq][3] = (long64)fr;
}
}
}
@@ -1180,8 +1180,8 @@ if(which==1)
q = wcmdq[wcmdq_tail];
q[0] = wcmd_spect;
q[1] = len + (modulation << 16);
q[2] = long(frame1);
q[3] = long(frame2);
q[2] = (long64)frame1;
q[3] = (long64)frame2;
WcmdqInc();
}
@@ -1254,7 +1254,7 @@ void DoVoiceChange(voice_t *v)
v2 = (voice_t *)malloc(sizeof(voice_t));
memcpy(v2,v,sizeof(voice_t));
wcmdq[wcmdq_tail][0] = WCMD_VOICE;
wcmdq[wcmdq_tail][1] = (long)(v2);
wcmdq[wcmdq_tail][2] = (long64)v2;
WcmdqInc();
}

@@ -1291,7 +1291,7 @@ void DoEmbedded(int *embix, int sourceix)
DoPause(10,0); // ensure a break in the speech
wcmdq[wcmdq_tail][0] = WCMD_WAVE;
wcmdq[wcmdq_tail][1] = soundicon_tab[value].length;
wcmdq[wcmdq_tail][2] = (long)soundicon_tab[value].data + 44; // skip WAV header
wcmdq[wcmdq_tail][2] = (long64)soundicon_tab[value].data + 44; // skip WAV header
wcmdq[wcmdq_tail][3] = 0x1500; // 16 bit data, amp=21
WcmdqInc();
}
@@ -1337,6 +1337,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
unsigned char *amp_env;
PHONEME_TAB *ph;
int use_ipa=0;
int done_phoneme_marker;
char phoneme_name[16];
static int sourceix=0;

@@ -1424,11 +1425,19 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
if(p->prepause > 0)
DoPause(p->prepause,1);

if(option_phoneme_events && (p->type != phVOWEL) && (p->ph->code != phonEND_WORD))
done_phoneme_marker = 0;
if(option_phoneme_events && (p->ph->code != phonEND_WORD))
{
// Note, for vowels, do the phoneme event after the vowel-start
WritePhMnemonic(phoneme_name, p->ph, p, use_ipa);
DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name);
if((p->type == phVOWEL) && (prev->type==phLIQUID || prev->type==phNASAL))
{
// For vowels following a liquid or nasal, do the phoneme event after the vowel-start
}
else
{
WritePhMnemonic(phoneme_name, p->ph, p, use_ipa);
DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name);
done_phoneme_marker = 1;
}
}

switch(p->type)
@@ -1733,7 +1742,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
DoSpect2(ph, 1, &fmtp, p, modulation);
}

if(option_phoneme_events)
if((option_phoneme_events) && (done_phoneme_marker == 0))
{
WritePhMnemonic(phoneme_name, p->ph, p, use_ipa);
DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name);

+ 1
- 1
src/synthesize.h View File

@@ -462,7 +462,7 @@ extern unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1];
#define N_WCMDQ 170
#define MIN_WCMDQ 25 // need this many free entries before adding new phoneme

extern long wcmdq[N_WCMDQ][4];
extern long64 wcmdq[N_WCMDQ][4];
extern int wcmdq_head;
extern int wcmdq_tail;


+ 4
- 4
src/wavegen.cpp View File

@@ -130,7 +130,7 @@ unsigned char *out_end;
int outbuf_size = 0;

// the queue of operations passed to wavegen from sythesize
long wcmdq[N_WCMDQ][4];
long64 wcmdq[N_WCMDQ][4];
int wcmdq_head=0;
int wcmdq_tail=0;

@@ -1868,7 +1868,7 @@ int WavegenFill2(int fill_zeros)
// return: 0 output buffer has been filled
// return: 1 input command queue is now empty

long *q;
long64 *q;
int length;
int result;
int marker_type;
@@ -1972,8 +1972,8 @@ int WavegenFill2(int fill_zeros)
break;

case WCMD_VOICE:
WavegenSetVoice((voice_t *)q[1]);
free((voice_t *)q[1]);
WavegenSetVoice((voice_t *)q[2]);
free((voice_t *)q[2]);
break;

case WCMD_EMBEDDED:

Loading…
Cancel
Save