[1.26.06] Fixed check for dot in abbreviations, for multibyte characters.

Defined a Revision number macro in speak_lib.h for interface changes.
Changes to formant rate smoothing so that it's proportional to frequency.
Add phoneme translations for mbrola "it3" "it4" Italian voices.
Added rule in *_rules files for "word starts with capital letter".


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@49 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2007-06-18 12:12:25 +00:00
parent 37b8323d68
commit 6a325e7781
42 changed files with 517 additions and 187 deletions
+15
View File
@@ -28,6 +28,7 @@
#include "phoneme.h"
#include "synthesize.h"
#include "spect.h"
#include "options.h"
#include "wx/txtstrm.h"
#include "wx/brush.h"
#include "wx/datstrm.h"
@@ -37,6 +38,7 @@ extern int PeaksToHarmspect(wavegen_peaks_t *peaks, int pitch, int *htab, int co
extern unsigned char pk_shape1[];
extern int pk_select;
extern char voice_name[];
wxPen BLUE_PEN(wxColour(0,0,255),2,wxSOLID);
wxBrush BRUSH_SELECTED_PEAK(wxColour(255,180,180),wxSOLID);
@@ -381,6 +383,18 @@ void SpectFrame::ApplyVoiceMods()
{//==============================
// apply the modifications to the formants which are defined in the current voice
int pk;
char voice_name1[40];
strcpy(voice_name1, voice_name); // remember current voice name
if(LoadVoice(path_modifiervoice.mb_str(wxConvLocal),0x13) == NULL)
{
wxLogError(_T("Can't read voice: ")+path_modifiervoice);
OnOptions2(MENU_PATH4);
return;
}
wxLogStatus(_T("Convert using voice: ")+path_modifiervoice);
for(pk=0; pk<N_PEAKS; pk++)
{
@@ -389,6 +403,7 @@ void SpectFrame::ApplyVoiceMods()
peaks[pk].pkwidth = (peaks[pk].pkwidth * voice->width2[pk])/256;
peaks[pk].pkright = (peaks[pk].pkright * voice->width2[pk])/256;
}
LoadVoice(voice_name1,1);
}