From kde-accessibility Thu Oct 10 01:56:34 2019 From: Jeremy Whiting Date: Thu, 10 Oct 2019 01:56:34 +0000 To: kde-accessibility Subject: Re: How to configure Qtspeech - was configuring speech-dispatcher - festival TTS works!! Message-Id: X-MARC-Message: https://marc.info/?l=kde-accessibility&m=157067263012900 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--000000000000b0f3c5059484b6fe" --000000000000b0f3c5059484b6fe Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Heya Gustav, Good to hear you got festival working. Another option to try if you haven't yet (and if OpenSuse has packages for it) is svox pico. Android used to use it before the past couple of releases. It sounds pretty natural to most people and has voices available in a few languages (English, Spanish, French and German iirc). I think it's kind of abandoned at this point from looking at it's git history, but it works well if packaged right. Speech-dispatcher has a module for it called "pico" you can set as your default module if it's available etc. to try. In other news the okular changes got merged to okular so will be in the 19.12 release of KDE Applications once it comes out this december. Adds a configuration to select either the flite or speech-dispatcher QtSpeech backend in okular's settings dialog and adds an action to pause/resume that you can assign a keyboard shortcut to if you need. thanks, Jeremy On Fri, Oct 4, 2019 at 9:34 AM Gustav Degreef wrote: > Hi Folks, > > I got festival to work!! I also posted on the opensuse list, and with > their help and all the input I got here, I have a new voice. It is an > improvement. As Simion said, it is only in English, but it is a huge > step for me. I will eventually try to get other voices to work. > > In addition to the below steps, I found out that ESC :wq ENTER is the > right command to exit and save the crontab command I had asked help > with. After that I used the spd-conf script repeatedly to figure out > what was missing. In opensuse (Leasp 15) festival needs an additional > package to work - "festival-freebsoft-utils" . I got it as a tarball fr= om > > https://freebsoft.org/festival-freebsoft-utils > > The install instructions are in the readme file and were easy to > follow. Using the spd-conf script then helped me iron out the rest of > the details. > > I am very grateful to all of you who gave input in helping me finally > solve this. The sound of the espeak voice never bothered me. It bothers > my partner and recently turned off a very dear friend who first heard it. > It made me realize that it gives a very bad impression of linux. I am ve= ry > much encouraged by people's help, and I am going to try to find even bett= e > voices. In the process of getting festival to work, I saw that the code > has essentially not changed in 13 years! I recently read an article on > the state of the art of linux TTS, it gave me a push to find a voice that > sounds more human and gives a better impression to others. Thanks! Gust= av > > > > > On 9/29/19 3:53 PM, Simion wrote: > > > > Hi, crontab command will use your default CLI editor, so is probably > > opening with vim, vim is notorious for beeing imposible to exit from, > > > ..... > > > > I can't help with festival > > > > On 9/29/19 10:18 PM, Gustav Degreef wrote: > >> Thanks for the explanation.=C3=82 I get stuck in the same place.=C3= =82 When I > run > >> the "crontab -e" command, I get a window where I can past the command > >> specified, but then I don't know how to proceed from there.=C3=82 I r= ead the > >> man page for crontab and it says that once the commands are specified, > >> you have to exit the editor that is specified (I guess in my system) a= nd > >> then the crontab file becomes active.=C3=82 I have no idea where to p= roceed > >> after I past the command into the window. I tried typing exit, =C3=82 = =C3=82 q > and > >> control q but nothing happens.=C3=82 The menu of the window says to s= ave the > >> output, but when I try that it gives a blank box to type a name to sav= e > >> it to.=C3=82 Any help would be appreciated.=C3=82 Some years ago, I = was also > stuck > >> in this place.=C3=82 Is there any simple way to make festival an acti= ve > >> server?=C3=82 Gustav. > >> > >> On 9/26/19 10:32 PM, Jeremy Whiting wrote: > >>> Hi Gustav, > >>> > >>> Just out of curiosity, which distribution and version of linux are yo= u > >>> using? > >>> > >>> To answer your question though, crontab is an application that runs > >>> things at different times on a unix based system. crontab -e is a > >>> command to edit the cron table of commands. Running crontab -e and > >>> adding the line you mentioned: > >>> > >>> @restart /usr/bin/festival --server > >>> > >>> will make festival --server run at each boot of the computer I believ= e. > >>> > >>> Hope that helps. Another possibility according to arch linux's wiki > >>> https://wiki.archlinux.org/index.php/Festival#Can't_open_/dev/dsp is > >>> to add some lines to the festival configuration to allow it to open > >>> the /dev/dsp > >>> > >>> BR, > >>> Jeremy > >>> > >>> On Thu, Sep 26, 2019 at 7:25 PM Gustav Degreef >>> > wrote: > >>> > >>> Hello folks, > >>> > >>> I edited this thread some to make it easier to follow my current > post. > >>> It is not directed at Simion, though his comments are helpful to > >>> make my > >>> post clearer.=C3=83=E2=80=9A=C3=82 > >>> As a result of these discussions I have more clearly understood > >>> the role > >>> of speech-dispatcher. Since will be used with Qtspeech, it makes > >>> sense > >>> to work with it. =C3=83=E2=80=9A=C3=82 So, Perching with google= =C3=83=E2=80=9A=C3=82 I understood > how > >>> central > >>> speech-dispatcher is to linux TTS.=C3=83=E2=80=9A=C3=82 I tried = again to configure > >>> Festival > >>> with speech-dispatcher.=C3=83=E2=80=9A=C3=82 I want to try and c= onfigure a different > >>> voice.=C3=83=E2=80=9A=C3=82 > >>> I wan to try and experiment with different voices.=C3=83=E2=80=9A= =C3=82 Espeak is > OK, > >>> but I > >>> feel I have to move forward.=C3=83=E2=80=9A=C3=82 But again I am= stuck.=C3=83=E2=80=9A=C3=82 Here is > >>> where I am at. > >>> > >>> I could never get speech output even on the CLI. > >>> > >>> The error I would get was -festival: can't open /dev/dsp > >>> > >>> It is due to a bug.=C3=83=E2=80=9A=C3=82 =C3=83=E2=80=9A=C3=82 T= he workaround is: > >>> Create ~/.festivalrc with the following content > >>> > >>> ;use ALSA > >>> (Parameter.set 'Audio_Method 'Audio_Command) > >>> (Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR > >>> $FILE") > >>> > >>> > >>> I then needed to configure speech-dispatcher, so I ran: > >>> > >>> spd-conf > >>> > >>> as a regular user. It creates the speech-dispatcher global serve= r > >>> configuration file: > >>> > >>> in ~/.config/speech-dispatcher/|speechd.conf > >>> > >>> This configures speech-dispatcher (interactively) with a number o= f > >>> variables, the default voice is espeak. > >>> > >>> I then edit speechd.conf, which allows for many different > >>> voices. I change: > >>> > >>> |#AddModule "espeak" "sd_espeak" "espeak.conf"|| > >>> | > >>> |AddModule "festival" "sd_festival" "festival.conf"| > >>> | > >>> | > >>> |and| > >>> |||| > >>> > >>> |#DefaultModule espeak | > >>> > >>> |DefaultModule festival > The next step .... "|We need to run |festival| as a server in order to > make > >>> |speech-dispatcher| use it as default. We can do that by adding > >>> the following line at the end of the file that's open when we use > the > >>> command: |sudo crontab -e > >>> > >>> |@reboot /usr/bin/festival --server > >>> > >>> |||I can't understand the last step.=C3=83=E2=80=9A=C3=82 I've n= ever used crontab > >>> fore, any > >>> help would be appreciated, Gustav.| > >>> || > >>> > >>> > >>> On 9/22/19 9:29 AM, Simion wrote: > >>> > >>> > >>> snip > >>> > >>> > As I said I suggest to get used of using faster and faster > voices, > >>> > your family will understand and you will read same texts 2 time= s > >>> > faster so you gain time, at that speed any voice will sound > robotic, > >>> > this would not work if you want other to listen with you (but > >>> you can > >>> > have a normal speed and a fast speed talker in jovie) > >>> > > >>> > > >>> > On 9/22/19 2:54 PM, Gustav Degreef wrote: > >>> >> > >>> >> snip > >>> >> > >>> >> From what you and others are saying and from what I've > >>> read, I think I > >>> >> understand better. Correct me if I am wrong, but don't > >>> you have > >>> >> to tell > >>> >> speech-dispatcher which voice (e-speak, festival, etc.) to > >>> use? If I > >>> >> can figure out how to tell speech-dispatcher which voice to us= e > >>> then > >>> >> Jovie (or Qtspeech) will then output my choice? I have > >>> looked > >>> >> into it, > >>> >> and there are several (about 6 different) voices I can use in > >>> Linux. > >>> >> > --000000000000b0f3c5059484b6fe Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Heya Gustav,

