---------------------------------------------------------------------
ONLINE PREVIEW IMPORTANT NOTE:
This documentation is meant to be viewed from an Orbiter Installation.
Online preview will have many local links broken, this is normal !
---------------------------------------------------------------------

Index:

General:
  Preliminary notes
  Changelog, what's new
  What does 3d audio mean?
  Requirements
  OrbiterSound configuration
  The radio/radar/mp3 MFD

Customise, create vessel sound. SDK and docs for users and authors:
  The vessel sound configuration files
  Programming vessel or MFD sound, C++ SDK
  Adding planet's bases or wind sounds
  Sound design tips
  Packaging your addon - IMPORTANT!

Credit,license, links:
  Frequently asked questions (external link)
  C++ Code Snippet for SDK (external link)
  Thanks, credit and license


Preliminary notes

Even if there is no sound in space, a vessel is always a noisy environment. In fact in MIR it turned out to be a real problem, with sound levels up to 90db. OrbiterSound reproduces some sounds that may be heard while travelling in a spacecraft, even though some are fictional. To fit your needs, OrbiterSound is fully customizable. You can even have music in space!

I hope you will enjoy my work!

Daniel Polli (aka Dansteph) 2012

Did you know? May 17 2012 was the 10th anniversary of OrbiterSound. See 2002 archived web page. gift emoticon


For start, try the demo scenario and make sure to read the description.
For start, try the demo scenario and make sure to read the description.


Back to index

Changelog, what's new

Features added in OrbiterSound 4.0:

bullet green3D audio effects (placement of sound in three-dimensional space)
bullet greenCompatible with latest graphic clients (tested on DX9 & DX11)
bullet greenYou can redesign vessel sounds and options with a simple configuration file
bullet greenMany sounds are reworked or changed
bullet greenNew customisable per-planet wind and bases sound
bullet greenMain sound directory was cleaned up
bullet greenSeveral bugs fixed and a lot of code reworked
bullet greenSupport for 3D sound added to the OrbiterSound SDK
bullet greenThe SDK was also cleaned up, the example projects are much more clear and simple
bullet greenYou'll find the VesselSDK and MFDSdk in folder "Sound/OrbiterSound_SDK"
NOTE: OrbiterSound 4.0 runs only on Orbiter 2010 or higher.

Features added in OrbiterSound 3.5:

bullet greenMFD Sound SDK that allows MFD authors to add sound to their MFD
bullet greenNow can load and immediately play a sound. This allows hundreds of WAV instead of only 60
bullet greenSeveral bugs cleared
bullet greenYou'll find the VesselSDK and MFDSdk in folder "sound/OrbiterSound_SDK"
NOTE: OrbiterSound 3.5 runs only on Orbiter 2006.

Features added in OrbiterSound 3.0:

bullet greenMP3 playing capacity, you can use winamp playlist or drop MP3 into sound/mp3 folder
bullet greenDoppler, sonic bang, distance and pressure fading
bullet greenDifferent cockpit/external sounds
bullet greenThe vesselSDK was greatly enhanced; see ShuttlePb example in the sound folder
bullet greenOthers?... don't recall them all smile


Back to index

What does 3d audio mean?


3D audio in OrbiterSound 4.0 is a complete 3D simulation of audio positioning - different sounds can come from different places in a vessel. With two speakers you'll have left/right panning (given the head position and orientation) and with a quad system you'll have also front/rear panning.

For a default vessel (without configuration or specific programming) the positions of sounds are automatically generated by sound type. Some sounds, such as ambient and radio, are pseudo-random, with the name of the vessel class used as random generator (this means that sound position will always be the same for a vessel type, but can vary from one type to another).

Note that the RCS sounds are a special case. The default automatic guess of position may not be accurate, because Orbiter doesn't provide the correct position of RCS exhaust. Using the configuration file you can manually position them. If you don't like the result you can deactivate 3D RCS in the SoundConfig program.


OrbiterSound 4.0 also introduces the 3D sound concept cone effect: the sound being louder in front of the emitter and eventually masked by the hull. This applies to main, hover, retro and airspeed wind sound. The airspeed's sound cone on its part is dynamic, given the speed vector of the vessel. Last, for speed above Mach 1, you'll have a silent zone in front of the ship. Notice you can disable the sound cone effect in the program's configuration.






Back to index

Requirements

If you are able to run Orbiter, OrbiterSound should run also. Just take care that you MUST have DirectX 9 or higher installed. If you get an error message about dsound.dll you have a bad or no install of DirectX.


3D Sound system

