[1.43.48]

Add mbrowrap.cpp to emulate the mbrola library which is available in Windows, but not on Linux.  mbrola voices in command-line espeak and libespeak now call mbrola directly rather than generating phoneme information as text.  Mbrola phonemes as text is still available with the new --pho command-line option.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@248 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2010-06-28 15:50:12 +00:00
parent fb9338ad14
commit a9fedd94db
33 changed files with 1693 additions and 714 deletions
+8 -5
View File
@@ -288,6 +288,8 @@ void WcmdqStop()
#ifdef USE_PORTAUDIO
Pa_AbortStream(pa_stream);
#endif
if(mbrola_name[0] != 0)
MbrolaReset();
}
@@ -1563,6 +1565,8 @@ void WavegenSetVoice(voice_t *v)
option_harmonic1 = 6;
}
WavegenSetEcho();
MarkerEvent(espeakEVENT_SAMPLERATE,0,wvoice->samplerate,out_ptr);
// WVoiceChanged(wvoice);
}
@@ -1797,11 +1801,6 @@ int WavegenFill(int fill_zeros)
static int resume=0;
static int echo_complete=0;
#ifdef TEST_MBROLA
if(mbrola_name[0] != 0)
return(MbrolaFill(fill_zeros));
#endif
while(out_ptr < out_end)
{
if(WcmdqUsed() <= 0)
@@ -1904,6 +1903,10 @@ int WavegenFill(int fill_zeros)
case WCMD_EMBEDDED:
SetEmbedded(q[1],q[2]);
break;
case WCMD_MBROLA_DATA:
result = MbrolaFill(length, resume);
break;
}
if(result==0)