I have been having a look at the festival thing.
I do like this in my config file:
speech:0 (driver "festival" libdir "usr/local/Festival/festival/lib")
And the driver is loaded successfully.
And like this in my program:
SpeechProxy speechp (&robot, 0, 'a');
and after a read from the robot client:
if (speechp.Say (hello) == -1)
cerr << "festival error" << endl;
In the player i get this message when trying to start the proxy:
Festival speech synthesis server connection initializing
failed: Connection refused
And when doing the "Say", I get:
player warning : clientdata.cc:HandleRequests():
No permissions to command c:0
After going a little bit through festival manual, I come to these points:
- Do I have to start the festival as a server in the robot with
festival's server/client API before I can tell the player to use festival?
- Maybe the server is already running, but I don't have access to it? I
am running my code directly on the robot, in my linux account there,
which does not have all the persmissons.
- Should/Could I use the API libraries directly without the player ? It
looks far more complex, but maybe it works.
By the way, even in the festival command line, I can not make the robot
produce any sounds... so maybe it is a failure in my festival configuration?
Brian Gerkey wrote:
> On Thu, 14 Oct 2004, Reed Hedges wrote:
>> There are three ways to make sounds on Pioneer and family, if I
>> remember correctly (consult the robot's manual for definitive
>> 1. With the robot's piezo speaker ("squeaker"), which can produce a
>> certain range of beep tones for some duration. You send a "SAY"
>> command to the microcontroller to do this. Would anyone be
>> interested it having this function in Player?
> This shouldn't be too hard to add to the 'p2os' driver. It could
> support the
> 'audiodsp' interface, which allows the client to specify amplitude,
> frequency, and duration of a tone to play.
>> 2. With the robot's computer and speakers. Peoplebots have these
>> standard, for Pioneer robots it's an option. This is part of the
>> onboard computer (PC) system. Aria has a few features for playing
>> WAV files, and synthesizing speech if you have e.g. Festival
>> installed ("ArSpeech").
> Player also has support for Festival, via the 'festival' driver, which
> supports the 'speech' interface:
> Note that you first need to install Festival.
> If your robot has a fast computer (speech synthesis is expensive)
> and speakers, I highly recommend that you try this. Having the robot
> speak to you is a great form of feedback, it helps with debugging, and
> is easier on the eyes than staring at lines of text flying by in a
>> 3. On the AmigoBot only, you can store some number of saved sounds
>> and play them on command. You send a "PLAY" command to the
>> microcontroller to do this. On non-AmigoBot robots this command does
>> nothing. This command is not even in the Pioneer 3 manual, it seems
>> (Though "PLAYLIST" is, oops.)
>> Player's "sound" device is for #3.
> Right. I suppose if there were interest in playing pre-recorded sounds,
> someone could write a general-purpose (that is, not-AmigoBot specific)
> driver that supports the 'sound' interface by sending .wav (or .au or
> .aiff or whatever) files to /dev/dsp. The user would specify the list
> of files to be played in the .cfg file.