Description: This widget is somehow a port from the one available for Dashboard in Mac OS X, when you enter a sentence in the text field and push the "say it!" button it "scrambles" the sentence in the fashion Yoda would speak it and "says" the sentence via KTTS, if the button "random" is pressed then the widget will come up with one of many Yoda's quotations.
The widget relies entirely in a proper installation of KTTS, the KDE text-to-speech system, therefore if you don't have it installed this widget is useless.
As selecting the voice in the KTTS' dcop interface depends on which ones you have installed, the sentence that the widget sends to it will have a prefix so you can setup a couple of filters for the widget works as intended.
1.- In the KTTS Manager create a talker chooser filter, in the "text contain" field you should write "yskw" (without the quotes), select the voice you want to use.
2.- Create a String replacer filter, in wich the type should be word, the match case checkbox should be on, the match should be the same that in the other one, i.e. yskw, leave the "replace with" field empty.
If you don't mind to use the default voice you have set up in KTTS you can omit the first filter, the reason for it is to give the user an option for use a specific voice for the widget, that way you can edit the volume, speed and pitch to imitate the voice of master Yoda without making KTTS sound funny if you use it for something else, the string replacer filter is mandatory, otherwise every sentence the widget says will have a weird "yskw" at the beginning.
I strongly based the word-reordering-algorithm on the one used for the dashboard widget (http://www.wuersch.net/yoda.html), so full credit goes to Markus Wuersch, creator of the original widget.Last changelog:
what do you have to do to make it not say that weird thing at the beginning of everything?
And how do you make it sound like yoda?
I'm new to ktts.
Thanks.
Open kttsmgr, then in the Filters tab do the following:
Create a String replacer filter, in wich the type should be word, the match case checkbox should be on, the match should be yskw, leave the "replace with" field empty.
Regarding the voice of Yoda, as obviously is not available for festival, mbrola or whatever engine KTTS use, you can edit the pitch of the voice to make it sound more close to Yoda's.
Ratings & Comments
7 Comments
what do you have to do to make it not say that weird thing at the beginning of everything? And how do you make it sound like yoda? I'm new to ktts. Thanks.
Open kttsmgr, then in the Filters tab do the following: Create a String replacer filter, in wich the type should be word, the match case checkbox should be on, the match should be yskw, leave the "replace with" field empty. Regarding the voice of Yoda, as obviously is not available for festival, mbrola or whatever engine KTTS use, you can edit the pitch of the voice to make it sound more close to Yoda's.
Thanks for your reply, but it doesn't help, it still says something like "astopic". This was by default (all I did was added a speaker)
can you successfully do in a terminal: $dcop kttsd KSpeech sayText "hello world" "en"
It says hello world without that thing in the beginning.
it should be the string replacer filter, it is simple, you should set it to replace yskw with nothing, check it out.
Nice port! :)