Difference between revisions of "Development:Audio"

From VsWiki
Jump to: navigation, search
(In-Flight Non-Musical Audio)
m ([vega-bot] [replace] 5 instances of 'http://vegastrike.sourceforge.net/forums' for 'http://forums.vega-strike.org')
 
(41 intermediate revisions by 6 users not shown)
Line 6: Line 6:
 
* voices for intership radio transmissions, and perhaps campaign fixers
 
* voices for intership radio transmissions, and perhaps campaign fixers
 
* other sounds
 
* other sounds
 +
 +
For information on the broadcast project, in which we hope to emulate radio-station-like entertainment in addition to music, see [[In-Flight_Non-Musical_Audio]]
  
 
=Sound Requirements=
 
=Sound Requirements=
  
 
The following quality settings apply:
 
The following quality settings apply:
* 44kHz sample rate (the best that most microphones under $200 can produce)
+
* 22kHz sample rate
* Mono for voices and sound effects (stereo is acceptable)
+
* Mono for voices and for sound effects that have no associated location
* Stereo for music
+
* Stereo for music, composite (music plus other sounds) and for sound effects that have a location relative to the listener
* Vorbis OGG format (which puts everything in stereo) for the final production version
+
* Vorbis OGG format for the final production version
  
 
=Music Requirements=
 
=Music Requirements=
  
FIXME
+
{{fixme}}
  
 
= Music Engine =
 
= Music Engine =
Line 39: Line 41:
  
 
(information provided by klauss)
 
(information provided by klauss)
 +
 +
== Inserting Your Own Music ==
 +
Vega Strike allows you to use your own music files as background music within the game.
 +
 +
=== Useable File formats ===
 +
'''.MP3'''
 +
 +
'''.OGG'''
 +
 +
=== Playlist Files ===
 +
These lists contain all of the playlist files.
 +
 +
==== Planets/Stations ====
 +
* agricultural.m3u
 +
* asteroids.m3u
 +
* carribean.m3u
 +
* commerce_center.m3u
 +
* factory.m3u
 +
* ice.m3u
 +
* industrial.m3u
 +
* military.m3u
 +
* ocean.m3u
 +
* starfortress.m3u
 +
 +
==== Situations ====
 +
* aera.m3u
 +
* aerabattle.m3u
 +
* battle.m3u
 +
* galacticbattle.m3u
 +
* iso.m3u
 +
* isobattle.m3u
 +
* launch.m3u
 +
* loss.m3u
 +
* panic.m3u
 +
* peace.m3u
 +
* terran.m3u
 +
* terranbattle.m3u
 +
* unit.m3u
 +
* unit_pirate.m3u
 +
* university.m3u
 +
* victory.m3u
 +
 +
==== Menus ====
 +
* news.m3u
 +
 +
=== Playlist Format ===
 +
The Playlist format is simple.  Each playlist filename is in the format ''name''.m3u.  Within each Playlist are lines noting the location of all music files for that playlist:
 +
 +
<path to music file>
 +
<path to music file>
 +
<path to music file>
 +
 +
Example: peace.m3u:
 +
 +
../music/peace1.ogg
 +
../music/peace2.ogg
 +
../music/peace4.ogg
 +
../music/peace5.ogg
 +
../music/peace6.ogg
 +
../music/peace5_p.ogg
 +
../music/peace6_p.ogg
  
 
== Music Engine Future Plans ==
 
== Music Engine Future Plans ==
Line 46: Line 109:
  
 
= Voice Acting =
 
= Voice Acting =
Voice acting provides in-game voices for ship-to-ship radio transmissions, and perhaps some day for campaign fixer conversations.  Ongoing projects are discussed here http://vegastrike.sourceforge.net/forums/viewforum.php?f=29
+
Voice acting provides in-game voices for ship-to-ship radio transmissions, and perhaps some day for campaign fixer conversations.  Ongoing projects are discussed here http://forums.vega-strike.org/viewforum.php?f=29
  
 
Current voice acting projects are as follows:
 
Current voice acting projects are as follows:
Line 52: Line 115:
 
* Oswald "flight tutorial" mission:  '''DONE''' by [[User:Turbo|Turbo]] for [[User:Pyramid|Pyramid]] Dec 08
 
* Oswald "flight tutorial" mission:  '''DONE''' by [[User:Turbo|Turbo]] for [[User:Pyramid|Pyramid]] Dec 08
 
* Ship-to-ship communication:  '''ONGOING''' see below for the faction list.
 
* Ship-to-ship communication:  '''ONGOING''' see below for the faction list.
 +
* In-flight entertainment (news, etc) '''ONGOING''' see [[In-Flight_Non-Musical_Audio]]
  
 
Voice acting is easy to learn and fun to do.  For instructions on voice acting, see [[User:Turbo|Turbo]]'s [http://www.willadsenfamily.org/us/don/ttlg/voice/va_tutorial.htm tutorial].
 
Voice acting is easy to learn and fun to do.  For instructions on voice acting, see [[User:Turbo|Turbo]]'s [http://www.willadsenfamily.org/us/don/ttlg/voice/va_tutorial.htm tutorial].
Line 63: Line 127:
 
This type of voice acting provides audio to go with the faction-specific ship to ship communications that lend fun and atmosphere to the game.   
 
This type of voice acting provides audio to go with the faction-specific ship to ship communications that lend fun and atmosphere to the game.   
  
Broadcasts are keyed to events in the game, so each line must be in a separate file.  To aid integration, the file names must follow this format:
+
Broadcasts are keyed to events in the game, so each line must be in a separate file.  To aid integration, the file names should clearly indicate which line it is, using the following format:
  
