@prefix :        <https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.ttl#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema:  <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix x3d:     <https://www.web3d.org/specifications/x3d-4.0.xsd#> .
@prefix x3do:    <https://www.web3d.org/specifications/X3dOntology4.0#> .

:X3D a owl:NamedIndividual, x3do:X3D ;
  x3do:hasHead :head ;
  x3do:hasScene :Scene ;
  x3do:profile 'Immersive' ;
  x3do:version '4.0' ;
  x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-4.0.xsd' .
:head a owl:NamedIndividual, x3do:head ;
  x3do:hasParent :X3D ;
  x3do:hasComponent :component_1_1 ;
  x3do:hasMeta :meta_1_2, :meta_1_3, :meta_1_4, :meta_1_5, :meta_1_6, :meta_1_7, :meta_1_8, :meta_1_9, :meta_1_10, :meta_1_11, :meta_1_12, :meta_1_13, :meta_1_14 .
:component_1_1 a owl:NamedIndividual, x3do:component ;
  x3do:hasParent :head ;
  x3do:level 3 ;
  x3do:name 'Sound' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'AllAudioGraphNodesTest.x3d' ;
  x3do:name 'title' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do: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.' ;
  x3do:name 'description' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Don Brutzman' ;
  x3do:name 'creator' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '25 October 2020' ;
  x3do:name 'created' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '12 September 2025' ;
  x3do:name 'modified' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Developmental test, no actual audio model is produced' ;
  x3do:name 'info' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'sound/saxophone.ogg' ;
  x3do:name 'Sound' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'sound/saxophone.mp3' ;
  x3do:name 'Sound' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'sound/saxophone.wav' ;
  x3do:name 'Sound' .
:meta_1_11 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'AllAudioGraphNodesTestNetbeansTree.png' ;
  x3do:name 'Image' .
:meta_1_12 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.x3d' ;
  x3do:name 'identifier' .
:meta_1_13 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_14 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '../license.html' ;
  x3do:name 'license' .
:meta dcterms:title "AllAudioGraphNodesTest.x3d" .
:meta dcterms:description "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." .
:meta dcterms:creator "Don Brutzman" .
:meta dcterms:created "25 October 2020" .
:meta dcterms:modified "12 September 2025" .
:meta dcterms:info "Developmental test, no actual audio model is produced" .
:meta dcterms:Sound "sound/saxophone.ogg" .
:meta dcterms:Sound "sound/saxophone.mp3" .
:meta dcterms:Sound "sound/saxophone.wav" .
:meta dcterms:Image "AllAudioGraphNodesTestNetbeansTree.png" .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.x3d" .
:meta dcterms:generator "X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit" .
:meta dcterms:license "../license.html" .
:Scene a owl:NamedIndividual, x3do:Scene ;
  x3do:hasParent :X3D ;
  x3do:hasChildren :WorldInfo_2_1, :Shape_2_2, :TestSound, :TestTimeSensor, :TestSpatialSound ;
  x3do:hasROUTE :ROUTE_2_5 .
:WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:title 'AllAudioGraphNodesTest.x3d' .
:Shape_2_2 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Scene ;
  x3do:hasGeometry :Box_2_2_1 ;
  x3do:hasAppearance :Appearance_2_2_2 .
:Box_2_2_1 a owl:NamedIndividual, x3do:Box ;
  x3do:hasParent :Shape_2_2 .
:Appearance_2_2_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2 ;
  x3do:hasAcousticProperties :TestAcousticProperties ;
  x3do:hasMaterial :Material_2_2_2_2 .
:TestAcousticProperties a owl:NamedIndividual, x3do:AcousticProperties ;
  x3do:hasParent :Appearance_2_2_2 ;
  x3do:DEF 'TestAcousticProperties' ;
  x3do:absorption 0.11 ;
  x3do:description 'hello AcousticProperties' ;
  x3do:diffuse 0.22 ;
  x3do:enabled false ;
  x3do:refraction 0.33 ;
  x3do:specular 0.44 .
:Material_2_2_2_2 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_2 .
:TestSound a owl:NamedIndividual, x3do:Sound ;
  x3do:hasParent :Scene ;
  x3do:hasSource :TestAudioClip ;
  x3do:DEF 'TestSound' ;
  x3do:description 'hello Sound' ;
  x3do:direction ( 0 0 1.2 ) ;
  x3do:enabled false ;
  x3do:intensity 0.99 ;
  x3do:location ( 0.1 1.6 0.1 ) ;
  x3do:maxBack 10.1 ;
  x3do:maxFront 10.2 ;
  x3do:minBack 1.3 ;
  x3do:minFront 1.4 ;
  x3do:priority 0.01 ;
  x3do:spatialize false .
