On 11/11/2009 03:49 PM, Stuart Buchanan wrote:

> 
> Could you put together some text I could add to The Manual please?

Here is a start, based on my still-very-limited understanding
of the situation:

0) The following two files should be distributed with FG:

cat atis.scm 
(SayText  "temperature one five dewpoint minus five altimeter two niner niner 
two" nil)
"atis.scm: done."
(quit)

cat atis-mbrola.scm 
(voice_en1_mbrola) 
(SayText  "temperature one five dewpoint minus five altimeter two niner niner 
two" nil)
"atis-mbrola.scm: done."
(quit)

The question arises, where to put these files:
 -- $FG_ROOT/Test/              (new directory)
 -- $FG_ROOT/Docs/
 -- $FG_ROOT/Docs/test/         (new directory)
 -- $FG_ROOT/Sounds/
 -- $FG_ROOT/Sounds/test/       (new directory)
 -- ...

Wherever.  I dont' care.  I'm sure somebody has an opinion.

==================================

1) Install festival.

2) Verify that festival is working:

  <atis.scm festival

You should hear the synthesized voice saying "temperature one five
dewpoint minus five altimeter two niner niner two".  You should
then see 

atis.scm: done.

on your command window.

3) See whether the mbrola subsystem is installed:

  mbrola -h

If not, install mbrola.

Test whether festival can use mbrola:

  <atis-mbrola.scm festival

You should hear a different synthesized voice saying "temperature one
five dewpoint minus five altimeter two niner niner two".  You should
then see

atis.scm: done.

on your command window.


4) In one window, start festival in server mode:

        festival --server

In another window, check that it is working:

<atis.scm  netcat localhost 1314

You should hear the voice, and the response to your command should be
something like:

LP
#<Utterance 0x7f63dd07e710>
ft_StUfF_keyOK
LP
"atis.scm: done."
ft_StUfF_keyOK
ER

You can also use the atis-mbrola.scm file for all such testing.

5) The procedure for getting FGFS and festival to work _together_ is
known to be installation-dependent.  If you feel lucky, try starting
FGFS while the festival server is running, and see if you hear
transmissions from the tower using the synthesized voice.  (Note we
are talking about messages from the tower, not ATIS, since ATIS
presently uses a different -- non-festival -- synthesis method.)
If this works, you can skip the rest of this section.

One key requirement is that both FGFS and festival must be able to do
audio output _at the same time_.  The venerable /dev/dsp audio device
does _not_ generally allow this.  Some ALSA devices are OK.

5a) Before going any farther, it pays to check whether some _third
party_ (neither FGFS nor festival) is using /dev/dsp. This is a
problem, because the solution we are looking for depends indirectly on
/dev/dsp.  The diagram we want to have is:

    FGFS --------------\
                        ALSA plug:dmix -----------> /dev/dsp
    festival ----------/

which has multiple connections to the ALSA plug:dmix but only one
direct connection to /dev/dsp.  Any third party that makes a
direct connection to /dev/dsp will cause failures.

You can check what's going on via:

 lsof | grep /dev/dsp && echo This is a problem. || echo OK, not using DSP.

5b) The following command may help detect whether festival is
connecting to /dev/dsp:

<atis.scm  festival &  sleep 1 ;  lsof \
 | grep /dev/dsp && echo This is a problem. || echo OK, not using DSP.

If it says something like
[6] 9271
festival   9271        me    8w      CHR               14,3      0t0  1215574 
/dev/dsp
This is a problem.

then you need to reconfigure festival to use some other audio device.
It may help to add the following lines to your ~/.festivalrc :

(Parameter.set 'Audio_Command 
 "echo $FILE ; aplay --device=plug:dmix --quiet --file-type=wav $FILE"
)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Required_Format 'riff)

Any time you change this file, or change /etc/fesival.scm
be sure to restart any festival servers.

Re-test to make sure these settings solve the problem.

Once you are sure this is working, consider moving the key settings
from your personal ~/.festivalrc to the system-wide /etc/festival.scm
file.

An alternative to fixing the festival configuration files is to use
the "aoss" wrapper, e.g.:

aoss festival --server

5c) Similarly we need to check whether FGFS is using /dev/dsp.

In one window, start FGFS.  Once it gets to the point where you
can hear sounds, go to another command window and:

 lsof | grep /dev/dsp && echo This is a problem. || echo OK, not using DSP.

If FGFS is using /dev/dsp, it may help to add the following lines to
your ~/.alsoftrc

format = AL_FORMAT_STEREO16
cf_level = 2
drivers = alsa
[alsa]  # ALSA backend stuff
device = plug:dmix
capture = plug:dsnoop

Re-test to make sure.

If that doesn't work, you may need to do something with your
~/.asoundrc file, but I don't know the correct incantation in that
case.

Also I don't know how, except by experimentation, how to ascertain whether
.alsoftrc or .asoundrc is the file of interest.  FGFS should make this
available, along with other version and configuration information, but
it doesn't.


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to