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

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



Thanks Bart. I was only talking about the software dectalk with Greg
this morning. Plan to give it another go. When last tried (not long
after Raman's post on the subject), I found it compiled, but kept seg
faulting. That was with Fedora 36.

Before switching to Fedora, I ran up a virtual machine running it and
tried VaiVoice and espeak. At that time, I could not get ViaVoice to
work at all, but espeak seemed pretty good. I then migrated my desktop
from Ubuntu to Fedora 36 and switched from ViaVoice to espeak as the tts
server. All worked pretty well. I then upgraded to Fedora 37 and all was
working well until last week and the wheels dropped off after a
pipewire upgrade.

I now have ViaVoice working and it appears to be working well under
pipewire. I can only get the espak server to work if it uses
pipewire-alsa. It doesn't seem to want to work with pipewire-pulse. I'm
still investigating that issue.

The Fedora distro tends to be a little in front of Ubutnu/Debian with
respect to pipewire. On the whole, I find pipewire and wireplumber
(session manager for sound) to work really well. Where before I had
problems with ViaVoice, it now seems very solid. I will look at the
software dectalk latger this week. 

I also plan to try and track down the pulse issue with espeak, but
suspect that will take a bit longer and require a more thorough
understanding of pipewire and wireplumber.

Tim

<bart(a)bunting.net.au> writes:

> Tim,
>
> I don't have much to add to the debate accept to say recently I had similar issues with Debian and pipewire.
>
> I found that the software dectalk server which had been working fine became unusable with very stutter audio.
>
> My solution was to remove pipewire and revert to pulse.
>
> 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 to stop, viavoice was ok again.
>
> Not sure that any of this helps but might offer a clue.
>
> Perhaps it's worth trying the dectalk server and seeing how it performs.
>
> Kind regards
>
> Bart
>
>
> -----Original Message-----
> From: Tim Cross via Emacspeak <emacspeak(a)emacspeak.org> 
> 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
>
>
> 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  
>>> 🦮
> _______________________________________________
> Emacspeak mailing list -- emacspeak(a)emacspeak.org To unsubscribe send an email to emacspeak-leave(a)emacspeak.org


|May 1995 - Last Year|Current Year|


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

Contact Info Page