:TestAudioClip a owl:NamedIndividual, x3do:AudioClip ;
  x3do:hasParent :TestSound ;
  x3do:DEF 'TestAudioClip' ;
  x3do:autoRefresh '100' ;
  x3do:autoRefreshTimeLimit '1000' ;
  x3do:description 'hello AudioClip' ;
  x3do:enabled false ;
  x3do:gain 1.2 ;
  x3do:pauseTime '5' ;
  x3do:pitch 3.4 ;
  x3do:resumeTime '6' ;
  x3do:startTime '7' ;
  x3do:stopTime '8' ;
  x3do: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"' .
:TestTimeSensor a owl:NamedIndividual, x3do:TimeSensor ;
  x3do:hasParent :Scene ;
  x3do:DEF 'TestTimeSensor' ;
  x3do:cycleInterval '2' ;
  x3do:description 'hello TimeSensor' ;
  x3do:enabled false ;
  x3do:loop true ;
  x3do:pauseTime '3' ;
  x3do:resumeTime '4' ;
  x3do:startTime '5' ;
  x3do:stopTime '6' .
:ROUTE_2_5 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Scene ;
  x3do:fromField 'cycleTime' ;
  x3do:fromNode 'TestTimeSensor' ;
  x3do:toField 'startTime' ;
  x3do:toNode 'TestAudioClip' .
:TestSpatialSound a owl:NamedIndividual, x3do:SpatialSound ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :TestAnalyser ;
  x3do:DEF 'TestSpatialSound' ;
  x3do:coneInnerAngle 3.14 ;
  x3do:coneOuterAngle 3.15 ;
  x3do:coneOuterGain 0.5 ;
  x3do:description 'hello SpatialSound' ;
  x3do:direction ( 2 3 4 ) ;
  x3do:distanceModel 'EXPONENTIAL' ;
  x3do:dopplerEnabled true ;
  x3do:enableHRTF true ;
  x3do:enabled false ;
  x3do:gain 1.1 ;
  x3do:intensity 0.5 ;
  x3do:location ( 6 7 8 ) ;
  x3do:maxDistance 20000 ;
  x3do:priority 0.9 ;
  x3do:referenceDistance 10 ;
  x3do:rolloffFactor 11 ;
  x3do:spatialize false .
:TestAnalyser a owl:NamedIndividual, x3do:Analyser ;
  x3do:hasParent :TestSpatialSound ;
  x3do:hasChildren :TestAudioDestination ;
  x3do:DEF 'TestAnalyser' ;
  x3do:channelCountMode 'EXPLICIT' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello Analyser' ;
  x3do:fftSize 2049 ;
  x3do:gain 0.99 ;
  x3do:maxDecibels -31 ;
  x3do:minDecibels -101 ;
  x3do:pauseTime '6' ;
  x3do:resumeTime '7' ;
  x3do:smoothingTimeConstant 0.88 ;
  x3do:startTime '8' ;
  x3do:stopTime '9' .
:TestAudioDestination a owl:NamedIndividual, x3do:AudioDestination ;
  x3do:hasParent :TestAnalyser ;
  x3do:hasChildren :TestBiquadFilter ;
  x3do:DEF 'TestAudioDestination' ;
  x3do:channelCountMode 'EXPLICIT' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello AudioDestination' ;
  x3do:enabled false ;
  x3do:gain 1.1 ;
  x3do:mediaDeviceID 'ABC345' .
:TestBiquadFilter a owl:NamedIndividual, x3do:BiquadFilter ;
  x3do:hasParent :TestAudioDestination ;
  x3do:hasChildren :TestChannelMerger ;
  x3do:DEF 'TestBiquadFilter' ;
  x3do:description 'hello BiquadFilter' ;
  x3do:detune 0.5 ;
  x3do:enabled false ;
  x3do:frequency 1000 ;
  x3do:gain 2 ;
  x3do:pauseTime '3' ;
  x3do:resumeTime '4' ;
  x3do:startTime '5' ;
  x3do:stopTime '6' ;
  x3do:tailTime '7' ;
  x3do:type 'ALLPASS' .
:TestChannelMerger a owl:NamedIndividual, x3do:ChannelMerger ;
  x3do:hasParent :TestBiquadFilter ;
  x3do:hasChildren :TestChannelSelector ;
  x3do:DEF 'TestChannelMerger' ;
  x3do:channelCountMode 'EXPLICIT' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello ChannelMerger' ;
  x3do:enabled false ;
  x3do:gain 123 .
