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

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



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