////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ORBITERSOUND 4.0 (3D) - SOUND CONFIGURATION FOR VESSEL CLASS
// ------------------------------------------------------------
//
// IMPORTANT NOTE:
//
// -Lines with '//' before are commented (inactive); uncomment and set value if you want to use them.
//
// -Sound configuration filename can be found in "Orbiter/OrbiterSound_Log.txt". You'll
// have a message "Info: No sound config found for class: XXXXXX". Create and name your file
// "XXXXXX.cfg". If you replace sounds, "XXXXXX" will be also the name of the folder that must
// contain your WAVs. ie: "Orbiter/Sound/_CustomVesselsSounds/XXXXXX/".
//
// -This config file have higher priority over programmation and user settings. ie: you can therefore
// overwrite one addon's C++ settings and sounds and also user's settings.
//
// -Make sure to read each section's header; they explain all you have to know about parameters.
//
// -If you have any problem (eg: sound not playing) remember to take a look in OrbiterSound's log
// located in the main Orbiter's directory (OrbiterSound_Log.txt)
//
// -Good sounds can enhance the visual by 200%, so take time and test, test and test again.
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
DISPLAYDEBUGHELP =true // This displays usefull info on screen and in the OrbiterSound_Log.txt to help you
// develop your sound addon: camera offset, parameters found, sound position etc.
// The on screen message will also remind you to disable this setting before release.
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// General options for vessel
// -------------------------
// While some settings are very usefull some make sense only
// into C++ SDK, because, for example, disabling main thrust is
// used by authors to manually play custom sound engines (which you cannot do).
// Still I provided them all, even the useless ones, for compatibility with future versions.
// Note: -parameters have the same name as in C++ SDK
// -those settings overwrite C++ SDK and user's setting.
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//PLAYCOUNTDOWNWHENTAKEOFF =true // the countdown when you take-off (Apollo 11 by default)
//PLAYWHENATTITUDEMODECHANGE =true // play "rotation" "linear" sound when you change mode
//PLAYGPWS =true // the GPWS sound
//PLAYMAINTHRUST =true // main thrust sound
//PLAYHOVERTHRUST =true // the hover thrust sound
//PLAYRETROTHRUST =true // the retro thrust
//PLAYAUXTHRUST =true // the user group thrust
//PLAYATTITUDETHRUST =true // the attitude thrust sound
//PLAYDOCKINGSOUND =true // the docking sound and radio
//PLAYRADARBIP =true // the radar bip when near another vessel
//PLAYWINDAIRSPEED =true // the wind airspeed when atmosphere
//PLAYDOCKLANDCLEARANCE =true // the landing clearance you can hear bellow 3000m or near a station
//PLAYLANDINGANDGROUNDSOUND =true // rolling, landing, speedbrake, crash sound
//PLAYCABINAIRCONDITIONING =true // play the air conditionning sound
//PLAYCABINRANDOMAMBIANCE =true // play the random pump and rumble sound
//PLAYWINDAMBIANCEWHENLANDED =true // play the wind sound when landed
//PLAYRADIOATC =true // play the atc radio sound
//DISPLAYTIMER =false // display the timer text at the bottom of the screen when you take-off
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Replace default sounds of vessel
// -------------------------------
// Here you can replace many of the vessel's sounds with your own.
//
// IMPORTANT: All your custom WAVs must be placed in "Sound/_CustomVesselsSounds/[VesselclassName] folder.
// Example: "Sound/_CustomVesselsSounds/DeltaGlider/" for Deltaglider.cfg.
// ELSE THEY WILL NOT LOAD! (create the folder if it doesn't exist)
//
// ALL sounds must be PCM (uncompressed) wav 16 bits. OrbiterSound is set to
// play at 22050hz, so higher frequency is only a waste. Keep them as
// small as possible.
//
// Some sound frequencies are controlled by OrbiterSound. This is the case, for
// example, with the main engine which is played at different frequencies in
// internal or external view. Before replacing a sound, it's a good idea to
// look first the frequency of the default WAV. (in "Sound/Vessel")
//
// Note: -parameters have the same name than in C++ SDK
// -if you don't know what a sound is for: launch Orbiter/SoundConfig.exe and click "test" buttons
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//REPLACE_COUNTDOWN_WHENTAKEOFF = // Radio mono, don't forget to force
// "PLAYCOUNTDOWNWHENTAKEOFF=true" as it's disabled by default.
REPLACE_MAIN_THRUST = main.wav // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
REPLACE_HOVER_THRUST = hover.wav // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
REPLACE_RETRO_THRUST = retro.wav // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
//REPLACE_AUX_THRUST = // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
REPLACE_AIR_CONDITIONNING = aircond.WAV // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
//REPLACE_RCS_THRUST_ATTACK = // MUST BE STEREO FOR LOCALISED RCS IN 3D (see note below)
//REPLACE_RCS_THRUST_SUSTAIN = // MUST BE STEREO FOR LOCALISED RCS IN 3D (see note below)
//REPLACE_COCKPIT_AMBIENCE_1 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_2 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_3 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_4 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_5 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_6 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_7 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_8 = // Played only mono in 3D.
//REPLACE_COCKPIT_AMBIENCE_9 = // Played only mono in 3D.
//REPLACE_MODE_ATTITUDEOFF = // Mono, radio play "Attitude off" when you change rcs mode
REPLACE_MODE_ROTATION = rotation.wav // Mono, radio play "rotation" when you change rcs mode
REPLACE_MODE_TRANSLATION = translation.wav // Mono, radio play "translation" when you change rcs mode
//REPLACE_WIND_AIRSPEED = // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
//REPLACE_LAND_TOUCHDOWN = // Mono wheel ground contact (screeching)
//REPLACE_GROUND_ROLL = // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
//REPLACE_WHEELBRAKE = // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
//REPLACE_CRASH_SOUND = // MUST BE STEREO FOR GOOD RESULT IN 3D (and 2D)
//REPLACE_DOCKING = // Mono or stereo the docking sound effect
//REPLACE_UNDOCKING = // Mono or stereo the undocking sound effect
//REPLACE_RADIOLANDCLEARANCE = // Mono the "your are cleared to land" announce (armed >10000
played <3000)
//REPLACE_RADIO_DOCKING = // Mono the docking radio announce
//REPLACE_RADIO_UNDOCKING = // Mono the undocking radio announce
//REPLACE_RADAR_APPROACH = // Mono, the 2001 Odyssey "bip"
//REPLACE_RADAR_CLOSE = // Mono, the 2001 Odyssey close "bip"
REPLACEALLGPWSSOUND = true // Mono, if true you must provide all the 12 GPWS sound in your
folder.
// (ie: -10.wav, to -2500.wav see "/vessel/" folder)
// NOTE ABOUT 3D LOCALISED RCS: (REPLACE_RCS_THRUST_ATTACK & REPLACE_RCS_THRUST_SUSTAIN)
// -----------------------------
// The 3D RCS uses 8 sounds (Stereo attack+sustain*2) but might fail in ships that have special RCS positions;
// if the result is not good you can force deactivating 3D RCS and revert to 2D RCS by
// providing mono WAV. (either attack, sustain or both, I recommend only attack)
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 3d sound position
// -------------------------------
// By default the 3D positions of the sounds are calculated; for example, the main engine position
// is an average of all main thrusters and the two sounds (stereo) are offset left and right
// for a better result.
//
// But the calculation might be innacurate, so you can fix here the position.
//
// Some other sound positions are calculated in "Pseudo random position"; this means
// vessel's class name is used to generate a random position which is always the same.
// Example: The position of the radio sound will always be the same for a vessel type (logic,
// the radio instrument don't move in reality but it might be different for another vessel type)
//
// The ambients sound are also automatically spread in "pseudo random position" around defaut camera
// (pump and switch don't move also)
//
// Sound positions are in X,Y,Z LOCAL VESSEL COORDINATE (internal cockpit sound must take in account
// the camera offset position, see debug parameter in top of this config file to get its value).
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//3dMainThrustPos ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
//3dHoverThrustPos ={0,0,0}{0,0,0} // left/right channel (stereo, in this case front/rear offset give better
results)
//3dRetroThrustPos ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
//3dAuxThrustPos ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
3dRcsFrontRearPos ={0,0,10}{0,0,-7} // front rear RCS position, the sound must be stereo ! (see note below)
//3dRcsLeftRightPos ={0,0,0}{0,0,0} // left right RCS position, the sound must be stereo ! (see note below)
//3dAircondPos ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
//3dCockpitAmbience1Pos ={0,0,0} // mono
//3dCockpitAmbience2Pos ={0,0,0} // mono
//3dCockpitAmbience3Pos ={0,0,0} // mono
//3dCockpitAmbience4Pos ={0,0,0} // mono
//3dCockpitAmbience5Pos ={0,0,0} // mono
//3dCockpitAmbience6Pos ={0,0,0} // mono
//3dCockpitAmbience7Pos ={0,0,0} // mono
//3dCockpitAmbience8Pos ={0,0,0} // mono
//3dCockpitAmbience9Pos ={0,0,0} // mono
//3dWindAirspeedPos ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
//3dLandTouchDownPos ={0,0,0} // mono
//3dGroundRollPos ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
//3dWheelBrakePos ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
//3dCrashSound ={0,0,0}{0,0,0} // left/right channel (in case of stereo)
//3dRadioPos ={0,0,0} // Set pos for all radio sound: Rcs mode,clearance, dock/undock,radar, ATC
chatter.
//3dGPWSPos ={0,0,0} // Set pos for all GPWS sound.
// NOTE ABOUT DOCK/UNDOCK:
// -----------------------
// Dock/undock sound effects are at the exact position of the docks calculated during
// dock/undock (up to 9 docks). A manual setting would have been to complicated,
// so sorry you cannot set the dock/undock position.
// NOTE ABOUT 3D RCS:
// ------------------
// The automatic guess of RCS's position might fail because the exhaust thruster position
// is not available in SDK and the logic position is often not at the exhaust point.
// You can try to position them manually in this case.
//
// To have 4 independant sounds for RCS, correctly positionned, was possible at the expense of volume
// and dynamic (without volume reduction, they overlap and give bad harmonics). If you don't
// like this effect for your ship (or if RCS are not standard cross positionned) you can deactivate
// it by replacing stereo WAV by mono. See above: "NOTE ABOUT 3D POSITIONED RCS".
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Animations
// -------------------------------
// Here you can play animation sound effect and also "open/closed" voice or sound effect.
// For performance concern all thoses sound play only in internal view.
// Notice also that all waves must be very small in size (Ideally <250k) as they are loaded
// dynamically when the animation play for the first time. You may reduce the frequency to
// the maximum acceptable given the quality. (11025hz or less, and PCM 16 bits format anyway)
//
// Important Tips:
// ---------------
// The 'DISPLAYDEBUGHELP' parameter (see top of this file) can help you getting the vessel's
// animations number and 3D position as they will be listed in the OrbiterSound_log.txt.
// If you are not an addon developper please be aware that there can be
// a lot of animations that refer to the same object. Gears for example can
// have as much as 12 animations included; gears(x3), gears doors(x6), wheels(x3) etc. etc.
// Of course you'd want only one sound for the whole gear animation so you must choose
// careffuly the right number and declare only one configuration line.
// At worse try all the number one by one with the different animation number as listed
// in the log until it work.
// -Some animations may have the state '1' for closed and '0' for open, you may just
// invert the open/closed wave in this case.
// -Some animations may not stop at '0' or '1' state, therefore open/close sound will not
// be played. This should be corrected in vessel's code.
// -For move sound you can either make one short wave that loop (electric door motor)
// or make a longer one that cover the whole animation time.
//
//
// Settings in configuration:
// --------------------------
// You have three versions of the parameter to declare animation sound:
//
// 1-Mono (recommended)
// --------------------
// This one play animation sound in mono only (3D is nativaly in mono).
// The first parameter (after the "_") is the number of the animation.
// The second parameters is the move sound effect, the third one play once when it reach
// "open" state and the fourth when it reach the "closed" state. The fifth is the anim
// sound's 3D position in local vessel coordinate and the last parameter will tell
// where in 3D to play the "open/closed" sound:
// 'ANIMPOS" at the same position than the move animation (for example lock sound effect)
// 'RADIOPOS' at the radio position. (voice etc. etc.) (See '3dRadioPos' parameter above)
//
// Example:
// Animation_1 =DoorMove.wav,DoorOpen.wav,DoorClosed.wav,{0,0,-10},ANIMPOS
// Animation_2 =GearMove.wav,GearDown.wav,GearUp.wav,{0,0,-10},RADIOPOS
//
// if you want only some sound just leave parameters empty, this example below would play only
// the open or move sound: (Note the "," separators, 3D position and "RADIOPOS/ANIMPOS"
// keyword are mandatory)
//
// Example:
// Animation_1 =,Open.wav,,{0,0,-10},RADIOPOS // play only "open"
// Animation_2 =Move.wav,,,{0,0,-10},RADIOPOS // play only the "move" sound
//
//
// 2-Stereo move sound
// -------------------
// This one is good for animation that require "zone sound" or two sound as gear. It work
// the same as the mono declaration appart that you must declare the two channels position
// in local vessel coordinate and provide a stereo "move" wave. Only the "move" sound can
// be in stereo. The two others will be converted to mono anyway if they are stereo.
//
// Example:
// AnimationStereo_1 =DoorMove.wav,DoorOpen.wav,DoorClosed.wav,{-5,0,10}{5,0,-7},ANIMPOS
// AnimationStereo_2 =GearMove.wav,GearDown.wav,GearUp.wav,{-5,0,-10}{5,0,-10},RADIOPOS
//
//
// 3-VC Switches & Buttons
// -----------------------
//
// This one should be used for VC switches animation that share the same "click" wave. It perform
// a full optimisation so if you use for example 25 lines of switches with the same "click",
// instead of loading 50 useless sound buffer it will use only 3 buffers that will be shared by all.
// As they play alternatively and the click wav is short there is very litle chance that the user
// click 3 switches or buttons in same time: You save 47 wave buffer, 47 loading from disk.
//
// Example:
// AnimationSwitch_30 =ClickSwitch.wav,{-0.34,1.12,7.22} //VC switch
// AnimationSwitch_31 =ClickSwitch.wav,{0.25,1.10,7.29} //VC switch
// AnimationSwitch_32 =ClickSwitch.wav,{0.28,1.11,7.26} //VC switch
//
// NOTE: -Do not use it if you use less than the 3 same click wave. (It would be worse than mono function)
// -You can use different waves to share but each must be used at least 3 time.
// -If internally the animation don't use 0/1 anim state it may not work, this
// should be corrected in vessel's code.
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////
AnimationStereo_0 =cGearMove.wav,cGearDown.wav,cGearUp.wav,{-2,-1,6}{2,-1,6},RADIOPOS //Gear
Animation_1 =cRetroMove.wav,cRetroOpen.wav,cRetroClose.wav,{0,-1,6},RADIOPOS //retro door
Animation_2 =cNoseMove.wav,cNoseOpen.wav,cNoseClose.wav,{0,-1,6},RADIOPOS //nose cone
Animation_3 =cOuterMove.wav,cOuterOpen.wav,cOuterClose.wav,{0,-1,6},RADIOPOS //outer door
Animation_4 =cInnerMove.wav,cInnerOpen.wav,cInnerclose.wav,{0,-1,6},RADIOPOS //inner door
Animation_5 =cLadderMove.wav,cLadderOpen.wav,cLadderClose.wav,{0,-1,6},RADIOPOS //ladder
Animation_6 =cHatchMove.wav,cHatchOpen.wav,cHatchClose.wav,{0,-1,6},RADIOPOS //cabin hatch
Animation_7 =cRadMove.wav,cRadOpen.wav,cRadClose.wav,{0,-1,6},RADIOPOS //radiator
AnimationSwitch_19 =cSwitch.wav,{0.33,0.95,7.18} //VC switch
AnimationSwitch_20 =cSwitch.wav,{0.35,1.06,7.20} //VC switch
AnimationSwitch_21 =cSwitch.wav,{-0.26,1.05,7.24} //VC switch
AnimationSwitch_22 =cSwitch.wav,{-0.25,1.05,7.25} //VC switch
AnimationSwitch_23 =cSwitch.wav,{-0.37,1.10,7.15} //VC switch
AnimationSwitch_24 =cSwitch.wav,{-0.36,1.10,7.15} //VC switch
AnimationSwitch_25 =cSwitch.wav,{-0.36,1.05,7.14} //VC switch
AnimationSwitch_26 =cSwitch.wav,{-0.36,1.04,7.13} //VC switch
AnimationSwitch_27 =cSwitch.wav,{-0.26,1.12,7.27} //VC switch
AnimationSwitch_28 =cSwitch.wav,{0.24,1.15,7.31} //VC switch
AnimationSwitch_29 =cSwitch.wav,{-0.34,1.07,7.20} //VC switch
AnimationSwitch_30 =cSwitch.wav,{-0.34,1.12,7.22} //VC switch
AnimationSwitch_31 =cSwitch.wav,{0.25,1.10,7.29} //VC switch
AnimationSwitch_32 =cSwitch.wav,{0.28,1.11,7.26} //VC switch
AnimationSwitch_33 =cSwitch.wav,{0.25,1.05,7.27} //VC switch
AnimationSwitch_34 =cSwitch.wav,{0.29,1.06,7.24} //VC switch
AnimationSwitch_35 =cSwitch.wav,{0.25,1.00,7.25} //VC switch
AnimationSwitch_36 =cSwitch.wav,{0.26,0.95,7.23} //VC switch