OrbiterSound 4.0 documentation

---------------------------------------------------------------------
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 !
---------------------------------------------------------------------

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.

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

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.

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

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.

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.

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.

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:

It 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.

"Status : Off (bad frequency)" is shown when you switch to a frequency that has no folder or no sound files in it.

A small stutter can be heard when you switch frequency. This is normal due to the WAV reloading.

OrbiterSound remembers the last frequency used between Orbiter sessions.

When 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:

The 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

The vessel sound configuration files

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.

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.

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.

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.

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.

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.

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

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

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.

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 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)

Sound only transmitted by hull or wings from gear or rear radiator of the DeltaGlider

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:

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.

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).

Emil 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.

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.