You are not logged in.

#1 2021-06-12 09:04:31

replabrobin
Member
Registered: 2010-05-06
Posts: 226

SOLVED in upstream: espeak stops working after alsa upgrade

EDIT: this is now fixed in latest git see https://github.com/alsa-project/alsa-lib/issues/155

I have up to date archlinux Linux minikat 5.12.10-arch1-1 #1 SMP PREEMPT Thu, 10 Jun 2021 16:34:50 +0000 x86_64 GNU/Linux
I upgraded today and find that espeak (1:1.48.04-3) stopped working.

The new  alsa packages are

Packages (8) alsa-card-profiles-1:0.3.30-2  alsa-lib-1.2.5-2  alsa-plugins-1:1.2.5-2  alsa-topology-conf-1.2.5-1  alsa-ucm-conf-1.2.5-2  alsa-utils-1.2.5-3
             lib32-alsa-lib-1.2.5-2  lib32-alsa-plugins-1.2.5-1

after updating these I find that espeak fails to produce sound. Alsamixer works and the settings look good. I have sound from vlc and speaker-test works.

Sound is restored to espeak if I downgrade to these versions

Packages (8) alsa-card-profiles-1:0.3.29-1  alsa-lib-1.2.4-3  alsa-plugins-1:1.2.2-2  alsa-topology-conf-1.2.4-2  alsa-ucm-conf-1.2.4-2  alsa-utils-1.2.4-2
             lib32-alsa-lib-1.2.4-2  lib32-alsa-plugins-1.2.2-1

I looked at the &> output produced by espeak and compared old with new; I see a few differences eg

working espeak

.....
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
...
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
.....

non-working

.....
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
.....
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
......
Expression 'framesAvail' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 3629
Expression 'PaAlsaStreamComponent_GetAvailableFrames( self, &framesAvail, xrun )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 3989
Expression 'PaAlsaStreamComponent_RegisterChannels( &self->playback, &self->bufferProcessor, &playbackFrames, &xrun )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 4118
Expression 'PaAlsaStream_SetUpBuffers( stream, &framesGot, &xrun )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 4359

but as a non-expert I can't really say if that's relevant. What do I need to do to get sound back for espeak?

EDIT: it seems the problem lies in the change to alsa-lib / lib32-alsa-lib since espeak stops working if only those packages are updated. That makes sense as espeak uses libasound which is provided by alsa-lib.
EDIT: it seems that espeak-ng is unaffected by this problem even though it does use libasound. However, espeak-ng has a much bigger footprint and requires many more libraries.

Last edited by replabrobin (2021-06-21 17:44:20)

Offline

#2 2021-06-14 21:54:12

epidimetha
Member
Registered: 2021-06-14
Posts: 1

Re: SOLVED in upstream: espeak stops working after alsa upgrade

this happen to me too
espeak-ng uses pcaudiolib
im a new linux user
thanks for the espeak-ng works smile

Last edited by epidimetha (2021-06-14 21:54:53)

Offline

Board footer

Powered by FluxBB