Example of Windows Speaker Setup
Example of Windows Speaker Setup
With 3d sound it's important that the speakers are correctly positioned, otherwise there will be an offset between the sound origin on screen and what you hear. It is also important to correctly set your Windows sound configuration because OrbiterSound plays through DirectX's DirectSound API.

With a quadraphonic sound system you'll be able to hear sound in full 3D, with sounds coming also from front/rear.

Back to index

OrbiterSound configuration


You can configure OrbiterSound using SoundConfig.exe which is located in Orbiter's root directory.

Important to know: SoundConfig settings have lower priority than a vessel's configuration file and programming. This means that some add-ons may not obey your general setting (example: deactivating air conditioning sound)

Fortunately the solution is simple: since the vessel's configuration file has top priority, you can easily edit it to make each vessel exactly fit your taste.

For advanced users, you can also modify some general values or factors of OrbiterSound here: Advanced_configuration.cfg. It allows you, for example, to modify the frequency of OrbiterSound (up to 44100hz) or to play sounds even when Orbiter's window doesn't have focus.

Back to index

The radio/radar/mp3 MFD


The radio/radar/mp3 MFD allows you to tune ATC chatter frequency and temporarily* change some settings for MP3 and radar sounds. It works as any standard Orbiter MFD and you can activate it the same way with the "SEL" button. If you want to add more MP3s to the list, open the MP3 folder and read the help.

* If you want settings to be permanent use the SoundConfig program.



Radio:
This selects one of the folders that contain different ATC files; it uses a radio feeling so it's like you select a radio frequency. For example you can start with Canaveral control and switch during flight to ISS communication (notice that only three "frequencies" with few sounds are provided by default to keep the size low. See More_Atc_help.txt).

SHIFT-R : Open the (R)adio panel MFD (which contains the MP3 control)
SHIFT-F : Enter a new (F)requency
SHIFT-S : (S)wap between the mem and the com frequency
SHIFT-V : Change the (V)olume of the radio (cycles through volume settings)
SHIFT-D : (D)isplay a list of available "frequencies"

Notes on ATC radio:
bullet greenIt works like an aircraft radio. You have a mem frequency where you enter the one you want and must swap it to com frequency to make it active.
bullet green"Status : Off (bad frequency)" is shown when you switch to a frequency that has no folder or no sound files in it.
bullet greenA small stutter can be heard when you switch frequency. This is normal due to the WAV reloading.
bullet greenOrbiterSound remembers the last frequency used between Orbiter sessions.
bullet greenWhen you enter an atmosphere at high speed, the radio sound becomes more and more noisy until it disappears. This simulates the blackout due to ionization.

Radar:
You can switch the radar bip sound on/off and set it to detect only the station or any object. The MFD also displays the distance to the target.

SHIFT-R : Switch (R)adar mode between "Off"/"Station"/"All".

Note on radar distance:
bullet greenThe MFD shows the distance to the target's center, minus the radius of the object; this can differ from other Orbiter displays, such as the Docking MFD. If the value is negative (inside a station) it shows "NEG" instead of the distance.

MP3:
SHIFT-R : Open the (R)adio panel MFD (which contains the MP3 control)
SHIFT-N : Play the next MP3 in the list
SHIFT-K : Change the mode of playing (for example, "in space only"/"in cockpit only"/"always", etc., see soundconfig.exe for options)
SHIFT-3 : Stop/Resume MP3 playing

Back to index

The vessel sound configuration files

A vessel's configuration file, help inside
A vessel's configuration file, help inside
A simple text file allows you to change all the 43 default sounds and 20 options of a vessel type and you can even define animations sounds. With a few text lines and some sounds that you can find online (See Sound design tips) you can make any vessel sound completely different.

To learn more or start customising a vessel see the Sound/CustomVesselsSounds folder and make sure to read the read me.

Important to know: The configuration files (.cfg) have higher priority than Sound C++ SDK and user's configuration (SoundConfig.exe) concerning the replacement of the 43 default sounds and the 20 sound options. This was done so a vessel's sound not be written in stone. You can therefore overwrite the author's default sounds and user's settings, allowing you to make per-vessel options (you may like aircond or ATC in one and not in others).

Please note that the configuration can't do nothing for private sounds that are loaded and played independent to the 43 default sounds. An author, for example, can disable default main thrust and load & play it's own.


Back to index

Programming vessel or MFD sound, C++ SDK


If you are a vessel developer, the simplest and quickest way to modify the sounds and options of a vessel is to use the configuration file. However, this won't work for all the special events sounds you may want for a nice addon (or for a MFD). The Arrow Freighter for example has at least 150 more sounds than a default vessel.

If your addon already contains some C++ code, integrating the OrbiterSound SDK, plus loading and playing the required WAV is really simple and quick. You also have access to all the options of a configuration file.

