1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
|
3 | <X3D profile='Immersive' version='4.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'> |
4 | <head> |
5 | <component level='3' name='Sound'/> |
6 | <meta name='title' content=' AllAudioGraphNodesTest.x3d '/> |
7 | <meta name='description' content='List of all X3D4 audio graph nodes to test authoring tools and validation support. Each of the sound nodes shown here receives signal input from its children nodes, and provides signal output to its parent node.'/> |
8 | <meta name='creator' content='Don Brutzman'/> |
9 | <meta name='created' content='25 October 2020'/> |
10 | <meta name='modified' content='27 August 2025'/> |
11 | <meta name='info' content='Developmental test, no actual audio model is produced'/> |
12 | <meta name='Sound' content='sound/saxophone.ogg' /> |
13 | <meta name='Sound' content=' sound/saxophone.mp3 ' /> |
14 | <meta name='Sound' content=' sound/saxophone.wav ' /> |
15 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.x3d '/> |
16 | <meta name='generator' content='X3D-Edit 4.0, https://savage.nps.edu/X3D-Edit'/> |
17 | <meta name='license' content='../license.html'/> |
18 | </head> |
19 | <Scene> |
20 | <WorldInfo title='AllAudioGraphNodesTest.x3d'/> |
21 | <Shape> |
22 | <Box/> |
23 | <Appearance> |
24 | <AcousticProperties DEF='TestAcousticProperties' absorption='0.11' description='hello AcousticProperties' diffuse='0.22' enabled='false' refraction='0.33' specular='0.44'/> |
25 | <Material/> |
26 | </Appearance> |
27 | </Shape> |
28 | <Sound DEF='TestSound' description='hello Sound' direction='0 0 1.2' enabled='false' intensity='0.99' location='0.1 1.6 0.1' maxBack='10.1' maxFront='10.2' minBack='1.3' minFront='1.4' priority='0.01' spatialize='false'> |
29 | <!-- TODO fix missing canonicalization of gain='1' --> |
30 |
<!-- ROUTE information for TestAudioClip node:
[from TestTimeSensor.cycleTime to startTime
]
-->
<AudioClip DEF='TestAudioClip' autoRefresh='100' autoRefreshTimeLimit='1000' description='hello AudioClip' enabled='false' gain='1.2' pauseTime='5' pitch='3.4' resumeTime='6' startTime='7' stopTime='8' url=' "sound/saxophone.ogg " "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/sound/saxophone.ogg" "sound/saxophone.mp3" "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/sound/saxophone.mp3" "sound/saxophone.wav" "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/sound/saxophone.wav" '/> |
31 | <!-- ROUTE connections do not pass validation if provided within a chain of audio nodes. --> |
32 | </Sound> |
33 | <!-- Any ROUTE connections must follow DEF nodes being connected. --> |
34 |
<!-- ROUTE information for TestTimeSensor node:
[from cycleTime to TestAudioClip.startTime
]
-->
<TimeSensor DEF='TestTimeSensor' cycleInterval='2' description='hello TimeSensor' enabled='false' loop='true' pauseTime='3' resumeTime='4' startTime='5' stopTime='6'/> |
35 | < ROUTE fromNode='TestTimeSensor' fromField='cycleTime' toNode='TestAudioClip' toField='startTime'/> |
36 | <!-- Each of the following sound nodes receives signal input from its children nodes, and provides signal output to its parent node. --> |
37 | <SpatialSound DEF='TestSpatialSound' coneInnerAngle='3.14' coneOuterAngle='3.15' coneOuterGain='0.5' description='hello SpatialSound' direction='2 3 4' distanceModel='EXPONENTIAL' dopplerEnabled='true' enableHRTF='true' enabled='false' gain='1.1' intensity='0.5' location='6 7 8' maxDistance='20000' priority='0.9' referenceDistance='10' rolloffFactor='11' spatialize='false'> |
38 | <Analyser DEF='TestAnalyser' channelCountMode='EXPLICIT' channelInterpretation='DISCRETE' description='hello Analyser' fftSize='2049' gain='0.99' maxDecibels='-31' minDecibels='-101' pauseTime='6' resumeTime='7' smoothingTimeConstant='0.88' startTime='8' stopTime='9'> |
39 | <AudioDestination DEF='TestAudioDestination' channelCountMode='EXPLICIT' channelInterpretation='DISCRETE' description='hello AudioDestination' enabled='false' gain='1.1' mediaDeviceID='ABC345'> |
40 | <BiquadFilter DEF='TestBiquadFilter' description='hello BiquadFilter' detune='0.5' enabled='false' frequency='1000' gain='2' pauseTime='3' resumeTime='4' startTime='5' stopTime='6' tailTime='7' type='ALLPASS'> |
41 | <ChannelMerger DEF='TestChannelMerger' channelCountMode='EXPLICIT' channelInterpretation='DISCRETE' description='hello ChannelMerger' enabled='false' gain='123'> |
42 | <ChannelSelector DEF='TestChannelSelector' channelCountMode='CLAMPED_MAX' channelInterpretation='DISCRETE' channelSelection='1' description='hello ChannelSelector' enabled='false' gain='2'> |
43 | <ChannelSplitter DEF='TestChannelSplitter' channelCountMode='EXPLICIT' channelInterpretation='DISCRETE' description='hello ChannelSplitter' enabled='false' gain='789'> |
44 | <Convolver DEF='TestConvolver' buffer='0 1 2 3' channelCountMode='CLAMPED_MAX' channelInterpretation='DISCRETE' description='hello Convolver' enabled='false' gain='4' normalize='true' pauseTime='5' resumeTime='6' startTime='7' stopTime='8' tailTime='9'> |
45 | <Delay DEF='TestDelay' channelCountMode='CLAMPED_MAX' delayTime='2' description='hello delay' enabled='false' gain='4' maxDelayTime='3' pauseTime='5' resumeTime='6' startTime='7' stopTime='8' tailTime='9'> |
46 | <DynamicsCompressor DEF='TestDynamicsCompressor' attack='0.00333' description='hello DynamicsCompressor' enabled='false' gain='2' knee='10' pauseTime='3' ratio='11' release='12' resumeTime='4' startTime='5' stopTime='6' tailTime='7' threshold='-100'> |
47 | <Gain DEF='TestGain' channelCountMode='EXPLICIT' channelInterpretation='DISCRETE' description='hello gain' enabled='false' gain='-2' pauseTime='2' resumeTime='3' startTime='4' stopTime='5' tailTime='1'> |
48 | <StreamAudioDestination DEF='TestStreamAudioDestination' channelCountMode='CLAMPED_MAX' channelInterpretation='DISCRETE' description='hello StreamAudioDestination' enabled='false' gain='0' mediaDeviceID='abc123' streamIdentifier='"unique ID" "part 2"'> |
49 | <WaveShaper DEF='TestWaveShaper' channelCountMode='CLAMPED_MAX' channelInterpretation='DISCRETE' curve='1 2 3 4' description='hello WaveShaper' enabled='false' gain='5' pauseTime='6' resumeTime='7' startTime='8' stopTime='9' tailTime='10'> |
50 | <!-- The following X3DSoundSourceNode nodes have no allowed audio-graph children nodes as inputs --> |
51 | <BufferAudioSource DEF='TestBufferAudioSource' autoRefresh='1' autoRefreshTimeLimit='2' buffer='3 4 5' bufferDuration='6' channelCountMode='CLAMPED_MAX' channelInterpretation='DISCRETE' description='hello BufferAudioSource' detune='7' enabled='false' gain='8' load='false' loop='true' loopEnd='12' loopStart='12' numberOfChannels='12' pauseTime='13' playbackRate='14' resumeTime='15' sampleRate='16' startTime='17' stopTime='18' url=' "sound/saxophone.mp3" "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/sound/saxophone.mp3" '/> |
52 | <ListenerPointSource DEF='TestListenerPointSource' description='hello ListenerPointSource' dopplerEnabled='true' enabled='false' gain='0.1' interauralDistance='2' orientation='6 7 8 0.9' pauseTime='10' position='3 4 5' resumeTime='11' startTime='12' stopTime='13' trackCurrentView='true'/> |
53 | <MicrophoneSource DEF='TestMicrophoneSource' description='hello MicrophoneSource' enabled='false' gain='0.12' mediaDeviceID='345XYZ' pauseTime='6' resumeTime='7' startTime='8' stopTime='9'/> |
54 | <OscillatorSource DEF='TestOscillatorSource' description='hello OscillatorSource' detune='1' enabled='false' frequency='234' gain='5' pauseTime='6' resumeTime='7' startTime='8' stopTime='9'> |
55 | <PeriodicWave DEF='TestPeriodicWave' description='hello PeriodicWave' optionsImag='0 1 2 3 5' optionsReal='5 6 7 8 9' type='CUSTOM' containerField='periodicWave'/> |
56 | </OscillatorSource> |
57 | <StreamAudioSource DEF='TestStreamAudioSource' channelCountMode='EXPLICIT' channelInterpretation='DISCRETE' description='hello StreamAudioSource' enabled='false' gain='1.2' pauseTime='6' resumeTime='7' startTime='8' stopTime='9' streamIdentifier='"345 XYZ"'/> |
58 | </WaveShaper> |
59 | </StreamAudioDestination> |
60 | </Gain> |
61 | </DynamicsCompressor> |
62 | </Delay> |
63 | </Convolver> |
64 | </ChannelSplitter> |
65 | </ChannelSelector> |
66 | </ChannelMerger> |
67 | </BiquadFilter> |
68 | </AudioDestination> |
69 | </Analyser> |
70 | </SpatialSound> |
71 | </Scene> |
72 | </X3D> |
Event Graph ROUTE Table with 1 ROUTE connection total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
TestTimeSensor
TimeSensor cycleTime SFTime |
TestAudioClip
AudioClip startTime SFTime |
<!--
Color-coding legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->