<FACTION>_<OPENING-TEXT-OF-LINE>.OGG
+
<FACTION>_<FIRST-FEW-WORDS-OF-TEXT>.OGG
  
 
Examples:
 
Examples:
   aera_lesser-being.ogg for the Aera broadcast, "The lesser being is always vanquished."
+
   aera_lesser-being.ogg for the Aera broadcast, "The lesser being is always vanquished." In this example, "the" was omitted from the file name.
 
   rlaan_boring-boring.ogg for the Rlaan broacast, "Boring, boring, tiny one!  You bring us no tupperware."
 
   rlaan_boring-boring.ogg for the Rlaan broacast, "Boring, boring, tiny one!  You bring us no tupperware."
  
A ship-to-ship factional communication voice acting package should include the following:
+
If you only have time to make the recordings, we appreciate your help.  But if you have time to help integrate them into the game, that is even better.  A complete ship-to-ship faction communication voice acting package should include the OGG files plus the following:
  
 
* Documentation: a text file that names the voice artist, lists the lines spoken, and provides any technical details about how the voice was created, edited, etc, to aid future updates.
 
* Documentation: a text file that names the voice artist, lists the lines spoken, and provides any technical details about how the voice was created, edited, etc, to aid future updates.
* All the faction's speech, one voice line per OGG file, from VS/data/communications/<FACTION>.xml  
+
* All the faction's speech, one voice line per OGG file, listed in VS/data/communications/<FACTION>.xml  
* The "bounty text" line from VS/data/modules/missions/bounty_leader.py, which reads: ''It appears we have something in common, privateer.  My name may be on your list, but now your name is on mine.'' This voice line's file name must be '''<faction_name>_it-appears-we-have.ogg''' in order for the code to call it dynamically.
+
* '''The "bounty text" line''' from VS/data/modules/missions/bounty_leader.py, which reads: ''It appears we have something in common, privateer.  My name may be on your list, but now your name is on mine.'' This voice line's file name must be '''<faction_name>_it-appears-we-have.ogg''' in order for the code to call it dynamically. '''Please do not forget to record this line; it is not listed in the <faction>.xml file.'''
 
* The updated <faction>.XML file that tells the game to play the sounds, by adding the SOUND FILE tag after each node's text comment and before the EDGE INDEX tag.  If the node contains two sets of text, just add two SOUND FILE tags one after the other.  Here is an example of the SOUND FILE tag and where it goes:
 
* The updated <faction>.XML file that tells the game to play the sounds, by adding the SOUND FILE tag after each node's text comment and before the EDGE INDEX tag.  If the node contains two sets of text, just add two SOUND FILE tags one after the other.  Here is an example of the SOUND FILE tag and where it goes:
 
  <node text="Make room for your betters, friends. Room for your betters." relationship=".03125">
 
  <node text="Make room for your betters, friends. Room for your betters." relationship=".03125">
Line 82: Line 146:
 
  <edge index="4"/>
 
  <edge index="4"/>
 
  <edge index="5"/>''
 
  <edge index="5"/>''
Note: Currently the game code that assigns gender to ships does not function, but when it does and
+
 
we get enough voice acting for both genders in all factions, female voices will use the tag '''SEX="1"'''
+
Note: Currently the game code that assigns gender to ships does not function, but when it does and we get enough voice acting for both genders in all factions, female voices will use the tag '''SEX="1"'''
  
 
* If the faction is an alien language, the following additional guidelines apply:
 
* If the faction is an alien language, the following additional guidelines apply:
** the translator's voice should sound flat in dynamics and pitch, while remaining clear and understandable; more on that in the next section
+
** the translator's voice should sound like a computer (flat in dynamics and pitch) while remaining clear and understandable; more on the work done up to now in the next section
** The alien voice should speak for 1 second before the translator starts
+
** The alien voice should speak for 1 second before the translator starts.  This helps the player hear the alien voice before the translator kicks in, and the delay represents the translator's need to build context before commencing translation.
** When the translator is speaking, the alien voice should be muted by -7 Db to make the translator easier to understand
+
** When the translator is speaking, the alien voice should be muted by -7 dB to make the translator easier to understand; exact amount to mute depends somewhat on how "noisy" the alien voice is, so try higher values if -7 dB is enough.
** Also provide one or more alien "fixer" lines, without the translator overlay, that we can use for randomly generated fixer conversations in bars
+
** Also provide a few alien "fixer" lines, i.e. alien jabber without the translator overlay, that we can use for randomly generated fixer conversations in bars or splice into future campaign fixers if we need them
** Ideally there should be 2 versions of the package, one with the translator overlay for the English version of the game, and one without the translator so that voice actors can eventually create versions of the game in other languages.  For alien voices that were created via some mathematical or logical algorithm, include information in the documentation about how it was done.
+
** Ideally there should be 2 versions of the package, one with the translator overlay for the English version of the game, and one without the translator so that voice actors can eventually create versions of the game in other languages.  For alien voices that were created via some mathematical or logical algorithm, include information in the documentation about how the alien voice was made, in case we need more of it later.
* For communication lines which end in "[garbled]", indicating that the ship was destroyed while the pilot was broadcasting, use a 1/2 second burst of white noise, at 70% volume, at the end of the spoken line.
+
* For communication lines which end in "[garbled]", indicating that the transmission was interrupted while the pilot was broadcasting, use a 1/2 second burst of white noise, at 70% volume, at the end of the spoken line. One of the militia lines talks about sending data to player, so we did something similar -- a modem "negotiate connection" sound, at double normal speed.
 +
 
 +
File locations are as follows, so you can test your sounds and hear them in-game before submitting:
 +
* the <faction>.XML file goes in /data/communications/  (it is already there, you are just updating it with the sound files)
 +
* the <faction>_it-appears-we-have.ogg file goes in /data/sounds/missions/
 +
* the remainder of the faction ogg files go in /data/communications/<faction name>/
  
 
=== Faction Voice List ===
 
=== Faction Voice List ===
Line 100: Line 169:
 
* [[Faction:Andolian|Andolian]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Dec 08
 
* [[Faction:Andolian|Andolian]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Dec 08
 
* [[Faction:Andolian|Andolian Citizen]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Jan 09
 
* [[Faction:Andolian|Andolian Citizen]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Jan 09
* [[Faction:Confederation_of_Inhabited_Worlds|Confed]]  
+
* [[Faction:Confederation_of_Inhabited_Worlds|Confed]] '''DONE''' by [[User:maxaxle|maxaxle]] Oct 2012
 
* [[Faction:Dgn|Dgn]]  
 
* [[Faction:Dgn|Dgn]]  
* [[Faction:Forsaken|Forsaken]]  
+
* [[Faction:Forsaken|Forsaken]] '''IN PROGRESS''' by [[User:maxaxle|maxaxle]] Nov 2012
 
* [[Faction:Highborn|Highborn]] DRAFT by [[user:Turbo|Turbo]] is in SVN but [[User:rivalin|rivalin]] has offered to redo this faction's voice  
 
* [[Faction:Highborn|Highborn]] DRAFT by [[user:Turbo|Turbo]] is in SVN but [[User:rivalin|rivalin]] has offered to redo this faction's voice  
 
* [[Faction:Homeland_Security|Homeland Security]] '''DONE''' by [[User:Turbo|Turbo]] Jan 09
 
* [[Faction:Homeland_Security|Homeland Security]] '''DONE''' by [[User:Turbo|Turbo]] Jan 09
 
* [[Faction:Hunter|Hunter]] '''DONE''' by [[User:Turbo|Turbo]] Feb 09
 
* [[Faction:Hunter|Hunter]] '''DONE''' by [[User:Turbo|Turbo]] Feb 09
* [[Faction:Interstellar_Socialist_Organization|ISO]] in progress by [[User:MC707|MC707]]
+
* [[Faction:Interstellar Church of True Form's Return|Interstellar Church of True Form's Return]] aka Luddites
* [[Faction:Klk%27k|Klk'k]]  
+
* [[Faction:Interstellar_Socialist_Organization|ISO]] '''DONE''' except for one line, by [[User:Shadow Oblivion|Shadow Oblivion]]
 +
* [[Faction:Klk%27k|Klk'k]] in discussion here: http://forums.vega-strike.org/viewtopic.php?f=29&t=15206
 
* [[Faction:League_of_Independent_Human_Worlds|LIHW]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Dec 08
 
* [[Faction:League_of_Independent_Human_Worlds|LIHW]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Dec 08
 
* [[Faction:Mechanist|Mechanist]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Jan 09
 
* [[Faction:Mechanist|Mechanist]] '''DONE''' by [[User:CLoneWolf|CLoneWolf]] Jan 09
Line 114: Line 184:
 
* [[Faction:Interstellar_Shipping_and_Mercantile_Guild|Merchant Guild Citizen]] '''DONE''' by Lisa Willadsen Jan 09
 
* [[Faction:Interstellar_Shipping_and_Mercantile_Guild|Merchant Guild Citizen]] '''DONE''' by Lisa Willadsen Jan 09
 
* Militia '''DONE''' by Lisa Willadsen Feb 09
 
* Militia '''DONE''' by Lisa Willadsen Feb 09
* Neutral
+
* Neutral:  This faction has a full range of lines, though the items said tend to be short.  We are not sure what ships or bases would use these lines.
 
* [[Faction:Pirates|Pirates]] are under discussion, but no one has offered to record them yet
 
* [[Faction:Pirates|Pirates]] are under discussion, but no one has offered to record them yet
* Privateer is the player's faction, we are not sure if this needs voices (wingmen perhaps?)
+
* Privateer is the player's faction; wingmen you hire can be from different factions so they use their "native" voice
* [[Faction:Purist|Purist]]
+
* [[Faction:Purist|Purist]]  
 
* [[Faction:Rlaan|Rlaan]] '''DONE''' by [[User:Turbo|Turbo]] Jan 09
 
* [[Faction:Rlaan|Rlaan]] '''DONE''' by [[User:Turbo|Turbo]] Jan 09
* [[Faction:Shaper|Shaper]] '''DONE''' by [[User:Fendorin|Fendorin]] Feb 09, with postproduction and XML editing by cLoneWolf
+
* [[Faction:Shaper|Shaper]] '''DONE''' except for one line, by [[User:Fendorin|Fendorin]] Feb 09, with postproduction and XML editing by CLoneWolf
 
* [[Faction:Shaper|Shaper Citizen]] (currently the same lines as the Shaper military)
 
* [[Faction:Shaper|Shaper Citizen]] (currently the same lines as the Shaper military)
 
* [[Faction:Shmrn|Shmrm]]
 
* [[Faction:Shmrn|Shmrm]]
 
* [[Faction:Uln|Uln]]
 
* [[Faction:Uln|Uln]]
 
* [[Faction:Uln|Uln Citizen]]
 
* [[Faction:Uln|Uln Citizen]]
* [[Faction:Unadorned|Unadorned]] '''DONE''' by [[User:Turbo|Turbo]] Jan 09
+
* [[Faction:Unadorned|Unadorned]] '''DONE''' by [[User:Turbo|Turbo]] Jan 09.  Currently, the unadorned citizen uses exactly the same lines, so we use the voice set for both.
  
 
== Creating the Voice for the Ship's Translator ==
 
== Creating the Voice for the Ship's Translator ==
  
For aliens which speak a non-human language, the ship's translator will provice a "voice-over" of the alien speech.  To make the alien speech easier to hear for gameplay immersion, and to account for differences in grammar, the translator voice-over begins one second after the alien voice broadcast.
+
For aliens which speak a non-human language, the ship's translator will provide a "voice-over" of the alien speech.  To make the alien speech easier to hear for gameplay immersion, and to account for differences in grammar, the translator voice-over begins one second after the alien voice broadcast.
  
Some translator lines are the same for all the alien races.  [[User:Turbo|Turbo]] already created those and posted them in the Aera thread http://vegastrike.sourceforge.net/forums/viewtopic.php?f=29&t=13311.  What remains to be decided is whether all the translator voices should sound the same.
+
Some translator lines are the same for all the alien races.  [[User:Turbo|Turbo]] already created those and posted them in the Aera thread http://forums.vega-strike.org/viewtopic.php?f=29&t=13311.  What remains to be decided is whether all the translator voices should sound the same.
  
 
This took some experimentation to get a good result.  Our first attempt used MicroSoft Narrator's "Michael."  MS Narrator's voice meets the criteria for a cold soulless machine voice, but he was too hard to understand.  We also tried applying a "vocoder" to a human voice, but it was also difficult to understand.  What we settled on, to represent 1200 years of voice-generation and translation technology, was the following:
 
This took some experimentation to get a good result.  Our first attempt used MicroSoft Narrator's "Michael."  MS Narrator's voice meets the criteria for a cold soulless machine voice, but he was too hard to understand.  We also tried applying a "vocoder" to a human voice, but it was also difficult to understand.  What we settled on, to represent 1200 years of voice-generation and translation technology, was the following:
Line 148: Line 218:
  
 
== Creating Alien Voices ==
 
== Creating Alien Voices ==
A subset of voice acting is the creation of alien voices.  The short tutorial below describes how [[User:Turbo|Turbo]] created the voices for the Aera ship-to-ship communication.
+
A subset of voice acting is the creation of alien voices.  The short tutorial below describes how [[User:Turbo|Turbo]] created the voices for the Aera and Rlaan ship-to-ship communication.
  
This is the process I used to create alien-sounding speech without actually developing a language. If someone wants to do this for another race, please do, and start a new thread in http://vegastrike.sourceforge.net/forums/viewforum.php to get feedback on your work.   
+
This is the process I used to create alien-sounding speech without actually developing a language. If someone wants to do this for another race, please do, and start a new thread in http://forums.vega-strike.org/viewforum.php to get feedback on your work.   
  
 
To begin, you should look at my voice acting tutorial to get some basics about sound editing tools and how to use them:
 
To begin, you should look at my voice acting tutorial to get some basics about sound editing tools and how to use them:
 
http://www.willadsenfamily.org/us/don/ttlg/voice/va_tutorial.htm tutorial
 
http://www.willadsenfamily.org/us/don/ttlg/voice/va_tutorial.htm tutorial
  
The aera speech is based on humpback whale songs I found on the Internet. I used whales because they came to mind when I read that aera have vocal resonators ([[Artstyle_guide:Aeran]]) in their heads, instead of vocal cords in their throats.  I plan to use insect sounds for the Rlaan.  Other alien races' speech could be created with similar techniques, using different animal sounds or your own voice as the basis for each species.  I modified the raw whale sounds by removing noise and clicks, then adjusting the tempo to 350% and the pitch down an octave.  Audacity makes this easy.  For example a tempo change in Audacity will not change the pitch, so you avoid the "Alvin and the Chipmunks" effecct. Then I saved the individual bits of modified whale sound into different files so I had a variety of tones, growls, and grunts from which to choose.  
+
The aera speech is based on humpback whale songs I found on the Internet. I used whales because they came to mind when I read that aera have vocal resonators ([[Artstyle_guide:Aeran]]) in their heads, instead of vocal cords in their throats.  I plan to use insect sounds for the Rlaan.  Other alien races' speech could be created with similar techniques, using different animal sounds or your own voice as the basis for each species.  I modified the raw whale sounds by removing noise and clicks, then adjusting the tempo to 350% and the pitch down an octave.  Audacity makes this easy.  For example a tempo change in Audacity will not change the pitch, so you avoid the "Alvin and the Chipmunks" effect. Then I saved the individual bits of modified whale sound into different files so I had a variety of tones, growls, and grunts from which to choose.  
  
 
The Rlaan voice was a combination of 3 different insect noises, reduced in pitch by different amounts, and DTMF tones (using the first 8-12 letters of the translated line) adjusted in pitch by -87%.  These 4 tracks were split among the left and right stereo channels to simulate Rlaan having 4 mouths spaced several feet apart.
 
The Rlaan voice was a combination of 3 different insect noises, reduced in pitch by different amounts, and DTMF tones (using the first 8-12 letters of the translated line) adjusted in pitch by -87%.  These 4 tracks were split among the left and right stereo channels to simulate Rlaan having 4 mouths spaced several feet apart.
Line 164: Line 234:
  
 
== Voice Acting Uploads ==
 
== Voice Acting Uploads ==
Once you have created a voice set, compress it into a ZIP file and upload it to the web, then post a link in the [http://vegastrike.sourceforge.net/forums/viewforum.php?f=29| Music and Sound forum] to get everyone's comments.  If you do not have web space of your own, we have an FTP site that you can use.  The public URL for downloads is http://www.willadsenfamily.org/VSvoice but to get upload access, go to the VS forums and send a PM to [[User:Turbo|Turbo]].
+
Once you have created a voice set, compress it into a ZIP file and upload it to the web, then post a link in the [http://forums.vega-strike.org/viewforum.php?f=29| Music and Sound forum] to get everyone's comments.  If you do not have web space of your own, we have an FTP site that you can use.  The public URL for downloads is http://www.willadsenfamily.org/VSvoice but to get upload access, go to the VS forums and send a PM to [[User:Turbo|Turbo]] or [[User:Loki1950|Loki]].
 
 
= In-Flight Non-Musical Audio =
 
A new item being discussed here
 
http://vegastrike.sourceforge.net/forums/viewtopic.php?f=29&t=14815
 
is non-music in-flight audio.  The ideas being kicked around involve making voice recordings of non-music items, to play during flight (perhaps between songs) like the pilot was listening to the radio.  The key to such content would be to have it explain, amplify, or describe some aspect of the VS universe.  The storm of ideas has still not settled but, while we talk through our ideas and work on details, we decided to collect the items here for later editing and recording. 
 
 
 
what's needed for the radio project:
 
* writers (commercials, DJ talk, calls, song lyrics)
 
* music composers (songs, jingles) not necessarily owning all that's needed to make the final ogg. In that case...
 
* ...music makers to make the unequipped composers' works come to life
 
* voice actors (everything! :D )
 
* post producers
 
 
 
Some possible types of programming mentioned include:
 
 
 
*commercial: 
 
**A inter gelatic ISP that support RFC 1149, RFC 1313, RFC 1437, RFC 2322, RFC 2549, RFC 2795, RFC 3251, RFC 3514, RFC 4042, RFC 4824.
 
**open space map(a parody on openstreetmap.org)
 
**Reprap (a 3d printer)
 
**Blender 3D
 
**Hi, I'm BJ loki, tight end for the Cephid Mammas and proud proprietor of BJ's Used Ships. Ships from all over the milky way come to find a new home in Cephid 17, just like you. I moved here after I left the Forsaken, to join the pirate…brr I mean the Confed. Even though they do have a lot in common, I noticed there was one thing missing from this great system: a celebrity endorsed used ship shop. That's why I founded BJ's Used Ships. Every one of these beauties is freshly painted, they look brand new. We have new models coming in every morning, usually around 2 AM. We can get you anything! And if you see a ship of your dreams, tell us, we can acquire it for ya! I've taken the skills I've learned as a pro interstellar football player to the used ship business: snatch, grab, and run like hell. BJ's Used Ships. I'm takin low prices, with hot ships!
 
*Pimp my spaceship (A holo tv show that pimp a space ship like in the "pimp my ride" but in stet the show pimp up a car the show pimp up a space ship.)
 
*Space busters (a Mythbusters like show that test myths like "can a human do a space walk with out a space shut" or "can your survive a Aera spasm")
 
*Pop Culture references:
 
*injokes:
 
**SPAM
 
**stunk-cow (a hybrid of a stunk and a cow that use for milk and very hi qalty leader. and come from a chat log Pimp my space ship)
 
*propaganda: agents iso, pirates, Aera and Rlaan
 
* Luddites and ISO breaking into the normal channels with some propaganda, followed by "we apologize for this interruption in broadcasting, we now return you to our regular program"
 
*radio talk show or call-in show
 
**How about a call from an ISO supporter, advocating the cause, the DJ makes "casual" questions with the goal to locate him as he speaks, keyboard noises (DJ notifying security) then at some point we hear intruders, the ISO man going like wtf, brawl sounds, "help! help! I'm being oppressed!" more noise, end of call
 
** talk radio ("'''This is Burch Lumber, of the EIB Network (that's 'Excellence in Interstellar Broadcasting'). We have Turbo from the Crucible Sector on the line; Turbo, what's on your mind?''' ''Well Burch, these Uln defy all logic. No matter what I do they attack me...are they insane, or just stupid?'' '''Well Turbo, I think it's a bit of both...'''") We have plenty of material for the talk radio bits right here in the forums.
 
* emergency broadcasts keyed to scripted events ("WARNING: <faction> ships have been sighted in this system, use extreme caution")
 
* generic news broadcasts on the war efforts (not tied to any specific locations)
 
* public service announcements
 
 
 
Here we list each news item, with comments to explain it.  We expect that we would have the "news" music playing in the background for the news items.
 
 
 
* A labor dispute at the Jacobs docks in Bernard's Star erupted in violence yesterday, leading authorities to discover a large smuggling operation. The local dockworkers saw a Mule cargo ship unloading without the use of union labor, and when they confronted the ship's crew were fired upon by the ship's private guards. The union members returned fire and called homeland security forces, who arrived to restore order. The subsequent investigation discovered the Mule to be carrying over 100 tons of nerve stimulators, black market organs, and other medical contraband, and homeland security impounded the ship and imprisoned its crew. The dockworkers were determined to have acted in self-defense and were released at the scene. Local union leader Joey Piccolo had this to say, "Ya don't mess wit da union."
 
** This concept, while borrowed from a 1996 movie, is a fun story. I made it fit the VS campaign by placing the smuggling activity at the same planet to which a certain merchant, pawn of sinister forces, asks the player to make a delivery.
 
 
 
* The secretary of education for Mummu in the Regallis system, Ann Bates, was arrested today on suspicion of spying for an unknown alien government. Authorities started watching her after a coworker reported her frequent trips to outlying systems, strangely worded netcasts in educational forums, and a change in her financial habits. When further investigation revealed that she had gained access to information above her clearance level, the local counterintelligence branch put Bates under surveillance and observed her leaving a data chip containing some of the information at a suspected drop site on one of her trips. Bates' attorney has stated that the evidence against her is circumstantial, and that she is the victim of a witch hunt fueled by a war-worried public. Her netcast postings, if they are coded messages, remain thus far unbroken.
 
** Historically, Ann Bates was a school teacher who spied for the British in the American Revolution. At the time, women were not considered intelligent enough to understand military matters, so she was able to gather extensive data on American troop strength, equipment, and movements in her disguise as a peddler. The methods mentioned in this news story are all real "spy" techniques.
 
 
 
* Famed hunter Gregor Griez was killed in action today, after a bounty on a wing of Nicanders turned out to be a vicious trap laid by the Aeran Merchant Marine. Apparently, Griez had amassed enough kills to gain the attention of the Aeran guild, who set up the bounty to lure his Vendetta fighter into the Heaven's Gate system, where a fleet of dozens of Aerus waited in ambush in a nearby asteroid belt. The Hunter's Guild Memorial Fund then posted an unprecedented 1-million-credit bounty on the Aeran fleet, to be split among guild members according to kill count. A large force of Hunters Guild members responded, destroyed the Aeran fleet, and retreated to friendly space. The Rlaan Hunters' guild has protested, saying that keeping a bounty internal to one's own guild is unprofessional and disrespectful to the principles of hunters everywhere.
 
** I can't guarantee that any particular iteration of VS will make Heaven's Gate a system in or near Aera space, but it sounds good as the site for a Hunter's last battle. If anyone who understands how VS sectors and systems are generated can suggest a better system, please do.
 
  
* Graduation ceremonies at EUGENIC, the Enigma University of Genetics In Creiddylad, were marked by increased security today after University officials received a bomb threat from suspected to have come from the Interstallar Church of Man's True Form. After receiving the threat, University Chancellor Ramon Lafayette announced plans to continue with the ceremonies, saying, "Zeese terrorists, zey take ze concept of 'art critic' entirely too far, and we will not be held hostage by zer criminal threats." Authorities conduced extensive sweeps of the campus, but have declined to comment whether any explosives, Luddite or otherwise, were discovered. Aside from the heightened security, the graduation ceremonies concluded without incident.
+
Once files have been tested, [[User:Turbo|Turbo]] can commit them to SVN.
** Don't think it was easy to find a system/sector/planet whose names allowed me to use EUGENIC as an acronym (which was how my idea for this story started) for the name for a university of genetics. Creiddylad [I think it sounds like "Crie-thi-lad" but will check with some friends who know a little Gaelic] is not specificall a university planet, it just has a university there in this news story. Even if the system in question does not end up being in Shaper space, the chancellor could still be a Shaper with appropriate (French) accent.
 

Latest revision as of 22:27, 8 January 2013

Introduction

Thes guidelines standardize the sound and music in order to achieve equal quality for different contributions throughout the game. This standards are applicable for:

  • music
  • voices for intership radio transmissions, and perhaps campaign fixers
  • other sounds

For information on the broadcast project, in which we hope to emulate radio-station-like entertainment in addition to music, see In-Flight_Non-Musical_Audio

Sound Requirements

The following quality settings apply:

  • 22kHz sample rate
  • Mono for voices and for sound effects that have no associated location
  • Stereo for music, composite (music plus other sounds) and for sound effects that have a location relative to the listener
  • Vorbis OGG format for the final production version

Music Requirements

FIXME

Music Engine

The soundserver (integrated in VS) handles playing songs, while the Vega Strike engine handles sequencing them using the defined playlists (which are selected according to the situation by dj_lib.py).

The soundserver uses SDL to play them, which supports .mp3, .ogg, .wav, I don't think it supports flac (perhaps on Windows), and it does support .mid (but I have the feeling it will get dropped, at least temporarily, during the soundsystem rewrite, as supporting midi with only OpenAL is simply impossible - we'll get something later, though, don't despair).

.m3u lists are just like winamp lists, which are a bunch of files, each on its own line (relative paths are computed against where soundserver.exe is, which is usually inside the bin folder - and usually you want to always say ../music/something ), and you can add comments (on their own line, I don't think it works on the same line) by starting the line with '#'.

Playlists are stored in the user-data folder (usually under ~/.vegastrike), inside their own folder hierarchy (~/.vegasrtike/playlists). Inside playlists, you may find additional grouping, by situation:

  • battle
  • peace
  • threat

Inside each, you'll find a playlist for each faction. Usually, the faction is selected according to the system owner at the time battle/threat/peace happens, though inside peace you'll have also around_sig and away, which get selected according to whether you are near a significant unit (base or planet - dockable) or not. That all gets configured in dj_lib.py, so if you add playlists, you have to add them to dj_lib.py as well - I doubt anyone will have to add playlists, though.

Inside playlists, you can (currently - until the extension commands get added) bias the frequency of some tracks by simply repeating them on the playlist. The engine will avoid playing the same track over and over, having a record of recently played tracks.

(information provided by klauss)

Inserting Your Own Music

Vega Strike allows you to use your own music files as background music within the game.

Useable File formats

.MP3

.OGG

Playlist Files

These lists contain all of the playlist files.

Planets/Stations

  • agricultural.m3u
  • asteroids.m3u
  • carribean.m3u
  • commerce_center.m3u
  • factory.m3u
  • ice.m3u
  • industrial.m3u
  • military.m3u
  • ocean.m3u
  • starfortress.m3u

Situations

  • aera.m3u
  • aerabattle.m3u
  • battle.m3u
  • galacticbattle.m3u
  • iso.m3u
  • isobattle.m3u
  • launch.m3u
  • loss.m3u
  • panic.m3u
  • peace.m3u
  • terran.m3u
  • terranbattle.m3u
  • unit.m3u
  • unit_pirate.m3u
  • university.m3u
  • victory.m3u

Menus

  • news.m3u

Playlist Format

The Playlist format is simple. Each playlist filename is in the format name.m3u. Within each Playlist are lines noting the location of all music files for that playlist:

<path to music file>
<path to music file>
<path to music file>

Example: peace.m3u:

../music/peace1.ogg
../music/peace2.ogg
../music/peace4.ogg
../music/peace5.ogg
../music/peace6.ogg
../music/peace5_p.ogg
../music/peace6_p.ogg

Music Engine Future Plans

Eventually, we'll add sequencing commands to playlists, disguised as special comments (probably '#!<command>') - that will allow us to specify a bayesian network for the tracks, with (potentially) custom transition - that means, each track can have a certain subset of tracks follow it, with a certain assigned probability. That's not that far in the future, it needs not wait for the rewrite, as it's doable as an enhancement to the current engine.

(information provided by klauss)

Voice Acting

Voice acting provides in-game voices for ship-to-ship radio transmissions, and perhaps some day for campaign fixer conversations. Ongoing projects are discussed here http://forums.vega-strike.org/viewforum.php?f=29

Current voice acting projects are as follows:

  • Oswald "flight tutorial" mission: DONE by Turbo for Pyramid Dec 08
  • Ship-to-ship communication: ONGOING see below for the faction list.
  • In-flight entertainment (news, etc) ONGOING see In-Flight_Non-Musical_Audio

Voice acting is easy to learn and fun to do. For instructions on voice acting, see Turbo's tutorial.

Fixer Voice Lines

Eventually, as campaign missions are written and finalized, we hope to produce voice acting for them.

Ship to Ship Radio Communication

This type of voice acting provides audio to go with the faction-specific ship to ship communications that lend fun and atmosphere to the game.

Broadcasts are keyed to events in the game, so each line must be in a separate file. To aid integration, the file names should clearly indicate which line it is, using the following format:

<FACTION>_<FIRST-FEW-WORDS-OF-TEXT>.OGG

Examples:

 aera_lesser-being.ogg for the Aera broadcast, "The lesser being is always vanquished."  In this example, "the" was omitted from the file name.
 rlaan_boring-boring.ogg for the Rlaan broacast, "Boring, boring, tiny one!  You bring us no tupperware."

If you only have time to make the recordings, we appreciate your help. But if you have time to help integrate them into the game, that is even better. A complete ship-to-ship faction communication voice acting package should include the OGG files plus the following:

  • Documentation: a text file that names the voice artist, lists the lines spoken, and provides any technical details about how the voice was created, edited, etc, to aid future updates.
  • All the faction's speech, one voice line per OGG file, listed in VS/data/communications/<FACTION>.xml
  • The "bounty text" line from VS/data/modules/missions/bounty_leader.py, which reads: It appears we have something in common, privateer. My name may be on your list, but now your name is on mine. This voice line's file name must be <faction_name>_it-appears-we-have.ogg in order for the code to call it dynamically. Please do not forget to record this line; it is not listed in the <faction>.xml file.
  • The updated <faction>.XML file that tells the game to play the sounds, by adding the SOUND FILE tag after each node's text comment and before the EDGE INDEX tag. If the node contains two sets of text, just add two SOUND FILE tags one after the other. Here is an example of the SOUND FILE tag and where it goes:
<node text="Make room for your betters, friends. Room for your betters." relationship=".03125">
<!-- node 4(random good chatter)-->     
<sound file="communications/sounds/highborn/highborn_make-room-for.ogg" sex="0"/>
	<edge index="4"/>
	<edge index="5"/>

Note: Currently the game code that assigns gender to ships does not function, but when it does and we get enough voice acting for both genders in all factions, female voices will use the tag SEX="1"

  • If the faction is an alien language, the following additional guidelines apply:
    • the translator's voice should sound like a computer (flat in dynamics and pitch) while remaining clear and understandable; more on the work done up to now in the next section
    • The alien voice should speak for 1 second before the translator starts. This helps the player hear the alien voice before the translator kicks in, and the delay represents the translator's need to build context before commencing translation.
    • When the translator is speaking, the alien voice should be muted by -7 dB to make the translator easier to understand; exact amount to mute depends somewhat on how "noisy" the alien voice is, so try higher values if -7 dB is enough.
    • Also provide a few alien "fixer" lines, i.e. alien jabber without the translator overlay, that we can use for randomly generated fixer conversations in bars or splice into future campaign fixers if we need them
    • Ideally there should be 2 versions of the package, one with the translator overlay for the English version of the game, and one without the translator so that voice actors can eventually create versions of the game in other languages. For alien voices that were created via some mathematical or logical algorithm, include information in the documentation about how the alien voice was made, in case we need more of it later.
  • For communication lines which end in "[garbled]", indicating that the transmission was interrupted while the pilot was broadcasting, use a 1/2 second burst of white noise, at 70% volume, at the end of the spoken line. One of the militia lines talks about sending data to player, so we did something similar -- a modem "negotiate connection" sound, at double normal speed.

File locations are as follows, so you can test your sounds and hear them in-game before submitting:

  • the <faction>.XML file goes in /data/communications/ (it is already there, you are just updating it with the sound files)
  • the <faction>_it-appears-we-have.ogg file goes in /data/sounds/missions/
  • the remainder of the faction ogg files go in /data/communications/<faction name>/

Faction Voice List

Here is the list of the production status for each faction's voice. If a faction's "citizen" variant has the same lines as the base faction, it is not listed:

Creating the Voice for the Ship's Translator

For aliens which speak a non-human language, the ship's translator will provide a "voice-over" of the alien speech. To make the alien speech easier to hear for gameplay immersion, and to account for differences in grammar, the translator voice-over begins one second after the alien voice broadcast.

Some translator lines are the same for all the alien races. Turbo already created those and posted them in the Aera thread http://forums.vega-strike.org/viewtopic.php?f=29&t=13311. What remains to be decided is whether all the translator voices should sound the same.

This took some experimentation to get a good result. Our first attempt used MicroSoft Narrator's "Michael." MS Narrator's voice meets the criteria for a cold soulless machine voice, but he was too hard to understand. We also tried applying a "vocoder" to a human voice, but it was also difficult to understand. What we settled on, to represent 1200 years of voice-generation and translation technology, was the following:

  • record all the translator lines in a flat, emotionless voice
  • edit out unwanted noises like lip smacking, breathing, etc
  • apply noise removal and click removal effects
  • apply a low pass filter for 15K Hz, other values default
  • apply a high pass filter for 1000 Hz, others default
  • apply the leveller (heaviest setting)
  • if desired, adjust pitch
  • if desired, repeat the click removal, filters, and leveller again
  • make other edits as required
  • amplify to full volume

The effect of all these transformations, including the repeated ones, is to make the translator's voice as clear as possible but still sound a bit mechanical. You can separate each translator line into a separate file for editing, or keep them in one larger file and cut and paste the translations into the individual alien voice lines.

Creating Alien Voices

A subset of voice acting is the creation of alien voices. The short tutorial below describes how Turbo created the voices for the Aera and Rlaan ship-to-ship communication.

This is the process I used to create alien-sounding speech without actually developing a language. If someone wants to do this for another race, please do, and start a new thread in http://forums.vega-strike.org/viewforum.php to get feedback on your work.

To begin, you should look at my voice acting tutorial to get some basics about sound editing tools and how to use them: http://www.willadsenfamily.org/us/don/ttlg/voice/va_tutorial.htm tutorial

The aera speech is based on humpback whale songs I found on the Internet. I used whales because they came to mind when I read that aera have vocal resonators (Artstyle_guide:Aeran) in their heads, instead of vocal cords in their throats. I plan to use insect sounds for the Rlaan. Other alien races' speech could be created with similar techniques, using different animal sounds or your own voice as the basis for each species. I modified the raw whale sounds by removing noise and clicks, then adjusting the tempo to 350% and the pitch down an octave. Audacity makes this easy. For example a tempo change in Audacity will not change the pitch, so you avoid the "Alvin and the Chipmunks" effect. Then I saved the individual bits of modified whale sound into different files so I had a variety of tones, growls, and grunts from which to choose.

The Rlaan voice was a combination of 3 different insect noises, reduced in pitch by different amounts, and DTMF tones (using the first 8-12 letters of the translated line) adjusted in pitch by -87%. These 4 tracks were split among the left and right stereo channels to simulate Rlaan having 4 mouths spaced several feet apart.

Once you have the alien voice lines created, open each translator's line one at a time. Mute the translator's speech so it will be silent while you work with the alien speech. Import the alien speech bits into a separate track of the same file. For the Aera I used tones to represent positive feelings, growls for negative feelings, and grunts as modifiers. Different aliens may do it differently. Change some individual parts to add variety: change pitch here or there, reverse a few parts if it sounds good, and add silence. It is best to do this with the (muted) translator speech on the screen so you can see how the patterns line up, and it is easy to select a few seconds and play it to see what it sounds like without the voice over the top. For silent portions of the translator speech, put a particularly interesting part of the alien speech there. If the translator is difficult to understand for a particular word, make the alien speech pause at that time. There is no reason an alien language would have the same tempo as its translation. The translator and alien can be approximately the same length, because when you go with the final OGG format both will be mixed into stereo anyhow.

Finally, deamplify the aera speech by -3 to -7 Db, whever sounds good without making the translator difficult to hear. Do this by selecting that track and the Amplify command. Then, unmute the translator, and listen to the alien voice and translator together. Make any final edits to the alien speech. If you can play the result with your eyes closed and understand the translator, while being aware of the alien voice behind it, you have it right.

Voice Acting Uploads

Once you have created a voice set, compress it into a ZIP file and upload it to the web, then post a link in the Music and Sound forum to get everyone's comments. If you do not have web space of your own, we have an FTP site that you can use. The public URL for downloads is http://www.willadsenfamily.org/VSvoice but to get upload access, go to the VS forums and send a PM to Turbo or Loki.

Once files have been tested, Turbo can commit them to SVN.