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

[Emacspeak] Re: TTS Problems with Pipewire and Fedora 37



I suspect that the various levels of indirection that are being made
in the interest of comatibility are causing buffers of the wrong size
(typically too large) being allocated.

In the Outloud server, this is under our control, not so much so in
the Dectalk server where the buffer allocation happens deep inside the
Dectalk library=20

bart(a)bunting.net.au writes:
 > Tim,
 >=20
 > I don't have much to add to the debate accept to say recently I had =
similar issues with Debian and pipewire.
 >=20
 > I found that the software dectalk server which had been working fine=
 became unusable with very stutter audio.
 >=20
 > My solution was to remove pipewire and revert to pulse.
 >=20
 > The observations I made with pipewire installed were:
 > - viavoice worked mostly, a little distortion from time to time but =
ok.
 > - viavoice was a bit laggy.
 > - Dectalk didn't work in a usable way.
 > - Further more after using dectalk or at least trying to, switching =
back to viavoice made it unusable also.
 > - Multiple server restarts and anecdotally after waiting for sound t=
o stop, viavoice was ok again.
 >=20
 > Not sure that any of this helps but might offer a clue.
 >=20
 > Perhaps it's worth trying the dectalk server and seeing how it perfo=
rms.
 >=20
 > Kind regards
 >=20
 > Bart
 >=20
 >=20
 > -----Original Message-----
 > From: Tim Cross via Emacspeak <emacspeak(a)emacspeak.org>=20
 > Sent: Tuesday, 6 December 2022 9:27 AM
 > To: T.V Raman <raman(a)google.com>
 > Cc: emacspeak(a)emacspeak.org
 > Subject: [Emacspeak] Re: TTS Problems with Pipewire and Fedora 37
 >=20
 >=20
 > Some further updates.
 >=20
 > I decided to install IBM Viavoice and see how that worked. Result is=
 that it has worked fine. When I previously tried this with Fedora 36, =
I could not get it to run at all. It kept throwing errors about not bei=
ng able to open the sound device. However, now, with pipewire 0.3.61, i=
t seems to be working fine. The espeak server on the other hand still f=
ails to work correctly unless you force it to use ALSA rather than Puls=
e (the pipewire-pulse drop in replacement for pulse). It does work fine=
 with pipewire 0.3.59. Something has changed in pipewire between
 > 0.3.59 and 0.3.61 which causes problems wiht espeak (though the espe=
ak-ng program itself seems to work fine as I have no issues with speech=
 dispatcher running the espeak-ng module, which is also using pulse).
 >=20
 > I'm now going to try and install IBM Viavoice on my other system whi=
ch is still running pipewire 0.3.59 as I'm interested to see if it work=
s with that version.
 >=20
 > Tim Cross <theophilusx(a)gmail.com> writes:
 >=20
 > > "T.V Raman" <raman(a)google.com> writes:
 > >
 > >> Lua is a nice language -- you'll enjoy it.
 > >>
 > >> The lagginess may have been due to the virtualenv.
 > >
 > > Yes and I think the distortion may have been as well. Noticed the=20=

 > > virtual volume was maxed out.
 > >
 > >>
 > >> Test with outloud not espeak to avoid portaudio issues and=20
 > >> complications.
 > >>
 > >
 > > Hmm. I've not got outloud installed on this system. This was parti=
ally=20
 > > because I was trying to avoid running a system with mixed 64/32 bi=
t=20
 > > sound infrastructure. Also, I tried to get outloud working with=20=

 > > pipewire in a virtual system before migrating from Ubuntu to Fedor=
a=20
 > > and was never able to get it to work (Fedora is not one of the vox=
in=20
 > > supported distros).
 > >
 > > One of the reasons I moved to Fedora after years on both Ubuntu an=
d=20
 > > Debian was because I was frustrated with how both those platforms =
have=20
 > > been doing mixed and patched hybrid systems. For example, the=20
 > > debian/ubuntu systemd implementation is still 'modified'. The vers=
ion=20
 > > of GNome and other software is a blend of two versions etc. Likewi=
se,=20
 > > their pipewire/wireplumber versions are behind. However, the main=20=

 > > reason is because in Australia at least, nearly all the servers an=
d=20
 > > enterprise systems I work with are either Red Hat enterprise or Fe=
dora=20
 > > based. Familiarity with those platforms has become more important =
with=20
 > > the growth in dev ops and use of virtual environments like docker =
and=20
 > > kubernetes (though I have to admit, more often than not, all of th=
is=20
 > > is used unnecessarily and created overly complex environments for =
no=20
 > > real benefit - my last 3 contracts have involved 'fixing' such=20
 > > environments by simplifying them to make the scale match their act=
ual=20
 > > scale/complexity).
 > >
 > >
 > >> Dont write any lua scripts yet -- get the basic TTS server workin=
