[x3d-public] Sound v4 > channel nodes > node design comparison v4 vs Doug proposed
GPU Group
gpugroup at gmail.com
Sat Mar 4 09:20:53 PST 2023
CHANNEL NODE DESIGN COMPARISON
v4: channel nodes as written in v4 Spec Draft Sound Component
Doug proposed: add 2 fields to ChannelMerger MFInt32 indxDst and indxSrc
and eliminate ChannelSelector node
I have both v4 and Doug proposed implemented in freewrl: if indxDst or
indxSrc is empty, thunks to v4
I tested both methods on 3 scenarios and they both work as follows:
a) swapping 2 channels
v4
<ChannelMerger channelCount='6' >
<ChannelSelector channelSelection='1'>
<ChannelSplitter DEF='Channel_Splitter' channelCount='6'>
<AudioClip url='"sound/6_Channel_ID.wav"'/>
</ChannelSplitter>
</ChannelSelector>
<ChannelSelector channelSelection='0'>
<ChannelSplitter USE='Channel_Splitter'/>
</ChannelSelector>
</ChannelMerger>
Doug proposed
<ChannelMerger channelCount='6'
indxSrc='0,1'
indxDst='1,0'
>
<ChannelSplitter DEF='Channel_Splitter' channelCount='6'>
<AudioClip url='"sound/6_Channel_ID.wav"'/>
</ChannelSplitter>
<ChannelSplitter USE='Channel_Splitter'/>
</ChannelMerger>
b) merging 2 channels into 1
v4
<ChannelMerger channelCount='6' >
<Gain>
<ChannelSelector channelSelection='1'>
<ChannelSplitter DEF='Channel_Splitter' channelCount='6'>
<AudioClip url='"sound/6_Channel_ID.wav"'/>
</ChannelSplitter>
</ChannelSelector>
<ChannelSelector channelSelection='0'>
<ChannelSplitter USE='Channel_Splitter'/>
</ChannelSelector>
</Gain>
</ChannelMerger>
Doug proposed
<ChannelMerger channelCount='6'
indxSrc='0,1'
indxDst='0,0'
>
<ChannelSplitter DEF='Channel_Splitter' channelCount='6'>
<AudioClip url='"sound/6_Channel_ID.wav"'/>
</ChannelSplitter>
<ChannelSplitter USE='Channel_Splitter'/>
</ChannelMerger>
c) merging 2 channels into 2nd merger channel (skipping first output
channel)
v4
<ChannelMerger channelCount='6' >
<Gain/>
<Gain>
<ChannelSelector channelSelection='1'>
<ChannelSplitter DEF='Channel_Splitter' channelCount='6'>
<AudioClip url='"sound/6_Channel_ID.wav"'/>
</ChannelSplitter>
</ChannelSelector>
<ChannelSelector channelSelection='0'>
<ChannelSplitter USE='Channel_Splitter'/>
</ChannelSelector>
</Gain>
</ChannelMerger>
Doug proposed:
<ChannelMerger channelCount='6'
indxSrc='0,1'
indxDst='1,1'
>
<ChannelSplitter DEF='Channel_Splitter' channelCount='6'>
<AudioClip url='"sound/6_Channel_ID.wav"'/>
</ChannelSplitter>
<ChannelSplitter USE='Channel_Splitter'/>
</ChannelMerger>
/CHANNEL NODE DESIGN COMPARISON
-Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230304/4e2fde94/attachment.html>
More information about the x3d-public
mailing list