mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-07 15:24:02 +00:00
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@122 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+1
-1
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user