Post

Convolver

Overview

Convolver performs a linear convolution on a given AudioBuffer, often used to achieve a reverberation effect.

The Convolver node belongs to the Sound component and requires at least level 2, its default container field is children. It is available from X3D version 4.0 or higher.

Hierarchy

1
2
3
4
5
+ X3DNode
  + X3DChildNode
   + X3DTimeDependentNode
     + X3DSoundProcessingNode
       + Convolver

Fields

SFNode [in, out] metadata NULL [X3DMetadataObject]

Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.

Hint

SFString [in, out] description “”

Author-provided prose that describes intended purpose of the url asset.

Hint

  • Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for “ quotation-mark character).

SFBool [in, out] enabled TRUE

Enables/disables node operation.

SFInt32 [in, out] numberOfChannels 0 [0,∞)

Input/Output field numberOfChannels.

MFFloat [in, out] buffer [ ] [−1,1]

buffer is a memory-resident audio asset that can contain one or more channels. buffer data format is non-interleaved 32-bit floating-point linear PCM values with a normal range of [−1,1], but values are not limited to this range.

Hint

SFFloat [in, out] gain 1 (-∞,∞)

The gain field is a factor that represents the amount of linear amplification to apply to the output of the node.

Hint

  • Negative gain factors negate the input signal.

Warning

  • Decibel values shall not be used.

SFTime [in, out] tailTime 0 [0,∞)

tailTime is duration of time that a node continues to provide output signal after the input signal becomes silent.

SFBool [in, out] normalize FALSE

normalize controls whether or not the impulse response from the buffer is scaled by an equal-power normalization when the buffer field is set

SFInt32 [in, out] channelCount

channelCount reports number of channels provided by input nodes.

Hint

SFString [in, out] channelCountMode “MAX” [“MAX”, “CLAMPED-MAX”, “EXPLICIT”]

channelCountMode determines how individual channels are counted when up-mixing and down-mixing connections to any inputs.

Hint

SFString [in, out] channelInterpretation “SPEAKERS” [“SPEAKERS”, “DISCRETE”]

channelInterpretation determines how individual channels are treated when up-mixing and down-mixing connections to any inputs.

Hint

SFTime [in, out] startTime 0 (-∞,∞)

Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.

Hint

  • ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.

SFTime [in, out] resumeTime 0 (-∞,∞)

When resumeTime becomes <= time now, isPaused becomes false and AudioClip becomes active. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.

Hint

  • ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.

SFTime [in, out] pauseTime 0 (-∞,∞)

When time now >= pauseTime, isPaused becomes true and AudioClip becomes paused. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.

Hint

  • ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.

SFTime [in, out] stopTime 0 (-∞,∞)

Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.

Hint

  • ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.

Warnings

  • An active TimeSensor node ignores set_cycleInterval and set_startTime events.
  • An active TimeSensor node ignores set_stopTime event values less than or equal to startTime.

SFBool [out] isPaused

isPaused true/false events are sent when AudioClip is paused/resumed.

Warning

  • It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.

SFBool [out] isActive

isActive true/false events are sent when playback starts/stops.

Warning

  • It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.

SFTime [out] elapsedTime

Current elapsed time since AudioClip activated/running, cumulative in seconds, and not counting any paused time.

Hint

  • elapsedTime is a nonnegative SFTime duration interval, not an absolute clock time.

Warning

  • It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.

MFNode [in, out] children [ ] [X3DSoundChannelNode,X3DSoundProcessingNode,X3DSoundSourceNode]

The children field specifies audio-graph sound sources providing input signals for this node. If multiple input signals are provided by the inputs children field, all channels are mixed together and merged prior to presentation.

Hint

  • Can be original (DEF) or referenced (USE) nodes.

Warning

  • Contained AudioClip or MovieTexture nodes must have containerField='children' to override otherwise-incorrect defaults.

Advice

Hints

  • Potential modifications include chorus effects, reverberation, and telephone-like speech.
  • W3C Web Audio API

See Also

This post is licensed under CC BY 4.0 by the author.