public float GetFeature(AudioFeaturesFlags flag) { fixed(float *fptr = &this.featureData[0]) { NativeMethodsx64.RetrieveFeaturesf(this.nativePointer, new IntPtr(fptr), flag); } return(this.featureData[0]); }
protected override void FillBuffer(float[] buffer, int offset, int count) { if (FGist != null) { InputSignal.Read(buffer, offset, count); //base.FillBuffer(buffer, offset, count); FGist.ProcessFrame(buffer, count); FFT.Value = FGist.SpectrumData; //get flags AudioFeaturesFlags flags = (AudioFeaturesFlags)2047; var features = FGist.GetFeatures(flags); var vals = new float[11]; features.Values.CopyTo(vals, 0); Features.Value = vals; } }
public Dictionary <AudioFeaturesFlags, float> GetFeatures(AudioFeaturesFlags flags) { Dictionary <AudioFeaturesFlags, float> result = new Dictionary <AudioFeaturesFlags, float>(); fixed(float *fptr = &this.featureData[0]) { NativeMethodsx64.RetrieveFeaturesf(this.nativePointer, new IntPtr(fptr), flags); } int offset = 0; int feature = 1; for (int i = 0; i < 11; i++) { AudioFeaturesFlags f = (AudioFeaturesFlags)feature; if (flags.HasFlag(f)) { result.Add(f, this.featureData[offset]); offset++; } feature *= 2; } return(result); }
public static extern void RetrieveFeaturesf(IntPtr nativePointer, IntPtr featuresPtr, AudioFeaturesFlags flags);