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
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 <[email protected]>


---
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);
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))
-- 
Ubuntu-accessibility mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-accessibility

Reply via email to