Good to hear yo= u got festival working. Another option to try if you haven't yet (and i= f OpenSuse has packages for it) is svox pico. Android used to use it before= the past couple of releases. It sounds pretty natural to most people and h= as voices available in a few languages (English, Spanish, French and German= iirc). I think it's kind of abandoned at this point from looking at it= 's git history, but it works well if packaged right. Speech-dispatcher = has a module for it called "pico" you can set as your default mod= ule if it's available etc. to try.

In other ne= ws the okular changes got merged to okular so will be in the 19.12 release = of KDE Applications once it comes out this december. Adds a configuration t= o select either the flite or speech-dispatcher QtSpeech backend in okular&#= 39;s settings dialog and adds an action to pause/resume that you can assign= a keyboard shortcut to if you need.

thanks,
=
Jeremy

On Fri, Oct 4, 2019 at 9:34 AM Gustav Degreef <gustav97@gmail.com> wrote:
Hi Folks,

I got festival to work!!=C2=A0 I also posted on the opensuse list, and with=
their help and all the input I got here, I have a new voice.=C2=A0 It is an=
improvement.=C2=A0 As Simion said, it is only in English, but it is a huge<= br> step for me.=C2=A0 I will eventually try to get other voices to work.

In addition to the below steps, I found out that ESC :wq ENTER is the
right command to exit and save the crontab command I had asked help
with.=C2=A0 After that I used the spd-conf script repeatedly to figure out<= br> what was missing.=C2=A0 In opensuse (Leasp 15) festival needs an additional=
package to work - =C2=A0 "festival-freebsoft-utils" . I got it as= a tarball from

