Exemple #1
0
        /// <summary>
        /// Constructs extractor from configuration <paramref name="options"/>.
        /// </summary>
        public ChromaExtractor(ChromaOptions options) : base(options)
        {
            _options   = options;
            _blockSize = options.FftSize > FrameSize ? options.FftSize : MathUtils.NextPowerOfTwo(FrameSize);

            FeatureCount = options.FeatureCount;

            _filterBank = FilterBanks.Chroma(_blockSize,
                                             SamplingRate,
                                             FeatureCount,
                                             options.Tuning,
                                             options.CenterOctave,
                                             options.OctaveWidth,
                                             options.Norm,
                                             options.BaseC);

            _fft      = new RealFft(_blockSize);
            _spectrum = new float[_blockSize / 2 + 1];
        }