git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@122 d46cf337-b52f-0410-862d-fd96e6ae7743

This commit is contained in:
jonsd
2008-01-14 02:34:54 +00:00
parent 38063c4eea
commit 18a4e534e2
12 changed files with 42 additions and 16 deletions
+1 -1
View File
@@ -552,7 +552,7 @@ void Translator::MakePhonemeList(int post_pause, int start_sentence)
next2 = phoneme_tab[(plist2+2)->phcode];
if((insert_ph == 0) && (ph->link_out != 0) && !(ph->phflags && phBEFOREPAUSE) && (((plist2+1)->synthflags & SFLAG_EMBEDDED)==0))
if((insert_ph == 0) && (ph->link_out != 0) && !(ph->phflags & phBEFOREPAUSE) && (((plist2+1)->synthflags & SFLAG_EMBEDDED)==0))
{
if(ph->phflags & phAPPENDPH)
{
+4
View File
@@ -433,6 +433,8 @@ static espeak_ERROR Synthesize(unsigned int unique_identifier, const void *text,
length = (out_ptr - outbuf)/2;
count_samples += length;
event_list[event_list_ix].type = espeakEVENT_LIST_TERMINATED; // indicates end of event list
event_list[event_list_ix].unique_identifier = my_unique_identifier;
event_list[event_list_ix].user_data = my_user_data;
count_buffers++;
if (my_mode==AUDIO_OUTPUT_PLAYBACK)
@@ -460,6 +462,8 @@ static espeak_ERROR Synthesize(unsigned int unique_identifier, const void *text,
// This ensures that <audio> tag (which causes end-of-clause) is at a sound buffer boundary
event_list[0].type = espeakEVENT_LIST_TERMINATED;
event_list[0].unique_identifier = my_unique_identifier;
event_list[0].user_data = my_user_data;
if(SpeakNextClause(NULL,NULL,1)==0)
{
+6
View File
@@ -430,7 +430,10 @@ int MbrolaSynth(char *p_mbrola)
out_ptr = outbuf + len*2;
if(event_list)
{
event_list[event_list_ix].type = espeakEVENT_LIST_TERMINATED; // indicates end of event list
event_list[event_list_ix].user_data = 0;
}
count_samples += len;
finished = synth_callback((short *)outbuf, len, event_list);
event_list_ix=0;
@@ -475,7 +478,10 @@ int MbrolaSynth(char *p_mbrola)
out_ptr += (len*2);
if(event_list)
{
event_list[event_list_ix].type = espeakEVENT_LIST_TERMINATED; // indicates end of event list
event_list[event_list_ix].user_data = 0;
}
count_samples += len;
finished = synth_callback((short *)outbuf, len, event_list);
event_list_ix=0;
+1 -1
View File
@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"
const char *version_string = "1.30.10 13.Jan.08";
const char *version_string = "1.30.11 13.Jan.08";
const int version_phdata = 0x013010;
int option_device_number = -1;
+2
View File
@@ -502,6 +502,8 @@ static int WaveCallback(const void *inputBuffer, void *outputBuffer,
{
// synchronous-playback mode, allow the calling process to abort the speech
event_list[event_list_ix].type = espeakEVENT_LIST_TERMINATED; // indicates end of event list
event_list[event_list_ix].user_data = 0;
if(synth_callback(NULL,0,event_list) == 1)
{
SpeakNextClause(NULL,NULL,2); // stop speaking