Experimental:Audio Render CHOP

From Derivative
Jump to navigation Jump to search

Summary
[edit]

Note: For M1 Macs, this operator only works starting with build 2022.33910.

The Audio Render CHOP uses the Steam Audio SDK to spatially render audio based on the full transforms (translation, rotation, scale) of a listener and an audio source. The Audio Render CHOP takes sound audio sources as input, and spatially outputs the sound in the format specified from the Output Format parameter. The number of channels outputted by the Audio Render CHOP depends on the Output Format.

You specify a 3D component for the transform of the listener, plus a 3D component for the transform of a source.

The sample rate of the output is determined by the audio source, which must be either 44100 or 48000.

Look at the Audio Render CHOP example in Help -> Operator Snippets.

See also Oculus Audio CHOP.

PythonIcon.pngaudiorenderCHOP_Class


Parameters - Audio Render Page

Active active - Turns the Audio Render on or off.

Mode mode - - This menu determines which Steam Audio mode to use.
  • Simple Positional simple - Sound simulation for only a mono source.
  • Simulation simulation - Sound simulation for multiple sources.

Output Format outputformat - - The output format of the audio.
  • Binaural Binaural - Spatialize sound based on 3D position of source relative to listener.
  • Stereo stereo - Spatialize sound based on left and right channels.
  • Quadraphonic Surround quadraphonic - Spatialize sound based on front left, front right, rear left, and rear right channels.
  • 5.1 Surround fiveone - Spatialize sound based on front left, front right, front center, LFE, rear left, and rear right channels.
  • 7.1 Surround sevenone - Spatialize sound based on Ffont left, front right, front center, LFE, rear left, rear right, side left, and side right channels.
  • Custom Setup custom - Custom Setup requires use of the Mapping Table.
  • Ambisonics ambisonics - Ambisonics is a format for encoding three-dimensional 360 degree audio. The Ambisonics format used in the Audio Render CHOP is the 3rd order SN3D format consisting of 16 encoded channels (WXYZ, RSTUV, KLMNOPQ) that define the sphere of sound. Ambisonics is disabled in Simulation mode when reflections are enabled.
  • Direct Effect direct - Used in Simulation mode only to simulate sound based on the direct path between a point source and listener. Direct Effect is disabled when reflections are enabled.

Enable Attenuation attenuation - Attenuate the sound based on relative distance.

Ambisonics Order of the impulse responses generated. ambisonicsorder - Ambisonics order of the output buffer.

Mapping Table mappingtable - A DAT Table that specifies the various speakers in the setup and their position. The Table must have 3 columns named x, y, z. Each row specifies an individual speaker, and the 3 columns specify its position. Used with the Custom Setup Output Format. The mapping table will create one channel per row.

Listener Object COMP listenerobject - A COMP that represents the listening head. Must be a COMP that contains transform data, such as a Geometry or Camera COMP.

Source source - Sequence of the audio sources.

Object COMP source0object - A COMP that represents the source of the sound. Must be a COMP that contains transform data, such as a Geometry or Camera COMP.

Enable Directivity source0directivity - Turns directivity on or off.

Dipole Weight source0dipoleweight - The weight of the dipole to blend in the directivity pattern. 0 = pure omnidirectional, 1 = pure dipole, 0.5 = cardioid directivity pattern.

Dipole Power source0dipolepower - The sharpness of the dipole. Higher values make the sound direction narrower.


Parameters - Meshes Page

Update Meshes update - Sound simulations will automatically update changes to geometries when set to 1.

Update Meshes Pulse updatepulse - Instantly update changes to geometries.

Mesh mesh - Sequence of static meshes.

Mesh COMP mesh0object - The COMP for the mesh. COMPs must contain geometries in triangle polygon form. Meshes will only be added to the scene if the COMP's display flag is on.

