Update [obsolet] OrbiterSound 4.0 - dev thread

dansteph

Addon Developer
Addon Developer
Beta Tester
Joined
Apr 30, 2008
Messages
788
Reaction score
64
Points
28
Website
orbiter.dansteph.com
DEV NEWS

OrbiterSound start too look like a RC... (for public beta)

New Feature:
Ground base sound, you can see it in the doc here:
http://orbiter.dansteph.com/DeleteOrbiterSoundAlphaDoc/#cwind


And here the test scenario's text that will tell you more (not corrected yet)
Code:
Each base can have its own ambience sound mixed with the planet's 
custom wind.

Launch this scenario: hear first the florida's birds and distant traffic 
(It's discreet, pump up the volume), then switch to SH-02 to hear 
Habana's town traffic, SH-03 to hear Kourou's jungle bird and SH-04 
to hear Grand Canaria's sea. Zoom out/in (PageUp/PageDown) 
to see how ground base sound fade with altitude.

Then switch to SH-05 to hear Venus's custom wind.

See the doc to make custom planet's wind or/and base's sound. 
It's really simple.

And the "read me" (also not corrected)
Code:
ADD BASE SOUND DOCUMENTATION
-----------------------------

Adding base ambience sound is easy, you just need a nice WAV that you name correctly.

A base sound play at a given range around the base and at low altitude, it's the ideal sound to place birds, forest,
building, traffic, town, airport or other ambience sound effect. You can mix it at various level with the global wind 
sound. So the base can have it's own wind sound (0% global wind) or just somes sounds that come over the global wind. 
(from 10% to 100%)

A base sound is unique and if there is multiple addons that adress the same base the first found on disk will always 
be choosed. If you make one over an existing, advise the user to delete the other.

FILENAME FORMAT EXAMPLE:
------------------------
"Earth_Cape canaveral_18000_1_20.wav"

1-Planet's name
2-Base's name
3-Sound range around base in meter. (min 2100 max 40000 notice the sound start to fade out at this distance)
4-Maximum altitude in meter (min 255, max 10000, notice the sound stop at this altitude)
5-Percentage of global wind sound to play. (from 0 to 100)


---------------------------------------------------------
WARNING SIZE !!!
---------------
Try to keep the size of the wav under 2.0 megabyte, lower the frequency
the maximum possible, the lower it is the longer your sound can be.
Usually 11025hz is sufficient but some sound can support even lower 
frequency like 8000hz or 6000hz.

WARNING BORING !!!
--------------
Restreint yourself to add remarquable sound as rocket taking off or anything too noticeable. 
This are ambience sound that will repeat every 10-30 seconds and after 10 repetition of such sound 
it would be completely boring and spoil the ambience.

WARNING VOLUME !!!
------------------
Winds and all other sounds must have aproximatively the same volume otherwise a sound will "jump"
in the hear of the user and annoy him. Check your sound's volume against others so it remain discreet.

WARNING FORMAT !!!
---------------
Sound must be PCM wav (uncompressed) 16 bits >>>>STEREO<<<< 
(otherwise it will badly sound in 3D)

---------------------------------------------------------

Before releasing your base sound addon it is STRONGLY advised to read OrbiterSound documentation 
about packaging addon. See Doc/OrbiterSound - "Packaging your addon".

Have a nice day at base alpha !

		Dan
 

Marvin42

Mostly Harmless
Joined
Nov 1, 2011
Messages
67
Reaction score
0
Points
6
corrections

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 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.
Test scenario
Each base can have its own ambiance sound mixed with the planet's
custom wind.

Launch this scenario: hear first the Florida's birds and distant traffic
(it's discreet, pump up the volume), then switch to SH-02 to hear
Havana's town traffic, SH-03 to hear Kourou's jungle bird and SH-04
to hear Gran Canaria's sea. Zoom out/in (PageUp/PageDown)
to see how ground base sound fades with altitude.
Then switch to SH-05 to hear Venus's custom wind.

See the doc to make custom wind for planets and/or sound for bases.
It's really simple.
And the "read me"
ADD BASE SOUND - DOCUMENTATION
-----------------------------

Adding base ambiance sound is easy,
you just need a nice WAV that you name correctly.

A base sound plays at a given range around the base and at low altitude;
an ideal sound would have birds, forest, building, traffic, town, airport
or other ambiance sound effects. You can mix it at various levels with the
global wind sound. So the base can have it's own wind sound (0% global wind)
or just some sounds that overlap the global wind (from 10% to 100%).

A base sound is unique and, if there are multiple add-ons that addresses
the same base, the first found on disk will always be chosen. If you make
a new one over an existing one, advise the user to delete the other.

FILE-NAME FORMAT EXAMPLE:
------------------------
"Earth_Cape_Canaveral_18000_1_20.wav"

1-Planet's name
2-Base's name
3-Sound range around base in meters (min 2100, max 40000 - notice the
sound starts to fade out at this distance)
4-Maximum altitude in meter (min 255, max 10000 - notice the sound
stops at this altitude)
5-Percentage of global wind sound to play (from 0 to 100)

---------------------------------------------------------
WARNING SIZE !!!
---------------
Try to keep the size of the wav under 2 MB, lower the frequency to
the maximum possible (the lower it is the longer your sound can be).
Usually 11025 Hz is sufficient but some sounds can support even lower
frequency like 8000 Hz or 6000 Hz.

WARNING BORING !!!
--------------
Restraint yourself to add remarkable sound like
rocket taking off or anything too noticeable.
This is ambiance sound that will repeat every
10-30 seconds and after 10 repetitions of such sound
it would be completely boring and spoil the ambiance.

WARNING VOLUME !!!
------------------
Winds and all other sounds must have approximately
the same volume, otherwise a sound will "jump"
in the ear of the user and annoy him. Check your sound's
volume against others so it remains discreet.

WARNING FORMAT !!!
---------------
The sound must be PCM wav
(uncompressed) 16 bits >>>>STEREO<<<<
(otherwise it will sound badly in 3D)

---------------------------------------------------------

Before releasing your base sound add-on, it is STRONGLY advised
to read OrbiterSound's documentation about packaging add-ons.
See Doc/OrbiterSound - "Packaging your add-on".

Have a nice day at base alpha!

Dan
 
Last edited:

dansteph

Addon Developer
Addon Developer
Beta Tester
Joined
Apr 30, 2008
Messages
788
Reaction score
64
Points
28
Website
orbiter.dansteph.com
DEV NEWS

Vessel sound configuration file will allow also animations sound. :tiphat:

Animation part of configuration file: (not corrected yet Marvin, don't correct this one yet, I'll probably change a few things)
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 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

"There was some "plop" and "hop", "broom" and "houmpf", then came OrbiterSound 4.0" :lol:
 
Last edited:

Marvin42

Mostly Harmless
Joined
Nov 1, 2011
Messages
67
Reaction score
0
Points
6
Hi Dan, I was wondering, if i have this animation
Animation_2=radiatormove.wav,radiatordeployed.wav,radiatorretracted.wav,RADIOPOS
and it's running radiatormove.wav but at the same time i just finished docking and 'congrats' announce comes in, will the two waves be played in the same time?
And related, how many animations can run sounds in the same time/same frame?
 

dansteph

Addon Developer
Addon Developer
Beta Tester
Joined
Apr 30, 2008
Messages
788
Reaction score
64
Points
28
Website
orbiter.dansteph.com
Hi Dan, I was wondering, if i have this animation
Animation_2=radiatormove.wav,radiatordeployed.wav,radiatorretracted.wav,RADIOPOS
and it's running radiatormove.wav but at the same time i just finished docking and 'congrats' announce comes in, will the two waves be played in the same time?

Sure, the animations sound are separate.

And related, how many animations can run sounds in the same time/same frame?

All in same time if you want.
Now I may put a limit how much declaration you can do, yet I made room for 100.
As I plan to check only 4 anim state per image (for performance concern) that may
put a 0.3 second delay for computer with 30 FPS at worse. (But only 0.06 second
with 8 animations at 30FPS)

But that would mean 300 sounds* loaded if all animation have played...
canaille.gif

Now I'm not sure that a vessel with 100 animation will be slowed by sound much
than simply by animations and the exploded model himself. (If I recall well the DGIV
have about 60... it's not so impossible)

I'll decide that later, usually I make wide possibility code then user-restrict only
at the end after working tests, it's much simpler and bug proof than forgetting
a "bAnimState[20]" with 100 possible ;) (=CTD with peoples that would try 21)

I'm at the "grab config line" code of the class yet, I'll see the details when I'll do the
"process anim & sound" part.

Dan
*Self thinking* Why two separate sounds slot for open/closed state ?
only one state play at a time, it would be even better if playing one state
stop/replace the other which is not valid any more... I'll do that !


---------- Post added at 06:25 PM ---------- Previous post was at 12:39 PM ----------

YEAAAAAAH !

The baby have cried for the first time: POD of the ShuttleA with only one line of config, it sound GREAT !

Dan<-happy
nagiro.gif


---------- Post added 10-20-12 at 03:54 AM ---------- Previous post was 10-19-12 at 06:25 PM ----------

Finished !
alandon.gif


ZERO C++ prog and you can change the 43 default sound of a vessel AND also
add animations sound included "Open/closed" voices.

Work flawlessly without delay or FPS impact on my computer.
I'll add all anim sound for default vessels as demo. (DG, Atlantis, ShuttleA)

For addon author it will be a breeze to add anim sound using this way.
The SDK will still serve for VC and specials sounds.

Fun stuff: you can also add sound to the VC switch if they move. (The ShuttleA have 16 animations for example)

---------- Post added at 12:23 PM ---------- Previous post was at 03:54 AM ----------

Working example of configuration file: ShuttleA sound anim done, 13 sounds and all VC switch "click" at their exact place.
misillsam.gif


Animation_1 =cPodMove.wav,cPodForward.wav,cPodRetro.wav,{0,0,0},RADIOPOS //pod
Animation_2 =cOuterDoorMove.wav,cOuterOpen.wav,cOuterClose.wav,{0,0,18.21},RADIOPOS //airlock outer
Animation_3 =cDoorMove.wav,cInnerOpen.wav,cInnerClose.wav,{0,0,18.21},RADIOPOS //airlock inner
AnimationStereo_4 =cGearMove.wav,cGearDown.wav,cGearUp.wav,{-2,0,6}{2,0,6},RADIOPOS //Gear

Animation_11 =,cSwitch.wav,cSwitch.wav,{-0.60,1.99,16.29}, ANIMPOS //VC switch
Animation_12 =,cSwitch.wav,cSwitch.wav,{-0.48,2.10,16.33}, ANIMPOS //VC switch
Animation_13 =,cSwitch.wav,cSwitch.wav,{-0.21,2.61,16.09}, ANIMPOS //VC switch
Animation_14 =,cSwitch.wav,cSwitch.wav,{-0.24,2.64,16.10}, ANIMPOS //VC switch
Animation_15 =,cSwitch.wav,cSwitch.wav,{-0.21,2.61,16.07}, ANIMPOS //VC switch
Animation_16 =,cSwitch.wav,cSwitch.wav,{-0.21,2.62,15.98}, ANIMPOS //VC switch
 
Last edited:

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
Sure, the animations sound are separate.



All in same time if you want.
Now I may put a limit how much declaration you can do, yet I made room for 100.
As I plan to check only 4 anim state per image (for performance concern) that may
put a 0.3 second delay for computer with 30 FPS at worse. (But only 0.06 second
with 8 animations at 30FPS)

But that would mean 300 sounds* loaded if all animation have played...
canaille.gif

Now I'm not sure that a vessel with 100 animation will be slowed by sound much
than simply by animations and the exploded model himself. (If I recall well the DGIV
have about 60... it's not so impossible)

I'll decide that later, usually I make wide possibility code then user-restrict only
at the end after working tests, it's much simpler and bug proof than forgetting
a "bAnimState[20]" with 100 possible ;) (=CTD with peoples that would try 21)

I'm at the "grab config line" code of the class yet, I'll see the details when I'll do the
"process anim & sound" part.

Dan
*Self thinking* Why two separate sounds slot for open/closed state ?
only one state play at a time, it would be even better if playing one state
stop/replace the other which is not valid any more... I'll do that !


---------- Post added at 06:25 PM ---------- Previous post was at 12:39 PM ----------

YEAAAAAAH !

The baby have cried for the first time: POD of the ShuttleA with only one line of config, it sound GREAT !

Dan<-happy
nagiro.gif


---------- Post added 10-20-12 at 03:54 AM ---------- Previous post was 10-19-12 at 06:25 PM ----------

Finished !
alandon.gif


ZERO C++ prog and you can change the 43 default sound of a vessel AND also
add animations sound included "Open/closed" voices.

Work flawlessly without delay or FPS impact on my computer.
I'll add all anim sound for default vessels as demo. (DG, Atlantis, ShuttleA)

For addon author it will be a breeze to add anim sound using this way.
The SDK will still serve for VC and specials sounds.

Fun stuff: you can also add sound to the VC switch if they move. (The ShuttleA have 16 animations for example)

---------- Post added at 12:23 PM ---------- Previous post was at 03:54 AM ----------

Working example of configuration file: ShuttleA sound anim done, 13 sounds and all VC switch "click" at their exact place.
misillsam.gif

Its enough to bring a tear to an addon devs eye :lol:. Well done Dan!
 

dansteph

Addon Developer
Addon Developer
Beta Tester
Joined
Apr 30, 2008
Messages
788
Reaction score
64
Points
28
Website
orbiter.dansteph.com
DEV NEWS INFORMATION

I provided a new config function to play dozen switch click using only 3 sound buffer:
3 load from disk instead of dozen.

The Doc and Code from the DeltaGlider.cfg
// Settings in configuration:
// --------------------------
// You have three versions of the parameter to declare animation sound:
...
...
...
// 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

It work nicely in the DeltaGlider's VC
rahsaan.gif


Here below for the addons dev that are interested the actual full working
DeltaGlider.cfg which show all parameters of config file (copy/past in a txt file for easy reading)

Code:
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 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

Technically: after several test I've pushed the test anim per frame to 10 (see two posts above), this
rate can be modified in the advanced config file but it work well.
I checked the deltaglider with my framerate limiter (16FPS), 4 check or 10 had no impact on
the framerate but with 4 the latency was high with sometime >0.500 second delay.
It doesn't matter so much for "move" sound but for click it was really not great.

With 10 there was almost no problem any more, anyway 16 FPS introduce so much latency
in every aspect that peoples that play with such low FPS should be used to a very slight delay.

On the other side, the high end computer, OrbiterSound is now limited to a maximum of 60hz*
this is the recommended rate for DirectSound 3D. It helps save cpu cycle for the simulation.
(I hate wasting them)

*Appart some code that need immediate refreshing to not introduce latency
 
Last edited:

dansteph

Addon Developer
Addon Developer
Beta Tester
Joined
Apr 30, 2008
Messages
788
Reaction score
64
Points
28
Website
orbiter.dansteph.com
DEV NEWS

I just released a public beta candidate, if my current testers give the OK I'll release it in the incoming days,
OS 4.0 is almost finished.

I'll accept anyone as beta tester but for simplicity I'll make the beta on my forum because of the post tag
system I have to keep track of bugs/requests/todo/done.

So if you want to beta test and if not done it's time to register here:
http://orbiter.dansteph.com/forum/register.php?lang=en

Send me a PM if you want to test, I'll add you in my PM "broadcast list"
http://orbiter.dansteph.com/forum/readmessage.php?action=post&to=2&name=DanSteph

It would be great to have addon developer as tester because this part was almost not tested apart by me.

Much thanks !
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
Hi Dan. I have some technical questions for OS:

1. What API do you use? If you use DirectSound[3D], are you aware that there is no hardware support for DS3D in Win Vista+? I'd suggest you to use OpenAL - because it works everywhere, use hardware acceleration and so on.
2. Are you planning to all EAX support to your 3D sound? Before you say "no", you should listen to it on 5.1+ system ;)
3. Do you keep all sounds in memory at all times once they were loaded?
4. Do you load same sounds multiple times if there are multiple vessels of same class (i.e. multiple DGIV's in the simulation session)?

Thanks for your answers!

---------- Post added at 10:56 ---------- Previous post was at 10:25 ----------

Oh, and I also would like to say a few words to those who don't like the fact that Dan refused to implement some features they think are "must-have" - just go ahead and implement them yourself! Sound devices are no longer aquired exclusively, so anyone can build a module that will work alongside OS, or even instead of OS!
So - you want global 3D sound? Do it! It's that simple!
 

Marvin42

Mostly Harmless
Joined
Nov 1, 2011
Messages
67
Reaction score
0
Points
6
Hi Dan. I have some technical questions for OS:

1. What API do you use? If you use DirectSound[3D], are you aware that there is no hardware support for DS3D in Win Vista+? I'd suggest you to use OpenAL - because it works everywhere, use hardware acceleration and so on.
2. Are you planning to all EAX support to your 3D sound? Before you say "no", you should listen to it on 5.1+ system ;)
There was a discussion here to why DS3D in Vista+ doesn't care about hardware acceleration and other missed features like EAX.
When DirectSound3D was cut, we lost the use of the advanced features of our Sound Blaster cards. Those advanced features can be broken down into these three points:
Hardware acceleration
EAX (Environmental Audio Extensions)
Accurate 3D positional audio and HRTF implementations.

Regarding hardware acceleration:
This was not a big loss. Hardware acceleration is not really necessary now that we have multi-core CPUs (performance hit might not even be noticeable).

Regarding EAX:
This was also not a big loss. EAX is nothing more than a library of DSP presets to simulate different environments. These sorts of effects have been replicated by various software-based middleware solutions.

Regarding accurate 3D positional audio and HRTF implementations:
THIS is where it all goes wrong in modern games. I don't know who I should blame for the lack of 3D positional audio in games. Perhaps game developers should be blamed for failing to show interest in this sort of technology. Perhaps audio middleware developers should be blamed for failing to include this sort of technology in their software.
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
There was a discussion here to why DS3D in Vista+ doesn't care about hardware acceleration and other missed features like EAX.

Yea I know that attitude - "we don't care 'cause it's not used anywhere". But in our case it will be used, so we will care :)
 

