Arguments for new block event from audio source.
Inheritance: System.EventArgs
Exemple #1
0
        void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {

            ComplexSignal signal = ComplexSignal.FromSignal(eventArgs.Signal);

            if (hammingWindowToolStripMenuItem.Checked)
            {
                ComplexSignal c = window.Apply(signal, 0);
                signal = c;
            }


            signal.ForwardFourierTransform();

            Complex[] channel = signal.GetChannel(0);
            double[] power = Accord.Audio.Tools.GetPowerSpectrum(channel);
            double[] freqv = Accord.Audio.Tools.GetFrequencyVector(signal.Length, signal.SampleRate);

            power[0] = 0; // zero DC

            float[] g = new float[power.Length];

            for (int i = 0; i < power.Length; i++)
            {
                // g[i, 0] = freqv[i];
                g[i] = (float)power[i];
            }

            chart1.RangeX = new DoubleRange(freqv[0], freqv[freqv.Length - 1] / hScrollBar1.Value);
            chart1.RangeY = new DoubleRange(0f, Math.Pow(10, -vScrollBar1.Value));

            chart1.UpdateWaveform("fft", g);
        }
Exemple #2
0
        private void Microphone_NewFrame(object sender, Accord.Audio.NewFrameEventArgs eventArgs)
        {
            _MicrophoneSignal = eventArgs.Signal;
            float n      = 1f;
            var   volume = new VolumeFilter(n);

            volume.ApplyInPlace(_MicrophoneSignal);
        }
Exemple #3
0
 private void AudioDevice_NewFrame(object sender, Accord.Audio.NewFrameEventArgs e)
 {
     lock (syncObj) // Save the frame to the video file.
     {
         if (IsRecording)
         {
             videoWriter.WriteAudioFrame(e.Signal);
         }
     }
 }
        private void AudioSource_NewFrame(object sender, Accord.Audio.NewFrameEventArgs e)
        {
            if (isRecording)
            {
                System.TimeSpan diff1 = DateTime.Now.Subtract(sartRecordingTime);
                if (diff1.Seconds >= 0.0)
                {
                    //writer.WriteAudioFrame(e.Signal.RawData);
                    e.Signal.CopyTo(current);

                    encoder.Encode(e.Signal);


                    duration += e.Signal.Duration;

                    samples += e.Signal.Samples;
                    frames  += e.Signal.Length;
                }
            }
        }
 /// <summary>
 ///   This method will be called whenever there is a new input audio frame 
 ///   to be processed. This would be the case for samples arriving at the 
 ///   computer's microphone
 /// </summary>
 /// 
 private void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
 {
     this.encoder.addNewFrame(eventArgs.Signal);
     updateWaveform(this.encoder.current, eventArgs.Signal.Length);
 }
 private void source_NewFrame(object sender, NewFrameEventArgs e)
 {
     IAudioSource source = sender as IAudioSource;
     int index = (int)source.UserData;
     signals[index] = e.Signal;
     stopEvents[index].Set();
 }
Exemple #7
0
 private void NewAudioFrame(object sender, Accord.Audio.NewFrameEventArgs eventArgs)
 {
     _waveEncoder.Encode(eventArgs.Signal);
 }
Exemple #8
0
        /// <summary>
        ///   This method will be called whenever there is a new input audio frame 
        ///   to be processed. This would be the case for samples arriving at the 
        ///   computer's microphone
        /// </summary>
        /// 
        private void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            // Save current frame
            eventArgs.Signal.CopyTo(current);

            // Update waveform
            updateWaveform(current, eventArgs.Signal.Length);

            // Save to memory
            encoder.Encode(eventArgs.Signal);

            // Update counters
            duration += eventArgs.Signal.Duration;
            samples += eventArgs.Signal.Samples;
            frames += eventArgs.Signal.Length;
        }
Exemple #9
0
        /// <summary>
        ///   This method will be called whenever there is a new audio
        ///   frame to be processed.
        /// </summary>
        /// 
        void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            // We can start by converting the audio frame to a complex signal
            ComplexSignal signal = ComplexSignal.FromSignal(eventArgs.Signal);

            // If its needed,
            if (window != null)
            {
                // Apply the chosen audio window
                signal = window.Apply(signal, 0);
            }

            // Transform to the complex domain
            signal.ForwardFourierTransform();

            // Now we can get the power spectrum output and its
            // related frequency vector to plot our spectrometer.

            Complex[] channel = signal.GetChannel(0);
            double[] power = Accord.Audio.Tools.GetPowerSpectrum(channel);
            double[] freqv = Accord.Audio.Tools.GetFrequencyVector(signal.Length, signal.SampleRate);

            power[0] = 0; // zero DC
            float[] g = new float[power.Length];
            for (int i = 0; i < power.Length; i++)
                g[i] = (float)power[i];

            // Adjust the zoom according to the horizontal and vertical scrollbars.
            chart1.RangeX = new DoubleRange(freqv[0], freqv[freqv.Length - 1] / hScrollBar1.Value);
            chart1.RangeY = new DoubleRange(0f, Math.Pow(10, -vScrollBar1.Value));

            chart1.UpdateWaveform("fft", g);
        }
Exemple #10
0
 private void Speaker_NewFrame(object sender, Accord.Audio.NewFrameEventArgs eventArgs)
 {
     Trace.WriteLine("Speaker + frame");
     _SpeakerSignal = eventArgs.Signal;
 }
Exemple #11
0
        void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            current = eventArgs.Signal;


            detector.Detect(current);

            if (initializing)
            {
                initializing = false;
                lbStatus.Invoke((MethodInvoker)delegate()
                {
                    label1.Text = "Frame duration (ms): " + current.Duration;
                    lbStatus.Text = "Ready";
                });
            } 
        }
        void source_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            // We can start by converting the audio frame to a complex signal
            var signal = ComplexSignal.FromSignal(eventArgs.Signal);

            // If its needed,
            if (window != null)
            {
                // Apply the chosen audio window
                signal = window.Apply(signal, 0);
            }

            // Transform to the complex domain
            signal.ForwardFourierTransform();

            // Now we can get the power spectrum output and its
            // related frequency vector to plot our spectrometer.
            Complex[] channel = signal.GetChannel(0);

            double[] power = Accord.Audio.Tools.GetPowerSpectrum(channel);

            ListOfPowerSpectrum.Add(power);

            foreach (double value in power)
            {
                if (value != 0.0 && value > 1.0E-10)
                {
                    //Console.WriteLine("Index to {0}", ListOfPowerSpectrum.IndexOf(power));
                    soundsDetectedIndexes.Add(ListOfPowerSpectrum.IndexOf(power));
                    break;
                }
            }
        }
 private void Audio_NewFrame(object sender, Accord.Audio.NewFrameEventArgs e)
 {
     audioEncoder.Encode(e.Signal);
 }