Absorption mesh0absorb - - 3-band air absorption coefficients.
  • Absorption mesh0absorb1 - Absorption at low frequencies.
  • Absorption mesh0absorb2 - Absorption at medium frequencies.
  • Absorption mesh0absorb3 - Absorption at high frequencies.

Scattering mesh0scatter - Scatters sound in random directions for reflections. 0 = pure specular, 1 = pure diffuse.

Transmission mesh0trans - - 3-band EQ coefficients for transmission.
  • Transmission mesh0trans1 - Transmission at low frequencies.
  • Transmission mesh0trans2 - Transmission at medium frequencies.
  • Transmission mesh0trans3 - Transmission at high frequencies.


Parameters - Simulation Page

Enable Air Absorption airabsorb - Turns air absorption on or off for all sources.

Enable Occlusion occlusion - Turns occlusion on or off for all meshes.

Number of Surfaces numsurfaces - Maximum number of surfaces, starting from closest surface to the listener, whose transmission coefficients will be considered when calculating the total sound transmission.

Enable Reflection reflection - Turns reflection on or off for all meshes.

Diffuse Samples diffsamp - Number of directions to generate for reflecting rays.

Duration duration - Duration in seconds of the impulse responses generated.

Ambisonics Order refambixord - Ambisonics order of the impulse responses generated.

Number of Rays numrays - Number of rays to trace from the listener.

Number of Threads numthreads - Number of threads used for real-time reflection simulations.

Number of Bounces numbounces - Number of times each ray is reflected off a surface.

Irradiance Min Distance irmindist - The minimum distance used to calculate how much sound energy reaches a surface from a source.

Enable Bake enablebake - Turns baking on or off. Bake pulse must be pressed to start baking. Turning baking off will disable any bakes that are currently active. All parameters used for reflections will also be used for baking. Baking assumes that the listener stays static. Baking will not generate probes for any of the following reasons: Scene has no geometry, spawn box that does not contain any of the geometries in the scene, all probes generated lie outside of the spawn box, or all geometries are X-Y or Y-Z planar.

Bake bake - Immediately start baking. Once complete, reflections will automatically used the baked data.

Probes Distance probedist - The spacing bnetween two neighboring probes.

Y-Offset from Surface yoffset - The height above the surface of a geometry all probes will be generated at.

Size of Spawn Box size - - Size of the spawn box along the X, Y, and Z axes where probes will be generated.
  • Size of Spawn Box sizex -
  • Size of Spawn Box sizey -
  • Size of Spawn Box sizez -

Origin of Spawn Box origin - - These X,Y, and Z Values determine where the center of the spawn box is located.
  • Origin of Spawn Box originx -
  • Origin of Spawn Box originy -
  • Origin of Spawn Box originz -

Distance from Listener lstnrdist - The maximum distance from the listener where baked data will be stored for probes.

Save Duration savedur - Duration in seconds of the impulse responses saved at each probe.

Batch Size batchsize - Number of probes to bake simultaneously.


Parameters - Common Page

Time Slice timeslice - Turning this on forces the channels to be "Time Sliced". A Time Slice is the time between the last cook frame and the current cook frame.

Scope scope - To determine which channels get affected, some CHOPs use a Scope string on the Common page. See Pattern Matching.

Sample Rate Match srselect - - Handle cases where multiple input CHOPs' sample rates are different. When Resampling occurs, the curves are interpolated according to the Interpolation Method Option, or "Linear" if the Interpolate Options are not available.
  • Resample At First Input's Rate first - Use rate of first input to resample others.
  • Resample At Maximum Rate max - Resample to the highest sample rate.
  • Resample At Minimum Rate min - Resample to the lowest sample rate.
  • Error If Rates Differ err - Doesn't accept conflicting sample rates.

Export Method exportmethod - - This will determine how to connect the CHOP channel to the parameter. Refer to the Export article for more information.
  • DAT Table by Index datindex - Uses the docked DAT table and references the channel via the index of the channel in the CHOP.
  • DAT Table by Name datname - Uses the docked DAT table and references the channel via the name of the channel in the CHOP.
  • Channel Name is Path:Parameter autoname - The channel is the full destination of where to export to, such has geo1/transform1:tx.

