public unsafe KeyDetector(int frameRate, int channels, int frameLength) { if (frameRate <= 0) { throw new ArgumentOutOfRangeException(nameof(frameRate)); } if (channels <= 0) { throw new ArgumentOutOfRangeException(nameof(channels)); } if (frameLength <= 0) { throw new ArgumentOutOfRangeException(nameof(frameLength)); } _audioData = new_audio_data((uint)frameRate, (uint)channels, (uint)frameLength); _keyFinder = new_keyfinder(); _workspace = new_workspace(); }
private static extern unsafe void keyfinder_final_chromagram( __KeyFinder *keyFinder, __Workspace *workspace );
private static extern unsafe void keyfinder_progressive_chromagram( __KeyFinder *keyFinder, __AudioData *audioData, __Workspace *workspace );
private static extern unsafe Key keyfinder_key_of_chromagram( __KeyFinder *keyFinder, __Workspace *workspace );
private static extern unsafe void delete_workspace( __Workspace *workspace );