dansteph

Addon Developer
Addon Developer
Beta Tester
Joined
Apr 30, 2008
Messages
788
Reaction score
64
Points
28
Website
orbiter.dansteph.com
1. What API do you use? If you use DirectSound[3D], are you aware that there is no hardware support for DS3D in Win Vista+?

Yep but this isn't bad at all because hardware acceleration for sound is dismissed since a long time. In fact I had my hardest bug due to that.

Based on (old) doc I carefully dispatched the sound to hardware buffer given they was available or not, after all sort of mysterious bug on my machine and other testers machine and a big headache because all my code was 110% tested and all functions returning ok I found out that only those with hardware buffer where affected. The driver implementation or whatever was at fault and I found out later that the hardware support is outdated since a long time, most modern card don't have even hardware 3d buffer. (90% of testers, I checked with logs)

I'd suggest you to use OpenAL - because it works everywhere, use hardware acceleration and so on.

In fact this is not entirely true (for hardware acceleration, see above) but I'll not enter in detail, anyway OrbiterSound work anywhere (where work Orbiter) and there is almost no FPS drop. Hardware acceleration is dated form a time where our computer where very weak, yet computing sound is nothing for modern CPU.

2. Are you planning to all EAX support to your 3D sound? Before you say "no", you should listen to it on 5.1+ system ;)

