/// <summary>
        /// When Awake is called by the Unity Engine we build our simple audio graph,
        /// and attach the root node of our graph to the driver.
        /// </summary>
        void Awake()
        {
            //context
            Driver.sampleRate = 48000;
            m_driver = new Driver();

            //audio nodes
            var sineWave = new SineWaveGenerator();
            var mixer = new MonoMixer();
            mixer.masterOutputLevel = 0.5;

            //connect our graph
            mixer.AddInput(sineWave);
            m_driver.rootNode = mixer;
        }
        /// <summary>
        /// When Awake is called by the Unity Engine we build our simple audio graph,
        /// and attach the root node of our graph to the driver.
        /// </summary>
        void Awake()
        {
            //context
            Driver.sampleRate = 48000;
            m_driver = new Driver();

            //audio nodes
            m_sineWave = new SineWaveGenerator();
            m_gainer = new Gain();
            m_gainer.drive = 1.5;
            var customAudioNode = new VolumeLimiter();
            m_mixer = new MonoMixer();
            m_mixer.masterOutputLevel = 0.5;

            //connect our graph
            m_gainer.InputNode = m_sineWave;
            customAudioNode.inputNode = m_gainer;
            m_mixer.AddInput(customAudioNode);
            m_driver.rootNode = m_mixer;
        }