[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]

problems with espeak and pulseaudio



I just got a shiny new computer and installed Ubuntu 10.10rc (the
final release was a day or two pending).  I'm running into some
problems with espeak but only in emacspeak.

Here is what I have installed:

emacs 23.2.1 from source
emacspeak 32 from source into /usr/local

On first running emacspeak with orca, orca reads well but with
emacspeak there is an issue with speech being clipped off at the last
character or two.  responsiveness is good, though, i.e. moving up and
down lines in the buffer provides immediate feedback.

I read Tim's email concerning getting espeak and pulseaudio to work well
together.  

The first thing I did was to change the logging level to info.  All I
get in the logs are lines like the following:

,----
| Oct 12 09:31:30 E6410 pulseaudio[23792]: ratelimit.c: 139 events suppressed
`----

No other info is given, either then or now.

The next thing I did was to download espeak 1.44.05 source from the
site.  Changed portaudio line to pulseaudio in the makefile and
received no warnings compiling.  I then ran ldconfig and rebuilt the
emacspeak server.  Orca speech is good.  running tclsh espeak, speech
server is working well.

Speech in emacspeak is hosed.  Pause before speaking lines.  As an
example of the problem, If I do C-x C-f and do not hit anything else,
it immediately says "Capital Find file colon" but if I type C-x C-f
and type a period before the speech stops, there is a 3-4 second pause
before it says "colon dot."  If I try to scroll several lines in a
buffer there is 3-4 second pause between speech output which is only the
first "cap" of the word "Capital."

I tried putting Tim's .asoundrc file in my $HOME with no joy.

running pacmd and list-sinks, I get this output.  This command seemed
to show what I should be looking for.  (comments in-line):

,----
| 1 sink(s) available.
|   * index: 0
| 	name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
| 	driver: <module-alsa-card.c>
| 	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
| 	state: RUNNING
| 	suspend cause: 
| 	priority: 9959
`----

The above line tells the priority of pulseaudio, right?  Is this
high-priority?  How can I tell if it is using rt-scheduling?

,----
| 	volume: 0:  44% 1:  44%
| 	        0: -21.32 dB 1: -21.32 dB
| 	        balance 0.00
| 	base volume: 100%
| 	             0.00 dB
| 	volume steps: 65537
| 	muted: no
| 	current latency: 7.76 ms
`----

>From what I have seen, since this is less than the requested latency
shown below, something set by the application making the request, this
should be fine.  Do I misunderstand?

,----
| 	max request: 1 KiB
| 	max rewind: 344 KiB
| 	monitor source: 0
| 	sample spec: s16le 2ch 44100Hz
`----

If I run list, the above line matches the output at the top.  I've
included the first few lines below, after the output of this command

,----
|       channel map: front-left,front-right
| 	             Stereo
| 	used by: 2
| 	linked by: 2
| 	configured latency: 8.00 ms; range is 8.00 .. 1999.82 ms
`----

Here is the latency line I was referring to above.

,----
|       card: 0 <alsa_card.pci-0000_00_1b.0>
| 	module: 4
| 	properties:
| 		alsa.resolution_bits = "16"
| 		device.api = "alsa"
| 		device.class = "sound"
| 		alsa.class = "generic"
| 		alsa.subclass = "generic-mix"
| 		alsa.name = "STAC92xx Analog"
| 		alsa.id = "STAC92xx Analog"
| 		alsa.subdevice = "0"
| 		alsa.subdevice_name = "subdevice #0"
| 		alsa.device = "0"
| 		alsa.card = "0"
| 		alsa.card_name = "HDA Intel"
| 		alsa.long_card_name = "HDA Intel at 0xf6960000 irq 48"
| 		alsa.driver_name = "snd_hda_intel"
| 		device.bus_path = "pci-0000:00:1b.0"
| 		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
| 		device.bus = "pci"
| 		device.vendor.id = "8086"
| 		device.vendor.name = "Intel Corporation"
| 		device.product.id = "3b56"
| 		device.product.name = "5 Series/3400 Series Chipset High Definition Audio"
| 		device.form_factor = "internal"
| 		device.string = "front:0"
| 		device.buffering.buffer_size = "352768"
`----

This buffer size is much larger than the one I have on my current system.

,----
| 		device.buffering.fragment_size = "176384"
|                 device.access_mode = "mmap+timer"
| 		device.profile.name = "analog-stereo"
| 		device.profile.description = "Analog Stereo"
| 		device.description = "Internal Audio Analog Stereo"
| 		alsa.mixer_name = "Intel IbexPeak HDMI"
| 		alsa.components = "HDA:111d76d5,1028040a,00100104 HDA:14f12c06,14f1000f,00100000 HDA:80862804,80860101,00100000"
| 		module-udev-detect.discovered = "1"
| 		device.icon_name = "audio-card-pci"
| 	ports:
| 		analog-output: Analog Output (priority 9900)
| 		analog-output-headphones: Analog Headphones (priority 9000)
| 	active port: <analog-output>
`----

Output of first few lines of 'list':

,----
| Memory blocks currently allocated: 72, size: 227.2 KiB.
| Memory blocks allocated during the whole lifetime: 78640, size: 507.1 MiB.
| Memory blocks imported from other processes: 57, size: 89.4 KiB.
| Memory blocks exported to other processes: 0, size: 0 B.
| Total sample cache size: 0 B.
| Default sample spec: s16le 2ch 44100Hz
| Default channel map: front-left,front-right
| Default sink name: alsa_output.pci-0000_00_1b.0.analog-stereo
| Default source name: alsa_input.pci-0000_00_1b.0.analog-stereo
| Memory blocks of type POOL: 15 allocated/2526 accumulated.
| Memory blocks of type POOL_EXTERNAL: 0 allocated/0 accumulated.
| Memory blocks of type APPENDED: 0 allocated/0 accumulated.
| Memory blocks of type USER: 0 allocated/0 accumulated.
| Memory blocks of type FIXED: 0 allocated/74856 accumulated.
| Memory blocks of type IMPORTED: 57 allocated/1258 accumulated.
`----

I'm not sure how to go about resolving the issue.  Since speech seems
to work well in orca but not in emacs, it leads me to believe it might
be an emacspeak server issue.  orca is using the speech-dispatcher backend, if it
matters.  Also, the problem doesn't change if orca is not running or
if I run outside of X on a VT.

If anyone can shed some light on this and point me in the right
direction I would surely be grateful.

Thanks,
rdc
-- 
Robert D. Crawford                                     robdcraw@xxxxxxxxxxx

Drop the vase and it will become a Ming of the past.
		-- The Adventurer

-----------------------------------------------------------------------------
To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@xxxxxxxxxxx" with a
subject of "unsubscribe" or "help".



If you have questions about this archive or had problems using it, please send mail to:

priestdo@xxxxxxxxxxx No Soliciting!

Emacspeak List Archive | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998

Emacspeak Files | Emacspeak Blog