Export Root autoexportroot - This path points to the root node where all of the paths that exporting by Channel Name is Path:Parameter are relative to.

Export Table exporttable - The DAT used to hold the export information when using the DAT Table Export Methods (See above).


Operator Inputs

  • Input 0: -


Info CHOP Channels

Extra Information for the Audio Render CHOP can be accessed via an Info CHOP.

Specific Audio Render CHOP Info Channels

  • audioposition_full_time -
  • audioposition_panbin_time -
  • distance_attenuation -

Common CHOP Info Channels

  • start - Start of the CHOP interval in samples.
  • length - Number of samples in the CHOP.
  • sample_rate - The samplerate of the channels in frames per second.
  • num_channels - Number of channels in the CHOP.
  • time_slice - 1 if CHOP is Time Slice enabled, 0 otherwise.
  • export_sernum - A count of how often the export connections have been updated.

Common Operator Info Channels

  • total_cooks - Number of times the operator has cooked since the process started.
  • cook_time - Duration of the last cook in milliseconds.
  • cook_frame - Frame number when this operator was last cooked relative to the component timeline.
  • cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
  • cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
  • cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
  • cooked_this_frame - 1 if operator was cooked this frame.
  • warnings - Number of warnings in this operator if any.
  • errors - Number of errors in this operator if any.


TouchDesigner Build:

CHOPs
Ableton Link • Analyze • Angle • Attribute • Audio Band EQ • Audio Binaural • Audio Device In • Audio Device Out • Audio Dynamics • Audio File In • Audio File Out • Audio Filter • Audio Movie • Audio NDI • Audio Oscillator • Audio Para EQ • Audio Play • Audio Render • Experimental:Audio Render • Audio Spectrum • Audio Stream In • Audio Stream Out • Audio VST • Audio Web Render • Beat • Bind • BlackTrax • Blend • Blob Track • Body Track • Bullet Solver • Clip Blender • Clip • Clock • Composite • Constant • Copy • Count • CPlusPlus • Cross • Cycle • DAT to • Delay • Delete • DMX In • DMX Out • Envelope • EtherDream • Event • Expression • Extend • Face Track • Fan • Feedback • File In • File Out • Filter • Experimental:Filter • FreeD In • FreeD Out • Function • Gesture • Handle • Helios DAC • Hog • Hokuyo • Hold • Import Select • In • Info • Interpolate • Introduction To s Vid • Inverse Curve • Inverse Kin • Join • Joystick • Keyboard In • Keyframe • Kinect Azure • Kinect • Lag • Laser • Laser Device • Leap Motion • Leuze ROD4 • LFO • Limit • Logic • Lookup • LTC In • LTC Out • Math • Merge • MIDI In • MIDI In Map • MIDI Out • MoSys • Mouse In • Mouse Out • Ncam • Noise • Null • OAK Device • OAK Select • Object • Oculus Audio • Oculus Rift • OpenVR • OptiTrack In • OSC In • OSC Out • Out • Override • Panel • Pangolin • Parameter • Pattern • Perform • Phaser • Pipe In • Pipe Out • PosiStageNet • Pulse • RealSense • Record • Rename • Render Pick • RenderStream In • Reorder • Replace • Resample • S Curve • Scan • Script • Select • Sequencer • Serial • Shared Mem In • Shared Mem Out • Shift • Shuffle • Slope • SOP to • Sort • Speed • Splice • Spring • Stretch • Stype In • Stype Out • Switch • Sync In • Sync Out • Tablet • Time Slice • Timecode • Timeline • Timer • TOP to • Touch In • Touch Out • Trail • Transform • Transform XYZ • Trigger • Experimental:Trigger • Trim • Warp • Wave • WrnchAI • ZED • Experimental:ZED