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

Re: changing the scheduling and niceness of espeakup and related processes



Hello all,

> On Feb 10, 2022, at 12:36 PM, Nick Gawronski <nick@nickgawronski.com> wrote:
> 
> Hi, I am often doing testing of software like Android building and find that speech will stop during one of the processor heavy building processes.  What I would like to be able to do is to change espeakup and other processes so they run with the highest niceness and scheduling so that if a normal building process uses a lot of resources I can still use the espeakup program with speakup review commands.  As it currently is setup if the system is doing a very heavy task with the hard drive and I try to review the screen either in that console or another I get no speech for sometimes a very long time and there has been times where I have had to completely reboot the system remotely in order to get speech back as when speech is working there is a very long delay during heavy working processes.  Is there a way to get espeakup and related processes running at a much higher setup the highest if possible to help out with this issue?  Yes I could always tell the building process to not use as many jobs but this slows down the building process.  Nick Gawronski
> 
Are you experiencing choppy speech or does speech just pause for a time?

I use the following in rc.local. You could build a systemd unit for it, if you'd like.

taskset -ap 1 $(pidof speakup)
taskset -ap 1 $(pidof espeakup)
renice -20 $(pidof espeakup)
renice -n -20 -p $(pidof speakup)

This used to work well for avoiding choppy speech that can happen with small audio buffer sizes. Lately espeakup seems to get overwhelmed both when system load is high as well as when a lot of input to the synthesizer happens, many screen fulls of output, dmesg seems to trigger the problem easily enough.

I'm going to go read the bug reports to see if this is already being tracked. If not, I will open a bug.

--FC


Reply to: