Audio

Last validated: 2026-05-05

Oden audio streaming is configured in the Streamer Output panel and in the Player Remote Streamer entity. Use Send on the side with the microphone and Receive on the side with the speakers.

Configure vehicle audio to the operator

Use this for the common one-way setup where the Streamer sends vehicle audio to the Player.

  1. On the Streamer, open Output.

  2. Open Audio Streaming.

  3. In Send, enable Auto Start if the microphone should start when the project opens.

  4. Enable Use Default or select the capture Device. When the build exposes Capture Source, use System for normal operating-system audio devices and a project-specific source only when that source has been validated.

  5. Keep Period at 10.0 ms, 480 frames when using Audio Processing.

  6. Keep Mode as VBR unless a fixed audio bitrate is required.

  7. Set Target Bitrate; the default 64 kbps is enough for most speech and ambient audio.

  8. Select Start Sending.

  9. On the Player, select the Remote Streamer entity.

  10. Open Audio.

  11. In Receive, enable Auto Start if playback should start when the project opens.

  12. Select Start Receiving.

  13. Adjust Volume while receiving.

The receiver uses the default audio playback device. Change the operating-system default output device before starting Oden when the wrong speakers are used.

Configure two-way audio

Use two-way audio when the operator must talk back to the vehicle.

  1. Configure vehicle-to-operator audio as above.

  2. On the Player Remote Streamer entity, open Audio.

  3. In Send, select the operator microphone and select Start Sending.

  4. On the Streamer, open Output then Audio Streaming.

  5. In Receive, select Start Receiving.

  6. Test both directions separately before enabling Auto Start on both sides.

Two-way audio uses the same network links as video. If one direction works and the other does not, check the responder ports, firewall rules, and link mode on both projects.

Tune audio processing

Open Audio Processing on the sending side.

  • Enable Audio Processing for microphone audio where echo, noise, or level changes are expected.

  • Set Echo Cancellation to Moderate first; raise it only if speaker echo remains.

  • Set Noise Suppression to Low first; higher values can make machinery or speech sound unnatural.

  • Increase Compression Gain only when the microphone is consistently too quiet.

Audio processing requires Period to be 10.0 ms, 480 frames. Oden shows a warning when audio processing is enabled with another period.

Tune receive stability

Use these settings when playback is choppy or the network reorders packets.

  1. Increase Receive Buffer first; the default is 90 ms. Larger values tolerate jitter but add latency.

  2. Enable Reorder Buffer only when packet reordering is suspected.

  3. Increase Reorder Packets gradually from the default 5.

  4. Increase Max Invalid Packets In A Row only when streams restart or reorder heavily and valid audio is rejected. Invalid packets are usually packets that are too old for the current audio timeline.

  5. Re-test with Show Stats enabled and watch period, decode time, and bitrate.

Prefer fixing network loss and jitter before adding large audio buffers.

Linux audio setup

On Linux, Oden uses PulseAudio and normally follows the desktop user’s default audio input and output devices. Configure those devices in the operating system sound settings before starting Oden.

The default audio latency is 10 ms. If a Linux setup needs a different PulseAudio latency, set PULSE_LATENCY_MSEC before launching the application:

PULSE_LATENCY_MSEC=20 oden-vr

If Player or Streamer is intentionally running as root, PulseAudio may need to run system-wide. That is a system administration choice with security tradeoffs; prefer running the Player as a normal user unless the deployment requires root. For the upstream PulseAudio guidance, see PulseAudio system-wide mode.

Project-file names

Audio settings are stored as RealtimeAudioSettings. In Streamer projects, the output audio settings are under audio_streamer_settings. In Player projects, the Remote Streamer entity stores them under realtime_audio_settings.

audio_streamer_settings : {
    auto_start_sender : true;
    auto_start_receiver : false;
    enable_audio_processing : true;
    buffer_limit_ms : 90;
    encoder_settings : {
        bitrate : 64000;
        period : "p_e_r_i_o_d_480";
    };
};

Prefer changing audio settings in the Oden UI. Edit .vproj files directly only when applying the same known settings to many projects.