It work on quadraphonic system already, yet I'll release all that because I can't work more than the 6 month I have worked on Orbiter this years, we may see for EAX later but if quadraphonic work I don't see what more would bring EAX ? (I don't believe reverb or surround can bring more than unrealistic sound, those that I've tested sounded pretty bad)

You'll see how it sound with the beta.

3. Do you keep all sounds in memory at all times once they were loaded?

No, only those of the focus ship. OS is highly optimised on many part.

4. Do you load same sounds multiple times if there are multiple vessels of same class (i.e. multiple DGIV's in the simulation session)?

No, see above.

Thanks for your answers!

You welcome.

---------- Post added 10-25-12 at 01:17 PM ---------- Previous post was 10-24-12 at 08:46 PM ----------

DEV NEWS

I added a parameter "PLAYWINDCOCKPITOPEN" available in C++ SDK AND in configuration file.

This will play the new planet wind sound and ground base sound even in internal view.
This mean that with UMmu you'll have the wind sound when you wear off your spacesuit
and that addons with moving cockpit as DGIV could also have also wind sound when
opening the cockpit.

The hell heaven is in detail ! :tiphat:

This said it would be cool if my call for beta tester (see 1st post) bring some peoples,
I wait a complete team to start test and release OS 4.0 quickly.
 
Last edited:

Marvin42

Mostly Harmless
Joined
Nov 1, 2011
Messages
67
Reaction score
0
Points
6
Oh, cool
applause.gif
. By the way, will it be possible to crack some windows (i mean the sound of it) at the airport if the DG starts its engines too close to the building?
 
Last edited:

dansteph

Addon Developer
Addon Developer
Beta Tester
Joined
Apr 30, 2008
Messages
788
Reaction score
64
Points
28
Website
orbiter.dansteph.com
Oh, cool
applause.gif
. By the way, will it be possible to crack some windows (i mean the sound of it) at the airport if the DG starts its engines too close to the building?

I'll do that when I'll do the bug's noise in the green grass... :lol: (without joke, the bug noise is already possible with
the ground base sound)

