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); }
private void Microphone_NewFrame(object sender, Accord.Audio.NewFrameEventArgs eventArgs) { _MicrophoneSignal = eventArgs.Signal; float n = 1f; var volume = new VolumeFilter(n); volume.ApplyInPlace(_MicrophoneSignal); }
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(); }
private void NewAudioFrame(object sender, Accord.Audio.NewFrameEventArgs eventArgs) { _waveEncoder.Encode(eventArgs.Signal); }
/// <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; }
/// <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); }
private void Speaker_NewFrame(object sender, Accord.Audio.NewFrameEventArgs eventArgs) { Trace.WriteLine("Speaker + frame"); _SpeakerSignal = eventArgs.Signal; }
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); }