To see the doc, code example and library to integrate into your project, open the Sound/OrbiterSoundSDK folder and make sure to read the various "read me" files.

See also the thread C++ Code Snippet for OrbiterSound SDK


Important to know: Configuration files have priority over programming. A vessel's configuration file can overwrite your ReplaceStockSound() and SoundOptionOnOff() parameters. See above configuration file.

Back to index

Adding planet's bases or wind sounds

Base custom sound


Each base can have its custom ambiance sound that will play near ground, within a given range. This sound can be mixed at various degrees with the planet's wind sound (see below). Airport sound, birds, forest, traffic or town sound can add a lot to the feeling of a base.

Making a new base sound add-on is really easy, so open the Sound/CustomBaseSounds directory and be sure to read the "read me" file.

To hear an example, launch the demo scenario "Planet Bases and Wind sounds"



Planet custom wind


Do you want to give a planet it's unique feeling? The terrible storms of Jupiter of Jupiter or the gentle breeze of a sunny day on earth? This is now possible! And each planet can have a playlist of as many as 50 wind sounds to shuffle one from (just to not sound repetitive).

Making a new wind add-on is really easy, so open the Sound/CustomWindSounds directory and be sure to read the "read me" file.

Back to index

Sound design tips

Sound design is an art: a good sound can enhance the visuals by 200%, while a bad one can degrade it. I'll explain here some tips about where to find good sounds and how to rework them to get a good result in OrbiterSound. I'll not explain which sound editor to use and how to use it, there's plenty of tutorials on the net about this.

The first most important thing is to find a good base sound; you can find a lot of rocket thruster sounds on YouTube (search with "rocket", "thruster", "Hydrazine", "space shuttle" etc. etc.). For other sounds (ambience, wind, click, rumble and pump) you can search on freesound.org. Take your time to pick the right sound because in the end, the quality will depend about 80% on the base sound.


Reworking a sound - Booster thruster example

First record it with the highest quality possible at 22050hz 16 bits stereo (in case of youtube, choose "HD" whenever available). Cut the start and the end to get a good and stable sound of about 4-6 seconds (beware of variations, in a short loop it would give a steam engine effect).

I've taken the sound of this video and, after cut, I got this sound: booster_thruster_raw.wav (I've done this tutorial quickly, you may find a better sound).


Start: cut here, where the line crosses the zero
Start: cut here, where the line crosses the zero
End: cut the same way
End: cut the same way
If you play it looped (as it will in Orbiter) you'll hear a click noise. When cutting, you must pay attention that the start and end match: first cut the start as the sample crosses the zero line (otherwise you'll hear a click when the sound starts playing) and then cut the end the same way. Paying attention to the phase (ascendant/descendent) may ensure that the loop is perfect.



I got this result: booster_thruster_goodcut.wav which is descent for a booster (it's a noisy and saturated sound but let say this is how we want our booster at launch). If you want to equalize and add bass or treble you must ensure to not saturate the sound: normalize it first to 80% or less, work on frequency and, at the very end, normalize it again to your final volume.


Frequency equalizer
Frequency equalizer
Here I have enhanced the bass and removed a bit of the high and middle frequency: booster_thruster_equalise.wav (you may need to cut it again after some operations to remove the click).



Enhance stereo sounds


Now we have a nice and flat stereo booster sound. The reason is that the two channels are strictly the same, meaning there is no wide perception. To make it perfect you'll need to shift one channel by 0.5-1 second, which works well for constant sounds like thrusters. Some sound editors may have this effect included (I didn't find one) but any editor that allows you to work on one channel will do the job.

Upper image: Select one channel, cut and paste it at a 0.5-1 second delay.
Lower image: Cut and paste the remaining part to the start, remove the empty end and make sure that there is no click. Be precise, use zoom at sample level.

And here we have our final result: booster_thruster_stereo.wav

This is not only for cosmetics: given a head position, in 3D, stereo channels may have the same origin and, if both channels are strictly identical, they'll sound like played in a bathtub.



Mix sound components

You may find that one sound has a nice rumble bass and another one a nice middle hum, or any other component. By filtering the unwanted frequency on both and mixing them together you can have the best of the two sounds. Here I've taken the raw Shuttle's booster, the default main thrust and I ended with this sound: Aux Srb.wav

Remove low frequency on one
Remove low frequency on one
Remove high frequency on the other
Remove high frequency on the other




Ship's material and sound frequency

