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

Re: espeakup stops speaking bookworm arm64



>>>>> "Frank" == Frank Carmickle <frank@carmickle.com> writes:


    >> You could play around with adding/subtracting pulseaudio/pipewire
    >> within the guest and different approaches for how the emulator
    >> talks to the host OS sound stack to explore whether this is the
    >> case.

    Frank> I have as minimal a setup as possible, no pulseaudio or
    Frank> pipewire. Alsa reports the card as running at 48k and every
    Frank> time the qemu starts the system it sets the guest to
    Frank> 44.1k. We know then that qemu is resampling. I did start some
    Frank> discussion about this on the qemu list.

Minimal is not always good here.
Something like pipewire or pulse is very likely to provide full buffers
and to provide silence if there's nothing to play until the device is
suspended.
Speech synthesizers are likely to just let the card underrun if they
have nothing to play.

I don't have specific recommendations on looking at interrupts.
If I wanted to test this hypothesis I'd write a small C program to try
and do what I thought espeak was doing and see if I could reproduce that
way.

That's kind of a pain, so I'd be more likely to see if I could get the
problem to go away by introducing pulse or pipewire, or adding or
removing dmix at the alsa level (although it's been a number of years
and I don't remember off the top of my head how to do that.)

--Sam


Reply to: