Friday, 31 August 2012

Dr Vesuvius emerges from his secret laboratory, cackling madly.

Jess, my new Flight Attendant, before she's done her make-up.
"I have made a woman"

(Well Doc, there's no need to brag. There was bound to be one or two out there with low enough standards....)

"No, you buffoons!  I talk not of base carnality, but of the supreme act of creation.  I have brought forth life from unlife, using the power of SCIENCE!!!! MWAHAHAHAHAHAHA"

(Something tells me the science used falls somewhere under the "mad" category.)

To rewind the story to the beginning, in previous posts I talked about testing and then buying the Multi Crew Experience add-on, which adds a voice-controlled co-pilot and voice activated ATC (which is what I bought it for mainly).  But it also includes a ground mechanic (which is actually quite useful, initiating pushback verbally and refuelling you, as well as putting chocks around your wheels so you don't need the parking brake) and a Flight Attendant.  The latter is, rather limited in what she can do using the default voice commands - you can tell the cabin crew to open and close doors (useful), prepare for departure, takeoff or landing (which have no effect on the sim whatsoever - they may possibly be placeholders that integrate with the features of another product called GEX, which provides simulated ground services including passenger embarkation and debarkation.

Anyway, one of the things that I've seen in several YouTube FSX videos is simmers using various means to recreate the ambience and procedures of an airliner cabin, including safety briefings, cabin announcements etc.  Some of these are simply playing recorded announcements through a sound-effects switch panel.  But since MCE already has some functions of the Flight Attendant covered, I thought it would be nice to expand on that, but keep the cabin announcements in the same voice rather than use an existing recording.

So since MCE supports SAPI5 text-to-speech voices in addition to the pre-recorded voices it comes bundled with, the first step was to buy a suitable voice for my new girl.  After looking at some of the options, I settled with "Jess, UK English" from www.cereproc.com.  The determining factor was the fact that she speaks with a northern English accent rather than the usual "Queen's English".  In fact, most of the Cereproc offerings have regional accents and their selling point is that they're "voices with character".

I surfed the web initially looking for samples of the traditional airline safety briefing.  You know the traditional "turn off all devices, there are the exits, here's how you use a lifebelt etc".  But I stumbled across a blog posting which listed sample scripts for several different circumstances on flight, including turbulence, arrival, gate departure and cruising.  Modified slightly, these let Jess cover the entire sequence of a flight.  But MCE has a limit on the number of characters it can include in a response, which is way too short for most typical airline announcements.  But the MCE creators at the Avsim MCE support forum pointed out to me that you can use MCE to create custom scripts that can, amongst other things, trigger .wav sound files.  So I downloaded a text-to-speech file reader to turn those scripts into audio files, then tweaked them to sound like they're through an airplane intercom system.

Finally it was just a matter of writing the MCE VoxScripts to trigger these events, along with a couple of others to reflect important Flight Attendant duties ("Any chance of a cuppa?" "What's the in-flight movie?")

The result, when we're starting Cold & Dark at a gate, I can ask Jess to open the doors to begin boarding.  I can then periodically check back with her until she tells me that boarding is completed.  Then I'll ask her to begin the Gate Departure process.  She'll chirpily agree, then leave the cockpit and go back to the cabin to read the standard "Welcome to the flight" speech, then once the doors are closed she'll come back and report we're ready for departure.  Other phases of the flight are covered, with a mix of speech generated on the fly within MCE and pre-recorded announcements, and it's all in a consistent voice.

I've done three or four flights with Jess now and she's working out beautifully.  This is all about immersion, and it's a really funny effect.  I mean, I've programmed Jess's responses and so intellectually I know she's just giving stock responses to things I'm saying.  But when she comes to the cockpit to report on status, or bring me a (virtual) cup of tea, I find myself automatically thanking her.  As time goes by I'll be able to add to her list of interactions as well, hopefully enhancing the effect further.

In order to share what I've done, I also went back and recreated the whole setup using the default Windows 7 "MS Anna" voice.  Anna is vastly inferior to Jess in terms of voice quality, but at least she'll be available to a majority of current MSFS users.  The result has been posted to the Avsim forum here in this thread, which lays the groundwork for what I eventually came up with.

I'm absolutely chuffed with the result of this little bit of "mad science."  Jess sounds great and her current scripts and speeches make a good basis for expansion.  It wouldn't be too much work for me to recreate the relevant recorded messages with flight-specific details such as flight number or destination, useful if I was flying a regular route with a virtual airline, or for a special "event" flight.  And it takes about two hours to create a whole new set of recordings with a different voice, starting from scratch and ending with them installed and running in MCE.  To be honest the limiting factor is the cost of the SAPI5 voices, which tend to be around £25-30 each.

Anyway, now back to flying the friendly virtual skies!

No comments:

Post a Comment