:TestChannelSelector a owl:NamedIndividual, x3do:ChannelSelector ;
  x3do:hasParent :TestChannelMerger ;
  x3do:hasChildren :TestChannelSplitter ;
  x3do:DEF 'TestChannelSelector' ;
  x3do:channelCountMode 'CLAMPED_MAX' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:channelSelection 1 ;
  x3do:description 'hello ChannelSelector' ;
  x3do:enabled false ;
  x3do:gain 2 .
:TestChannelSplitter a owl:NamedIndividual, x3do:ChannelSplitter ;
  x3do:hasParent :TestChannelSelector ;
  x3do:hasChildren :TestConvolver ;
  x3do:DEF 'TestChannelSplitter' ;
  x3do:channelCountMode 'EXPLICIT' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello ChannelSplitter' ;
  x3do:enabled false ;
  x3do:gain 789 .
:TestConvolver a owl:NamedIndividual, x3do:Convolver ;
  x3do:hasParent :TestChannelSplitter ;
  x3do:hasChildren :TestDelay ;
  x3do:DEF 'TestConvolver' ;
  x3do:buffer ( 0 1 2 3 ) ;
  x3do:channelCountMode 'CLAMPED_MAX' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello Convolver' ;
  x3do:enabled false ;
  x3do:gain 4 ;
  x3do:normalize true ;
  x3do:pauseTime '5' ;
  x3do:resumeTime '6' ;
  x3do:startTime '7' ;
  x3do:stopTime '8' ;
  x3do:tailTime '9' .
:TestDelay a owl:NamedIndividual, x3do:Delay ;
  x3do:hasParent :TestConvolver ;
  x3do:hasChildren :TestDynamicsCompressor ;
  x3do:DEF 'TestDelay' ;
  x3do:channelCountMode 'CLAMPED_MAX' ;
  x3do:delayTime '2' ;
  x3do:description 'hello delay' ;
  x3do:enabled false ;
  x3do:gain 4 ;
  x3do:maxDelayTime '3' ;
  x3do:pauseTime '5' ;
  x3do:resumeTime '6' ;
  x3do:startTime '7' ;
  x3do:stopTime '8' ;
  x3do:tailTime '9' .
:TestDynamicsCompressor a owl:NamedIndividual, x3do:DynamicsCompressor ;
  x3do:hasParent :TestDelay ;
  x3do:hasChildren :TestGain ;
  x3do:DEF 'TestDynamicsCompressor' ;
  x3do:attack 0.00333 ;
  x3do:description 'hello DynamicsCompressor' ;
  x3do:enabled false ;
  x3do:gain 2 ;
  x3do:knee 10 ;
  x3do:pauseTime '3' ;
  x3do:ratio 11 ;
  x3do:release '12' ;
  x3do:resumeTime '4' ;
  x3do:startTime '5' ;
  x3do:stopTime '6' ;
  x3do:tailTime '7' ;
  x3do:threshold -100 .
:TestGain a owl:NamedIndividual, x3do:Gain ;
  x3do:hasParent :TestDynamicsCompressor ;
  x3do:hasChildren :TestStreamAudioDestination ;
  x3do:DEF 'TestGain' ;
  x3do:channelCountMode 'EXPLICIT' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello gain' ;
  x3do:enabled false ;
  x3do:gain -2 ;
  x3do:pauseTime '2' ;
  x3do:resumeTime '3' ;
  x3do:startTime '4' ;
  x3do:stopTime '5' ;
  x3do:tailTime '1' .
:TestStreamAudioDestination a owl:NamedIndividual, x3do:StreamAudioDestination ;
  x3do:hasParent :TestGain ;
  x3do:hasChildren :TestWaveShaper ;
  x3do:DEF 'TestStreamAudioDestination' ;
  x3do:channelCountMode 'CLAMPED_MAX' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello StreamAudioDestination' ;
  x3do:enabled false ;
  x3do:gain 0 ;
  x3do:mediaDeviceID 'abc123' ;
  x3do:streamIdentifier '"unique ID" "part 2"' .