Sounds that are not emitted directly in front of you are subject to material absorption or transmission. A simple rule to apply is that bass can be transmitted by materials easier than medium and high frequencies: Think about your neighbor hearing music behind the wall, you'd hear mostly the drum and bass. This means that ambiance or animations sounds must take at least this effect into account for more realism. More materials your sound will travel through, more it will lose from it's high and medium frequencies. See some examples of the kind of filter to apply below:

Voice from the crew behind you, slightly masked by a wall (like in DeltaGlider)
Voice from the crew behind you, slightly masked by a wall (like in DeltaGlider)
Sound only transmitted by hull or wings from gear or rear radiator of the DeltaGlider
Sound only transmitted by hull or wings from gear or rear radiator of the DeltaGlider






Once you have your sounds, you can start replacing any of the 43 waves of one vessel-type using the sound configuration file and finally package your sound addon.


Happy sound modding!



Back to index

Packaging your addon - IMPORTANT!



A quality addon is also well packaged. The zip must be properly named, contain a ReadMe.txt and files must go to the proper place when the add-on is extracted in Orbiter's root directory. If you don't know how to, this chapter is for you.


Archive's read me

The ReadMe must describe: what the addon is for, which version, your username and how to install it. The ReadMe.txt must be placed in your addon's folder, NOT in Orbiter's root directory.

Example of minimal read-me, so the user has the basic information he needs:
DeltaGlider sound configuration addon for OrbiterSound 4.0
----------------------------------------------------------

Unzip in Orbiter 2010's directory, all files will go to their proper place.

Happy Orbiting !

Rick211
All my addons: http://www.OrbiterHangar.com?User=Rick211

How to zip with correct path

Create on your desktop a folder named for example "OrbiterZip", into this folder recreate the complete Orbiter path where your addon's files will be placed. Place all your addon files, including the ReadMe.txt, in their proper folders.

Example:




Then archive the root folder using your favorite archiving program (for WinZip right-click it and select "Add to Zip file..." in "WinZip" menu).






Archive's name

To be user-friendly, the archive's name must clearly identify your addon.

Correct: SoundAddonForDeltaGlider_ByRick.zip, MarsWindSound_ByRick211.zip
Wrong: GuessWhat.zip, MyCoolAddon.zip


Upload your sound add-on


Vash from OrbitHangar has kindly added a new Sounds category, so users will find your sound add-on more easily.

Don't forget to tag it also "compatible with OrbiterSound" and maybe drop a note that it's compatible with only version 4.0 if you use the new configuration file (the older OrbiterSound versions are outdated for Orbiter 2010 anyway).

Back to index

Thanks, credit and license

Thanks

Thanks, of course, to Martin for his wonderful simulator and thanks to the whole Orbiter community for the support and friendliness over the past ten years.

Also, thanks to:
bullet green'MikeB' for reviewing this documentation and all the txt files.
bullet greenEmil Nechifor aka Marvin42 for double-checking documentation files, correcting SDK comments as well as a huge amount of txt and documentation files changing constantly as the differents versions were issued.
bullet green The alpha version testers that have got all the worse bugs: siriusfett, cslevine, SolarLiner, Alexandre, MerciMartin, Joffrey.
bullet greenThe beta testers: siriusfett, cslevine, SolarLiner, MerciMartin, asmi, jVincent Majerowicz, jgrillo2002, marvin42, paddy2, Ripley, gattico, Proximus, darkvoid, dgatsoulis, cipher169, Scattykat, sunshine135, Jim Lovell, hedzup456, jacquesmomo, reekchaa.
bullet green'Scattykat' for the welcome voice.

beer

Credit

Music:
bullet greenCalm Spaces by Pawel Blaszczak standard license bought on shockwave-sound. It is strictly forbidden to redistribute or sell this file without the appropriate license.

ATC chatter:
bullet greenSTS sound reproduced with authorisation from http://www.uhf-satcom.com/. Thanks to Paul and contributors of uhf-satcom!

Wind sound sample source by:
bullet greenDynamicell, Benboncan, inchadney, Bosk1, dobroide, Jovica, suonho,klankbeeld.

Sound effect sample source by:
bullet greenHalleck, m_O_m, estlacksensory, JasonElrod, digifishmusic, Halleck, Tr4ck3r,TexasMusicForge, Erdie, jpnien, FreqMan,sandyrb, Slanesh.

Ground base sound sample source by:
bullet greenmr_rolfi, Bansemer.


License

My website: Dan's orbiter page.

OrbiterSound 4.0 is freeware, like Orbiter. It is forbidden to make any money from it in any manner, cd distribution etc. It is forbidden to distribute OrbiterSound. I prefer to keep it on a central download point.

Standard disclaimers also apply.

Happy flying!

DanSteph 2012


Doc created with HtmlDocCreator by DanSteph

Valid HTML 4.01 Transitional