Skip to content
Voro
  1. Audio
  2. Other

Render

Render turns positioned sources into speaker feeds and a binaural headphone mix. It calculates direct sound, room reflections, occlusion and reverb around a listener. Room describes the acoustic space, Speakers describes the loudspeaker positions, and Emitters supply the sources.

Place Render from the Audio view of the Voro menu, under Other. Connect an Emitter’s bus to objects and its states to emitters. Connect Room’s scene and Speakers’ layout to the matching inputs. Route out to a multichannel output chain, or listen to binaural in headphones.

Set Listenerx, Listenery and Listenerz inside the room. Move an Emitter to hear its direction and distance change. A connected listener-pose stream supplies tracked position and heading in place of those controls.

All inputs are optional.

  • objects carries source audio, usually the bus from the final Emitter.
  • emitters carries positions and controls for those sources.
  • layout carries the speaker positions from Speakers.
  • scene carries the acoustic space from Room.
  • listener carries a tracked listener pose.
  • bed adds an existing multichannel mix to the matching speaker output channels.
  • out produces multichannel speaker audio. binaural produces stereo headphone audio.
  • Panner selects VBAP for direction-based speaker panning or DBAP for distance-based panning.
  • Binaural enables the headphone mix. Heading turns the listener, in degrees.
  • Listenerid selects a tracked listener. -1 accepts any listener ID.
  • Order selects direct sound only, first reflections or second reflections.
  • Roomw, Roomh, Roomd, Rt60, Rthf, Reflection and Occluders describe the fallback room when no scene is connected.
  • Rt60scale, Reflectiontrim and Walllpscale adjust decay, reflection level and reflection filtering, including when Room supplies the scene.
  • Occlusionsoft adjusts how strongly obstacles block sound. Reverb sets the late reverb level and Gain sets the output level.
  • Maxobjects limits the number of sources processed, up to 64. Set it high enough to include the slots used by your Emitters.

Without a speaker layout, Render creates a default ring. Use Speakers to match a physical installation. Binaural uses a parametric headphone model. The multichannel bed goes to the speaker outputs, so use out when checking that input.

Inputs

  • objects row
    audio_pcm_f32_multi_v1audio_pcm_f32_mono_v1audio_pcm_f32_stereo_v1
  • emitters row
    emitter_state_v1
  • layout row
    speaker_layout_v1
  • bed row
    audio_pcm_f32_multi_v1
  • scene row
    acoustic_scene_v1
  • listener row
    listener_pose_v1

Outputs

  • out row
    audio_pcm_f32_multi_v1
  • binaural row
    audio_pcm_f32_stereo_v1
Roomw (Roomw) Float op('space_render').par.Roomw
Default:
8
Range:
1 to 100
Roomh (Roomh) Float op('space_render').par.Roomh
Default:
3.5
Range:
1 to 100
Roomd (Roomd) Float op('space_render').par.Roomd
Default:
6
Range:
1 to 100
Rt60 (Rt60) Float op('space_render').par.Rt60
Default:
0.9
Range:
0.1 to 12
Rthf (Rthf) Float op('space_render').par.Rthf
Default:
0.45
Range:
0.1 to 1
Reflection (Reflection) Float op('space_render').par.Reflection
Default:
0.68
Range:
0 to 0.95
Order (Order) Menu op('space_render').par.Order
Default:
first
Options:
direct, first, second
Occluders (Occluders) Str op('space_render').par.Occluders
Default:
"" (Empty String)
Occlusionsoft (Occlusionsoft) Float op('space_render').par.Occlusionsoft
Default:
0.5
Range:
0 to 1
Listenerx (Listenerx) Float op('space_render').par.Listenerx
Default:
4
Range:
-100 to 100
Listenery (Listenery) Float op('space_render').par.Listenery
Default:
1.6
Range:
-100 to 100
Listenerz (Listenerz) Float op('space_render').par.Listenerz
Default:
3
Range:
-100 to 100
Heading (Heading) Float op('space_render').par.Heading
Default:
0
Range:
-180 to 180
Listenerid (Listenerid) Int op('space_render').par.Listenerid
Default:
-1
Range:
-1 to 63
Panner (Panner) Menu op('space_render').par.Panner
Default:
vbap
Options:
vbap, dbap
Binaural (Binaural) Toggle op('space_render').par.Binaural
Default:
On
Options:
Off, On
Rt60scale (Rt60scale) Float op('space_render').par.Rt60scale
Default:
1
Range:
0.05 to 8
Reflectiontrim (Reflectiontrim) Float op('space_render').par.Reflectiontrim
Default:
0
Range:
-1 to 1
Walllpscale (Walllpscale) Float op('space_render').par.Walllpscale
Default:
1
Range:
0.1 to 4
Gain (Gain) Float op('space_render').par.Gain
Default:
0.8
Range:
0 to 2
Reverb (Reverb) Float op('space_render').par.Reverb
Default:
1
Range:
0 to 2
Maxobjects (Maxobjects) Int op('space_render').par.Maxobjects
Default:
16
Range:
1 to 64