g in=20
 > >> a  default setup; that's how I migrated to pulseaudio six months =
ago.
 > >>
 > >
 > > Funny thing is, I've been using pulsaudio for years. There were so=
me=20
 > > performance issues early on, but they were resolved years ago. Up=20=

 > > until recently, I've had no issues with pulseaudio at all apart fr=
om=20
 > > lack of support when using the console, but I've not used the Linu=
x=20
 > > console in years either. I even had a similar configuration to the=
 one=20
 > > you now have, execpt I achieved it just using pulse audios pavucon=
trol=20
 > > and/or pulsemix (terminal) program i.e. sending different output t=
o=20
 > > different channels, mixing different sources with different volume=
s etc.
 > >
 > > Now that I have got a TTS working again on my base system by rolll=
ing=20
 > > pipewire back the the previous version, the pressure to get someth=
ing=20
 > > working is less and I can now more easily consume the documentatio=
n.=20
 > > My plan is to start by getting a better grip on both pipewire and =
in=20
 > > particular wireplumber. I suspect once I can work out how to make =
it=20
 > > work, wireplumber will be the critical component. I also think it =
is=20
 > > how you will be implementing the more advanced sound stuff you do =
with=20
 > > Emacspeak i.e. separate channels for notifications/text, sound sca=
pes=20
 > > etc.
 > >
 > >
 > >> Tim Cross writes:
 > >>  >
 > >>  > I probably wasn't clear.
 > >>  >
 > >>  > After removing pipewire-pulse, the system was using pipewire-a=
lsa.=20
 > >> It  > works, but felt a little laggy and the quality sounded a li=
ttle =20
 > >> > distorted. However, it worked fine. Unfortunately, many other a=
pps=20
 > >> won't  > work without the pipewire-pulse module (I suspect I can=20=

 > >> probably  > configure pipewire for each of them to make them use=20=

 > >> pipewire-alsa - I  > was surprised they didn't do this automatica=
lly=20
 > >> once pipewire-pulse was  > removed). I did do a full reboot, so I=
=20
 > >> know it wasn't due to some things  > still being loaded etc.
 > >>  >
 > >>  > What I want to try and do is configure pipewire to force espea=
k to=20
 > >> use  > alsa rather than pulse. If I can do that, I can have the=20=

 > >> pipewire-pulse  > module, so all pulse apps work and have espeak =
work=20
 > >> using alsa  > under pipewire. I know this can be done because I=20=

 > >> briefly did it  > accidentally using the CLI tools. Unfortunately=
, I=20
 > >> was not able to  > reproduce the config after a reboot. When I di=
d=20
 > >> have it working, the  > device was reporting as Pipewire Alsa esp=
eak=20
 > >> rather than just espeak as  > usual.
 > >>  >
 > >>  > There are just so many moving parts here - I find it extremely=
  >=20
 > >> confusing! I have a reasonable grasp of the basic architecture an=
d  >=20
 > >> relationship between hardware, ALSA, pipewire and  > pipewire-pul=
se.=20
 > >> However, all the different configuration layers, plus  > the=20
 > >> extensive use of lua by pipewire as the configuration/scripting  =
>=20
 > >> language is certainly challenging. I probably need to spend some =
time =20
 > >> > learning lua as I know nothing about it as a language. From wha=
t I=20
 > >> can  > tell, I should be able to define some lua scripts to take =
the=20
 > >> espeak  > output and route them to whatever sink I want, so shoul=
d be=20
 > >> able to get  > it to bypass pulse.
 > >>  >
 > >>  >
 > >>  > "T.V Raman" <raman(a)google.com> writes:
 > >>  >
 > >>  > > Like I said, look for pipewire-alsa.
 > >>  > >
 > >>  > > Espeak adds another twist in that it uses portaudio and that=
=20
 > >> gives one  > > more level of indirection
 > >>
 > >> --
 > >>
 > >> Thanks,
 > >>
 > >> --Raman(I Search, I Find, I Misplace, I Research) =E2=99=89 Id: k=
g:/m/0285kf1 =20
 > >> =F0=9F=A6=AE
 > =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=
=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=

 > Emacspeak mailing list -- emacspeak(a)emacspeak.org To unsubscribe sen=
d an email to emacspeak-leave(a)emacspeak.org

--=20

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
=E2=99=89 Id: kg:/m/0285kf1  =F0=9F=A6=AE

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮


|May 1995 - Last Year|Current Year|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page