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

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



Some further updates.

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 being
able to open the sound device. However, now, with pipewire 0.3.61, it
seems to be working fine. The espeak server on the other hand still
fails to work correctly unless you force it to use ALSA rather than
Pulse (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
espeak-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).

I'm now going to try and install IBM Viavoice on my other system which
is still running pipewire 0.3.59 as I'm interested to see if it works
with that version.

Tim Cross <theophilusx(a)gmail.com> writes:

> "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
> virtual volume was maxed out. 
>
>>
>> Test with outloud not espeak to avoid portaudio issues and
>> complications.
>>
>
> Hmm. I've not got outloud installed on this system. This was partially
> because I was trying to avoid running a system with mixed 64/32 bit
> sound infrastructure. Also, I tried to get outloud working with pipewire
> in a virtual system before migrating from Ubuntu to Fedora and was never
> able to get it to work (Fedora is not one of the voxin supported
> distros).
>
> One of the reasons I moved to Fedora after years on both Ubuntu and
> Debian was because I was frustrated with how both those platforms have
> been doing mixed and patched hybrid systems. For example, the
> debian/ubuntu systemd implementation is still 'modified'. The version of
> GNome and other software is a blend of two versions etc. Likewise, their
> pipewire/wireplumber versions are behind. However, the
> main reason is because in Australia at least, nearly all the servers and
> enterprise systems I work with are either Red Hat enterprise or Fedora
> based. Familiarity with those platforms has become more important with
> the growth in dev ops and use of virtual environments like docker and
> kubernetes (though I have to admit, more often than not, all of this is
> used unnecessarily and created overly complex environments for no real
> benefit - my last 3 contracts have involved 'fixing' such environments
> by simplifying them to make the scale match their actual
> scale/complexity).
>
>
>> Dont write any lua scripts yet -- get the basic TTS server working in
>> 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 some
> performance issues early on, but they were resolved years ago. Up until
> recently, I've had no issues with pulseaudio at all apart from lack of
> support when using the console, but I've not used the Linux console in
> years either. I even had a similar configuration to the one you now
> have, execpt I achieved it just using pulse audios pavucontrol and/or
> pulsemix (terminal) program i.e. sending different output to different
> channels, mixing different sources with different volumes etc. 
>
> Now that I have got a TTS working again on my base system by rollling
> pipewire back the the previous version, the pressure to get something
> working is less and I can now more easily consume the documentation. My
> plan is to start by getting a better grip on both pipewire and in
> particular wireplumber. I suspect once I can work out how to make it
> work, wireplumber will be the critical component. I also think it is how
> you will be implementing the more advanced sound stuff you do with
> Emacspeak i.e. separate channels for notifications/text, sound scapes
> etc.
>
>
>> Tim Cross writes:
>>  > 
>>  > I probably wasn't clear.
>>  > 
>>  > After removing pipewire-pulse, the system was using pipewire-alsa. It
>>  > works, but felt a little laggy and the quality sounded a little
>>  > distorted. However, it worked fine. Unfortunately, many other apps won't
>>  > work without the pipewire-pulse module (I suspect I can probably
>>  > configure pipewire for each of them to make them use pipewire-alsa - I
>>  > was surprised they didn't do this automatically once pipewire-pulse was
>>  > removed). I did do a full reboot, so I know it wasn't due to some things
>>  > still being loaded etc.
>>  > 
>>  > What I want to try and do is configure pipewire to force espeak to use
>>  > alsa rather than pulse. If I can do that, I can have the pipewire-pulse
>>  > module, so all pulse apps work and have espeak work using alsa
>>  > under pipewire. I know this can be done because I briefly did it
>>  > accidentally using the CLI tools. Unfortunately, I was not able to
>>  > reproduce the config after a reboot. When I did have it working, the
>>  > device was reporting as Pipewire Alsa espeak rather than just espeak as
>>  > usual. 
>>  > 
>>  > There are just so many moving parts here - I find it extremely
>>  > confusing! I have a reasonable grasp of the basic architecture and
>>  > relationship between hardware, ALSA, pipewire and
>>  > pipewire-pulse. However, all the different configuration layers, plus
>>  > the extensive use of lua by pipewire as the configuration/scripting
>>  > language is certainly challenging. I probably need to spend some time
>>  > learning lua as I know nothing about it as a language. From what I can
>>  > tell, I should be able to define some lua scripts to take the espeak
>>  > output and route them to whatever sink I want, so should be 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 gives one
>>  > > more level of indirection 
>>
>> -- 
>>
>> 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