https://freebsoft.org/festival-freebsoft-utils

The install instructions are in the readme file and were easy to
follow.=C2=A0 Using the spd-conf script then helped me iron out the rest of=
the details.

I am very grateful to all of you who gave input in helping me finally solve= this.=C2=A0 The sound of the espeak voice never bothered me.=C2=A0 It both= ers my partner and recently turned off a very dear friend who first heard i= t.=C2=A0 It made me realize that it gives a very bad impression of linux.= =C2=A0 I am very much encouraged by people's help, and I am going to tr= y to find even bette voices.=C2=A0 In the process of getting festival to wo= rk, I saw that the code has essentially not changed in 13 years!=C2=A0 I re= cently read=C2=A0 an article on the state of the art of linux TTS, it gave = me a push to find a voice that sounds more human and gives a better impress= ion to others.=C2=A0 Thanks!=C2=A0 Gustav




On 9/29/19 3:53 PM, Simion wrote:
>
> Hi, crontab command will use your default CLI editor, so is probably > opening with vim, vim is notorious for beeing imposible to exit from,<= br> >
.....
>
> I can't help with festival
>
> On 9/29/19 10:18 PM, Gustav Degreef wrote:
>> Thanks for the explanation.=C3=82=C2=A0 I get stuck in the same pl= ace.=C3=82=C2=A0 When I run
>> the "crontab -e" command, I get a window where I can pas= t the command
>> specified, but then I don't know how to proceed from there.=C3= =82=C2=A0 I read the
>> man page for crontab and it says that once the commands are specif= ied,
>> you have to exit the editor that is specified (I guess in my syste= m) and
>> then the crontab file becomes active.=C3=82=C2=A0 I have no idea w= here to proceed
>> after I past the command into the window. I tried typing exit, =C3= =82=C2=A0=C3=82=C2=A0 q and
>> control q but nothing happens.=C3=82=C2=A0 The menu of the window = says to save the
>> output, but when I try that it gives a blank box to type a name to= save
>> it to.=C3=82=C2=A0 Any help would be appreciated.=C3=82=C2=A0 Some= years ago, I was also stuck
>> in this place.=C3=82=C2=A0 Is there any simple way to make festiva= l an active
>> server?=C3=82=C2=A0 Gustav.
>>
>> On 9/26/19 10:32 PM, Jeremy Whiting wrote:
>>> Hi Gustav,
>>>
>>> Just out of curiosity, which distribution and version of linux= are you
>>> using?
>>>
>>> To answer your question though, crontab is an application that= runs
>>> things at different times on a unix based system. crontab -e i= s a
>>> command to edit the cron table of commands. Running crontab -e= and
>>> adding the line you mentioned:
>>>
>>> @restart /usr/bin/festival --server
>>>
>>> will make festival --server run at each boot of the computer I= believe.
>>>
>>> Hope that helps. Another possibility according to arch linux&#= 39;s wiki
>>> https://wiki.archl= inux.org/index.php/Festival#Can't_open_/dev/dsp is
>>> to add some lines to the festival configuration to allow it to= open
>>> the /dev/dsp
>>>
>>> BR,
>>> Jeremy
>>>
>>> On Thu, Sep 26, 2019 at 7:25 PM Gustav Degreef <gustav97@gmail.com
>>> <mailto:gustav97@gmail.com>> wrote:
>>>
>>>=C2=A0 =C2=A0 =C2=A0Hello folks,
>>>
>>>=C2=A0 =C2=A0 =C2=A0I edited this thread some to make it easier= to follow my current post.
>>>=C2=A0 =C2=A0 =C2=A0It is not directed at Simion, though his co= mments are helpful to
>>>=C2=A0 =C2=A0 =C2=A0make my
>>>=C2=A0 =C2=A0 =C2=A0post clearer.=C3=83=E2=80=9A=C3=82=C2=A0 >>>=C2=A0 =C2=A0 =C2=A0As a result of these discussions I have mor= e clearly understood
>>>=C2=A0 =C2=A0 =C2=A0the role
>>>=C2=A0 =C2=A0 =C2=A0of speech-dispatcher.=C2=A0 Since will be u= sed with Qtspeech, it makes
>>>=C2=A0 =C2=A0 =C2=A0sense
>>>=C2=A0 =C2=A0 =C2=A0to work with it. =C3=83=E2=80=9A=C3=82=C2= =A0 So,=C2=A0 Perching with google=C3=83=E2=80=9A=C3=82=C2=A0 I understood = how
>>>=C2=A0 =C2=A0 =C2=A0central
>>>=C2=A0 =C2=A0 =C2=A0speech-dispatcher is to linux TTS.=C3=83=E2= =80=9A=C3=82=C2=A0 I tried again to configure
>>>=C2=A0 =C2=A0 =C2=A0Festival
>>>=C2=A0 =C2=A0 =C2=A0with speech-dispatcher.=C3=83=E2=80=9A=C3= =82=C2=A0 I want to try and configure a different
>>>=C2=A0 =C2=A0 =C2=A0voice.=C3=83=E2=80=9A=C3=82=C2=A0
>>>=C2=A0 =C2=A0 =C2=A0I wan to try and experiment with different = voices.=C3=83=E2=80=9A=C3=82=C2=A0 Espeak is OK,
>>>=C2=A0 =C2=A0 =C2=A0but I
>>>=C2=A0 =C2=A0 =C2=A0feel I have to move forward.=C3=83=E2=80=9A= =C3=82=C2=A0 But again I am stuck.=C3=83=E2=80=9A=C3=82=C2=A0 Here is
>>>=C2=A0 =C2=A0 =C2=A0where I am at.
>>>
>>>=C2=A0 =C2=A0 =C2=A0I could never get speech output even on the= CLI.
>>>
>>>=C2=A0 =C2=A0 =C2=A0The error I would get was -festival: can= 9;t open /dev/dsp
>>>
>>>=C2=A0 =C2=A0 =C2=A0It is due to a bug.=C3=83=E2=80=9A=C3=82=C2= =A0=C3=83=E2=80=9A=C3=82=C2=A0 The workaround is:
>>>=C2=A0 =C2=A0 =C2=A0Create ~/.festivalrc with the following con= tent
>>>
>>>=C2=A0 =C2=A0 =C2=A0;use ALSA
>>>=C2=A0 =C2=A0 =C2=A0(Parameter.set 'Audio_Method 'Audio= _Command)
>>>=C2=A0 =C2=A0 =C2=A0(Parameter.set 'Audio_Command "apl= ay -q -c 1 -t raw -f s16 -r $SR
>>>=C2=A0 =C2=A0 =C2=A0$FILE")
>>>
>>>
>>>=C2=A0 =C2=A0 =C2=A0I then needed to configure speech-dispatche= r, so I ran:
>>>
>>>=C2=A0 =C2=A0 =C2=A0spd-conf
>>>
>>>=C2=A0 =C2=A0 =C2=A0as a regular user.=C2=A0 It creates the spe= ech-dispatcher global server
>>>=C2=A0 =C2=A0 =C2=A0configuration file:
>>>
>>>=C2=A0 =C2=A0 =C2=A0in ~/.config/speech-dispatcher/|speechd.con= f
>>>
>>>=C2=A0 =C2=A0 =C2=A0This configures speech-dispatcher (interact= ively) with a number of
>>>=C2=A0 =C2=A0 =C2=A0variables, the default voice is espeak.
>>>
>>>=C2=A0 =C2=A0 =C2=A0I then edit speechd.conf, which allows for = many different
>>>=C2=A0 =C2=A0 =C2=A0voices.=C2=A0 I change:
>>>
>>>=C2=A0 =C2=A0 =C2=A0|#AddModule "espeak" "sd_esp= eak" "espeak.conf"||
>>>=C2=A0 =C2=A0 =C2=A0|
>>>=C2=A0 =C2=A0 =C2=A0|AddModule "festival" "sd_fe= stival" "festival.conf"|
>>>=C2=A0 =C2=A0 =C2=A0|
>>>=C2=A0 =C2=A0 =C2=A0|
>>>=C2=A0 =C2=A0 =C2=A0|and|
>>>=C2=A0 =C2=A0 =C2=A0||||
>>>
>>>=C2=A0 =C2=A0 =C2=A0|#DefaultModule espeak |
>>>
>>>=C2=A0 =C2=A0 =C2=A0|DefaultModule festival
The next step .... "|We=C2=A0 need to run |festival| as a server in or= der to
make
>>>=C2=A0 =C2=A0 =C2=A0|speech-dispatcher| use it as default. We c= an do that by adding
>>>=C2=A0 =C2=A0 =C2=A0the following line at the end of the file t= hat's open when we use the
>>>=C2=A0 =C2=A0 =C2=A0command: |sudo crontab -e
>>>
>>>=C2=A0 =C2=A0 =C2=A0|@reboot /usr/bin/festival --server
>>>
>>>=C2=A0 =C2=A0 =C2=A0|||I can't understand the last step.=C3= =83=E2=80=9A=C3=82=C2=A0 I've never used crontab
>>>=C2=A0 =C2=A0 =C2=A0fore, any
>>>=C2=A0 =C2=A0 =C2=A0help would be appreciated, Gustav.|
>>>=C2=A0 =C2=A0 =C2=A0||
>>>
>>>=C2=A0
>>>=C2=A0 =C2=A0 =C2=A0On 9/22/19 9:29 AM, Simion wrote:
>>>
>>>
>>>=C2=A0 =C2=A0 =C2=A0snip
>>>
>>>=C2=A0 =C2=A0 =C2=A0> As I said I suggest to get used of usi= ng faster and faster voices,
>>>=C2=A0 =C2=A0 =C2=A0> your family will understand and you wi= ll read same texts 2 times
>>>=C2=A0 =C2=A0 =C2=A0> faster so you gain time, at that speed= any voice will sound robotic,
>>>=C2=A0 =C2=A0 =C2=A0> this would not work if you want other = to listen with you (but
>>>=C2=A0 =C2=A0 =C2=A0you can
>>>=C2=A0 =C2=A0 =C2=A0> have a normal speed and a fast speed t= alker in jovie)
>>>=C2=A0 =C2=A0 =C2=A0>
>>>=C2=A0 =C2=A0 =C2=A0>
>>>=C2=A0 =C2=A0 =C2=A0> On 9/22/19 2:54 PM, Gustav Degreef wro= te:
>>>=C2=A0 =C2=A0 =C2=A0>>
>>>=C2=A0 =C2=A0 =C2=A0>> snip
>>>=C2=A0 =C2=A0 =C2=A0>>
>>>=C2=A0 =C2=A0 =C2=A0>>=C2=A0 From what you and others are= saying and from what I've
>>>=C2=A0 =C2=A0 =C2=A0read, I think I
>>>=C2=A0 =C2=A0 =C2=A0>> understand better.=C2=A0 Correct m= e if I am wrong, but don't
>>>=C2=A0 =C2=A0 =C2=A0you have
>>>=C2=A0 =C2=A0 =C2=A0>> to tell
>>>=C2=A0 =C2=A0 =C2=A0>> speech-dispatcher which voice (e-s= peak, festival, etc.) to
>>>=C2=A0 =C2=A0 =C2=A0use?=C2=A0 If I
>>>=C2=A0 =C2=A0 =C2=A0>> can figure out how to tell speech-= dispatcher which voice to use
>>>=C2=A0 =C2=A0 =C2=A0then
>>>=C2=A0 =C2=A0 =C2=A0>> Jovie (or Qtspeech) will then outp= ut my choice?=C2=A0 I have
>>>=C2=A0 =C2=A0 =C2=A0looked
>>>=C2=A0 =C2=A0 =C2=A0>> into it,
>>>=C2=A0 =C2=A0 =C2=A0>> and there are several (about 6 dif= ferent) voices I can use in
>>>=C2=A0 =C2=A0 =C2=A0Linux.
>>>=C2=A0 =C2=A0 =C2=A0>>
--000000000000b0f3c5059484b6fe--