Some time horrible speech in Ubuntu 13.10 awailable Espeak and Speech-dispatcher

Hammer Attila hammera at pickup.hu
Fri Nov 22 11:19:52 UTC 2013


Hi,

My local system I resolved the wrote problem.
I downloaded the Espeak source package in Saucy, and removed 
/debian/patches/series file the sonic and Pulseaudio related patches.
My system I using since morning the modified Espeak package and not 
happened any distortion with Orca and Speech-dispatcher in Ubuntu Saucy. 
Previous day I first time removed only the sonic related patch without 
good luck.
Have chance only the Pulseaudio related patch producing the problem, but 
I choosed the safest way now my local system.
I attaching the two patches with I not applied my system when compiling 
Saucy awailable Espeak from source.
Luke, can you little look this patches to we known full sure what patch 
producing this distortion/fast speech related problem with some 
undeterminable situations?
Only sonic patch remove not solved my machine the experienced problems, 
but not tryed yet only remove the pulseaudio related patch and keep the 
sonic related patch.
If the sonic related patch absolute clean and good, I doing an another 
longer test the second combination.
Final, if we knowing what patch need absolute sure removing, I will be 
opening a report in Launchpad and attaching a debdiff.

Attila
-------------- next part --------------
Description: Trigger speech start on final chunk of write
 When espeak is used with pulseaudio, the last part of a line or other chunk
 is not spoken because pa_stream_trigger needs to get called to start
 speech.  This is called if the buffer is full and writes are not
 progressing.  However nothing calls this for the last part of what's
 being spoken.  The contract for wave_write on the portaudio side
 seems to start the stream, so do the same on pulse.
 This patch takes advantage of the fact that calling pulse_free twice
 in a row with no write causes a trigger.  An alternative but larger
 change would be to refactor that code out of pulse_free.

Author: Sam hartman <hartmans at debian.org>


---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:


--- espeak-1.46.02.orig/src/wave_pulse.cpp
+++ espeak-1.46.02/src/wave_pulse.cpp
@@ -731,6 +731,9 @@ size_t wave_write(void* theHandler, char
     }
 
   pulse_write(aBuffer, bytes_to_write);
+  //trigger
+  aTotalFreeMem = pulse_free();
+  aTotalFreeMem = pulse_free();
 
  terminate:
   pthread_mutex_unlock(&pulse_mutex);
-------------- next part --------------
Index: espeak/src/Makefile
===================================================================
--- espeak.orig/src/Makefile	2013-05-13 15:18:04.079656594 +1000
+++ espeak/src/Makefile	2013-05-13 15:18:04.075656594 +1000
@@ -73,21 +73,21 @@
 speak_SOURCES = speak.cpp compiledict.cpp dictionary.cpp intonation.cpp \
 	readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \
 	synthdata.cpp synthesize.cpp translate.cpp mbrowrap.cpp \
-	tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp klatt.cpp sonic.cpp
+	tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp klatt.cpp
 
 libespeak_SOURCES = speak_lib.cpp compiledict.cpp dictionary.cpp intonation.cpp \
 	readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \
 	synthdata.cpp synthesize.cpp translate.cpp mbrowrap.cpp \
 	tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp \
-	espeak_command.cpp event.cpp fifo.cpp $(WAVE) debug.cpp klatt.cpp sonic.cpp
+	espeak_command.cpp event.cpp fifo.cpp $(WAVE) debug.cpp klatt.cpp
 
 SRCS1=$(speak_SOURCES)
 OBJS1=$(patsubst %.cpp,%.o,$(SRCS1))
-LIBS1=-lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS)
+LIBS1=-lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS) -lsonic
 
 SRCS2=$(libespeak_SOURCES)
 OBJS2=$(patsubst %.cpp,x_%.o,$(SRCS2))
-LIBS2=-lstdc++ $(LIB_AUDIO) -lpthread
+LIBS2=-lstdc++ $(LIB_AUDIO) -lpthread -lsonic
 
 SRCS3 = espeak.cpp
 OBJS3=$(patsubst %.cpp,%.o,$(SRCS3))


More information about the Ubuntu-accessibility mailing list