-------------------------------------------------------

Is the community dead here ? still only ONE beta tester from OF in 48 hours, that's really deceiving after so much work.

Wake up ! OrbiterSound 4.0 is a MAJOR SOUND REWORK: 3D sounds, per vessel sound, DX9&11 support,
almost all code and sounds reworked I think it deserve a bit of your time ! Also DGIV-3 and UCGO+Arrow Freighter wait
for OrbiterSound 4.0 to be released.

The beta will not start until the team is almost complete of at least with a descent amount of peoples.
(See 1st post to beta test here)

Thanks

Dan
 
Last edited:

Proximus

New member
Joined
Sep 23, 2011
Messages
172
Reaction score
0
Points
0
I will register tonight, I only have access to a really bad tablet right now. :facepalm:

Will jump on my decent PC as soon as I am home :thumbup:
 

PhantomCruiser

Wanderer
Moderator
Tutorial Publisher
Joined
Jan 23, 2009
Messages
5,603
Reaction score
168
Points
153
Location
Cleveland
I'd really love to test it, but work schedule is killing me. I wouldn't be able to do a proper job of it.
 

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
I'll do that when I'll do the bug's noise in the green grass... :lol: (without joke, the bug noise is already possible with
the ground base sound)

-------------------------------------------------------

Is the community dead here ? still only ONE beta tester from OF in 48 hours, that's really deceiving after so much work.

Wake up ! OrbiterSound 4.0 is a MAJOR SOUND REWORK: 3D sounds, per vessel sound, DX9&11 support,
almost all code and sounds reworked I think it deserve a bit of your time ! Also DGIV-3 and UCGO+Arrow Freighter wait
for OrbiterSound 4.0 to be released.

The beta will not start until the team is almost complete of at least with a descent amount of peoples who care.
(See 1st post to beta test here)

Thanks

Dan

Ill help beta-test this weekend if I can spare the time. I feel bad about not volunteering for it earlier, but I can only spare so much time right now. 1st year university really is'nt the best time to commit to lots of projects :shrug:. Would getting the Orbitersound wiki page up to date suffice as a start?
 
Top