Skip to main content

Car Sound Simulator API 2026 R1

Car Sound Simulator - OSC Messages

Last update: 09.03.2026

Car Sound Simulator is driven by OSC MESSAGES sent over UDP, with each action associated with one message. The action name is a KEYWORD, followed by some OSC ARGUMENTS.

Basic management messages

Basic management for the sound generator.

Messages sent once by state change

KEYWORD (Address Pattern) TYPE Comments
INIT_DATAPATH String Data initialization: Data path
INIT_CONFIGFILE String Data initialization: File name
DSP_START   Starts the CSS Audio Engine
DSP_STOP   Stops the CSS Audio Engine (sound off)
START_KEY Integer Position of the start key :
  • 0 : off
  • 1 : contact
  • 2 : on
  • 3 : start

Messages sent regularly

KEYWORD (Address Pattern) TYPE Comments
SPEED Float (m/s) Absolute vehicle speed
RPM Float (rev/min) Engine speed (revolutions per minute)
CHARGE Float (between 0. and 1.) Throttle load
OUTPUT_TYPE String Audio output configuration:
  • "Stereo"
  • "2.1"
  • "4.1"
  • "4.0"
    • "Binaural"
    • "Transaural"
SCANMAX_VERSION String Unused

Traffic noise management

The exploiting application handles up to 8 traffic vehicles, corresponding to 8 possible synthesis slots. These 8 vehicles must be chosen by the simulator depending on their contribution to the sound scene, for example by selecting the closest ones.

Angles are in radians, 0 is a front source, -pi/2 is left, +pi/2 is right. Angles greater than pi or less than -pi are accepted.

Note that the specified traffic vehicle speed only serves sound source synthesis. It does not affect the Doppler effect, which is only controlled by the successive relative positions set with the TRAFIC_UPDATE message.

Messages sent once by state change

KEYWORD (Address Pattern) TYPE Comments
TRAFIC_INIT Slot index (int)
Vehicle type (int)
Distance (float in m)
Azimuth (in rad)
Absolute speed (float in m/s)
Traffic synthesis initialization at slot index.
(1<=slot index<=8)
Type:
  • 0 = unknown
  • 1 = car
  • 2 = truck/bus
  • 3 = motorbike
TRAFIC_STOP Slot index (int) Traffic sound synthesis stopped at slot index (1<=slot index<=8)

Messages sent regularly

KEYWORD (Address Pattern) TYPE Comments
TRAFIC_UPDATE Slot (int)
Distance (float, in m)
Azimuth (float, in rad)
Speed (float, in m/s)
Update of the traffic vehicle characteristics (distance, azimuth, speed) at slot index
(1<=slot index<=8).

Harmonic sources management

The application handles up to 10 harmonic sources. Each of them can be controlled with the following messages:

Messages sent once by state change

KEYWORD (Address Pattern) TYPE Comments
RPM_USER_1 Value (int) 1st specific RPM for a dedicated harmonic source
RPM_USER_2 Value (int) 2nd specific RPM for a dedicated harmonic source
RPM_USER_3 Value (int) 3rd specific RPM for a dedicated harmonic source
RPM_USER_4 Value (int) 4th specific RPM for a dedicated harmonic source
RPM_USER_5 Value (int) 5th specific RPM for a dedicated harmonic source
RPM_USER_6 Value (int) 6th specific RPM for a dedicated harmonic source
RPM_USER_7 Value (int) 7th specific RPM for a dedicated harmonic source
RPM_USER_8 Value (int) 8th specific RPM for a dedicated harmonic source
RPM_USER_9 Value (int) 9th specific RPM for a dedicated harmonic source
RPM_USER_10 Value (int) 10th specific RPM for a dedicated harmonic source
HS_AZIM ID (int) Value (int) ID is the number of the specific harmonic source. Value is the azimuth angle in degrees for the spatial positioning of the source (between -180° and 180°).
HS_VOL ID (int) Value (int) ID is the number of the specific harmonic source. Value is a gain value in dB applied to that source (between -15 and +15 dB).
HS_WIDTH ID (int) Value (int) ID is the number of the specific harmonic source. Value is the coefficient of diffuseness of the source, between 0 and 100% (0% means the source has no diffuseness, it can be perceived from a specific direction, 100% means the source is totally diffuse, it is perceived as surrounding and coming from all speakers with the same energy).

Tire noises of the main vehicle

Tire noise has to be updated for each wheel by providing information about the current slippiness.

Messages sent once by state change

KEYWORD

(Address Pattern)

TYPE COMMENTS

GROUND_INDEX

int (0-3)

0 = asphalt, 1 = concrete, 2 = grass, 3 = cobblestone

SCREECH

float x8

4 x wheel slipping intensity between -1 and 1.