:TestWaveShaper a owl:NamedIndividual, x3do:WaveShaper ;
  x3do:hasParent :TestStreamAudioDestination ;
  x3do:hasChildren :TestBufferAudioSource, :TestListenerPointSource, :TestMicrophoneSource, :TestOscillatorSource, :TestStreamAudioSource ;
  x3do:DEF 'TestWaveShaper' ;
  x3do:channelCountMode 'CLAMPED_MAX' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:curve ( 1 2 3 4 ) ;
  x3do:description 'hello WaveShaper' ;
  x3do:enabled false ;
  x3do:gain 5 ;
  x3do:pauseTime '6' ;
  x3do:resumeTime '7' ;
  x3do:startTime '8' ;
  x3do:stopTime '9' ;
  x3do:tailTime '10' .
:TestBufferAudioSource a owl:NamedIndividual, x3do:BufferAudioSource ;
  x3do:hasParent :TestWaveShaper ;
  x3do:DEF 'TestBufferAudioSource' ;
  x3do:autoRefresh '1' ;
  x3do:autoRefreshTimeLimit '2' ;
  x3do:buffer ( 3 4 5 ) ;
  x3do:bufferDuration '6' ;
  x3do:channelCountMode 'CLAMPED_MAX' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello BufferAudioSource' ;
  x3do:detune 7 ;
  x3do:enabled false ;
  x3do:gain 8 ;
  x3do:load false ;
  x3do:loop true ;
  x3do:loopEnd 12 ;
  x3do:loopStart 12 ;
  x3do:numberOfChannels 12 ;
  x3do:pauseTime '13' ;
  x3do:playbackRate 14 ;
  x3do:resumeTime '15' ;
  x3do:sampleRate 16 ;
  x3do:startTime '17' ;
  x3do:stopTime '18' ;
  x3do:url '"sound/saxophone.mp3" "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/sound/saxophone.mp3"' .
:TestListenerPointSource a owl:NamedIndividual, x3do:ListenerPointSource ;
  x3do:hasParent :TestWaveShaper ;
  x3do:DEF 'TestListenerPointSource' ;
  x3do:description 'hello ListenerPointSource' ;
  x3do:dopplerEnabled true ;
  x3do:enabled false ;
  x3do:gain 0.1 ;
  x3do:interauralDistance 2 ;
  x3do:orientation ( 6 7 8 0.9 ) ;
  x3do:pauseTime '10' ;
  x3do:position ( 3 4 5 ) ;
  x3do:resumeTime '11' ;
  x3do:startTime '12' ;
  x3do:stopTime '13' ;
  x3do:trackCurrentView true .
:TestMicrophoneSource a owl:NamedIndividual, x3do:MicrophoneSource ;
  x3do:hasParent :TestWaveShaper ;
  x3do:DEF 'TestMicrophoneSource' ;
  x3do:description 'hello MicrophoneSource' ;
  x3do:enabled false ;
  x3do:gain 0.12 ;
  x3do:mediaDeviceID '345XYZ' ;
  x3do:pauseTime '6' ;
  x3do:resumeTime '7' ;
  x3do:startTime '8' ;
  x3do:stopTime '9' .
:TestOscillatorSource a owl:NamedIndividual, x3do:OscillatorSource ;
  x3do:hasParent :TestWaveShaper ;
  x3do:hasPeriodicWave :TestPeriodicWave ;
  x3do:DEF 'TestOscillatorSource' ;
  x3do:description 'hello OscillatorSource' ;
  x3do:detune 1 ;
  x3do:enabled false ;
  x3do:frequency 234 ;
  x3do:gain 5 ;
  x3do:pauseTime '6' ;
  x3do:resumeTime '7' ;
  x3do:startTime '8' ;
  x3do:stopTime '9' .
:TestPeriodicWave a owl:NamedIndividual, x3do:PeriodicWave ;
  x3do:hasParent :TestOscillatorSource ;
  x3do:DEF 'TestPeriodicWave' ;
  x3do:description 'hello PeriodicWave' ;
  x3do:optionsImag ( 0 1 2 3 5 ) ;
  x3do:optionsReal ( 5 6 7 8 9 ) ;
  x3do:type 'CUSTOM' .
:TestStreamAudioSource a owl:NamedIndividual, x3do:StreamAudioSource ;
  x3do:hasParent :TestWaveShaper ;
  x3do:DEF 'TestStreamAudioSource' ;
  x3do:channelCountMode 'EXPLICIT' ;
  x3do:channelInterpretation 'DISCRETE' ;
  x3do:description 'hello StreamAudioSource' ;
  x3do:enabled false ;
  x3do:gain 1.2 ;
  x3do:pauseTime '6' ;
  x3do:resumeTime '7' ;
  x3do:startTime '8' ;
  x3do:stopTime '9' ;
  x3do:streamIdentifier '"345 XYZ"' .
