Post

Analyser

Analyser

Overview

Analyser provides real-time frequency and time-domain analysis information, without any change to the input.

The Analyser 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
       + Analyser

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] fftSize 2048 [0,∞)

fftSize represents size of Fast Fourier Transform (FFT) used to determine frequency domain.

Hint

SFFloat [in, out] minDecibels -100 (-∞,∞)

minDecibels represents minimum power value in scaling range for FFT analysis data.

SFFloat [in, out] maxDecibels -30 (-∞,∞)

maxDecibels represents maximum power value in scaling range for FFT analysis data.

SFFloat [in, out] smoothingTimeConstant 0.8[0,∞)

smoothingTimeConstant represents averaging constant during last analysis frame.

SFInt32 [out] frequencyBinCount 1024 [0,∞)

frequencyBinCount is half of fftSize and generally equates to number of data values available for the visualization.

MFInt32 [out] byteFrequencyData

Output field byteFrequencyData.

MFInt32 [out] byteTimeDomainData

Output field byteTimeDomainData.

MFFloat [out] floatFrequencyData

Output field floatFrequencyData.

MFFloat [out] floatTimeDomainData

Output field floatTimeDomainData.

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.

Hint

  • tailTime always has a value of zero for Analyser.

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

Hint

See Also

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