(float in this order : front left, front right, rear left, rear right)

4 x slipping angle of each wheel in radians (2*pi-periodic)

(float in this order : front left, front right, rear left, rear right)

For example: SCREECH 0.2 0.2 0.15 0.15 0.4 0.4 0.1 0.1

WHEEL_ ADHERENCE

int + float x4

4 pairs composed of an int (wheel index) and a float (wheel stickiness coefficient)

Wheel indexes are 0, 1, 2, and 3, for front-left, front-right, rear-left, and rear-right wheels, respectively.

Wheel stickiness coefficient range is between 0 and 1.

For example: WHEEL_ADHERENCE 0 0.1 1 0.3 2 0.7 3 0.7

0.7 < float stickiness coefficient < 1 : dry

0.2 < float stickiness coefficient < 0.7 : wet

0.1 < float stickiness coefficient < 0.2 : snowy

Weather management

Weather noise management.

Messages sent once by state change

KEYWORD (Address Pattern) TYPE COMMENTS
WEATHER_RAIN int (0-100) % rain
WEATHER_WIND int (0-100) % wind

Additional noises

Loading orders of additional simulation noises.

Messages sent once by state change.

KEYWORD (Address Pattern) TYPE COMMENTS
MOTOR_PARTIALS string .motor file to load (path must include slashes '/' instead of '\')
MOTOR_NOISE string .noise file to load (path must include slashes '/' instead of '\')
AERO_NOISE string .noise file to load (path must include slashes '/' instead of '\')
ROLLING_NOISE string .noise file to load (path must include slashes '/' instead of '\')
STARTER_MOTOR string wav file corresponding to the engine starting noise
HORN 0 or 1 Triggers the built-in horn sound (sawtooth signal). Note that the sound is triggered on onsets only; several 1s sent in a row only trigger the sound once.
INDICATORS 0 or 1 Plays the built-in turn indicator sound. 0=off; 1=on.

Sound files playing

Supported functions:

  • sendSoundLoad : loads a sound
  • sendSoundPlay : plays a sound (looping available)
  • sendSoundStop : stops a sound play
  • sendSoundPause : pauses a sound play
  • sendSoundVolume : sets the sound volume

There are 10 available slots for sound playback in Car Sound Simulator. The main simulation application has to manage the slot index availabilities.

Notes:

  • the slots indexes are >=1 and <=10
  • .wav extension is appended to the file name

Messages sent once by state change

KEYWORD (Address Pattern) TYPE COMMENTS
SOUND_LOAD Sound id (int, 0<id<32765) Loads a file to play with the specified id.
File name (string)
SOUND_PLAY Slot index (int)

Starts playing the sound <Sound id> at slot <Slot index>.

TypeSpat: 0 = not localized, 1=attached to a vehicle, 2 = attached to a point.

Gain is linear (directly multiplied with the signal).

Azimuth in radians, Distance and DistanceMax in meters. DistanceMax corresponds to the distance from the source where it can no longer be heard.

Sound id (int)
Play in loop (1 or 0)
Gain (float)
TypeSpat (int)
Azimuth (float, in rad)
Distance (float, in m)
DistanceMax (float, in m)
SOUND_STOP Slot index (int) Stops playing the specified slot's sound.
SOUND_PAUSE Slot index (int) Pauses the playback of the specified slot's sound.
SOUND_RESUME Slot index (int) Resumes the specified slot's sound playback.
SOUND_VOLUME Slot index (int) Changes the volume of the specified slot's sound. The gain is linear (value directly multiplied with the signal).
Gain (float)
SOUND_UPDATE_POSITION Slot index (int) Updates the position of the sound at slot <Slot index>.
Azimuth (float, in rad)
Distance (float, in m)

Error and warning messages

Messages sent to the main simulation application when required.

Messages sent once by state change

KEYWORD (Address Pattern) TYPE COMMENTS
WARNING String Sends a warning message
ERROR String Sends an error message

Start, stop, state management

The main simulation application has to start and stop Car Sound Simulator.

Message sent periodically to the main application.

KEYWORD (Address Pattern) TYPE COMMENTS
ALIVE - Indicates that Car Sound Simulator is still running

Head-tracking

Message sent to locate the position of the listener's head for head-tracked binaural rendering.

Message sent periodically to the main application

KEY WORD

(Address Pattern)

TYPE COMMENTS
HEAD-POSITION

X (float) Y (float) Z (float)

rotZ (float) rotY (float) rotX (float)

Position of the listener's head in space.

Distances are in meters, angles in radians.

X points to the front.

Y points to the right, Z points below.

The azimuth angle is then rotZ, with a positive angle when the listener turns their head to the right.

Elevation angle is then rotY with a positive angle when the listener raises their head.

Connect with Ansys