public override FrequencyBand[] GetBands(SamplesResolution resolution) { var diapasons = new FrequencyBand[_milestones.Length + 1]; var coefficient = (float)resolution / MaximalFrequency; Debug.Log("Band shrink coefficient: " + coefficient); var min = Mathf.FloorToInt(MinimalFrequency * coefficient); var max = Mathf.FloorToInt(MaximalFrequency * coefficient); _milestones = Sort(_milestones); var previousMilestone = min; for (var i = 0; i <= _milestones.Length; i++) { if (i == _milestones.Length) { diapasons[i] = new FrequencyBand(previousMilestone, max); Debug.Log("Created diapason: #" + i + ": " + diapasons[i].Min + " - " + diapasons[i].Max); } else { var shrankValue = _milestones[i].GetShrankValue(coefficient); diapasons[i] = new FrequencyBand(previousMilestone, shrankValue); previousMilestone = shrankValue; Debug.Log("Created diapason #" + i + ": " + diapasons[i].Min + " - " + diapasons[i].Max); } } return(diapasons); }
public override FrequencyBand[] GetBands(SamplesResolution resolution) { var coefficient = (float)resolution / MaximalFrequency; Debug.Log("Band shrink coefficient: " + coefficient); var min = Mathf.FloorToInt(MinimalFrequency * coefficient); var max = Mathf.FloorToInt(MaximalFrequency * coefficient); var diapasons = RangeFrequency(min, max); Debug.Log("Diapasons: " + diapasons.Length); var previousMilestone = min; for (var i = 0; i <= _milestones.Count; i++) { if (i == _milestones.Count) { // Creating last diapason diapasons[i] = new FrequencyBand(previousMilestone, max); Debug.Log("Created diapason: #" + i + ": " + diapasons[i].Min + " - " + diapasons[i].Max); } else { var shrankValue = _milestones[i].FrequencyValue; diapasons[i] = new FrequencyBand(previousMilestone, shrankValue); previousMilestone = shrankValue; Debug.Log("Created diapason #" + i + ": " + diapasons[i].Min + " - " + diapasons[i].Max); } } return(diapasons); }
public void Initialize(SamplesResolution resolution) { _visualizer.Initialize(); _spectrumDataProcessor.Initialize(_bandsProvider.GetBands(resolution)); _spectrumBuffer = new SpectrumBuffer(_spectrumDataProcessor.BandedSpectrumData.Length, _bufferReductor, _clamp, _useClamp); }
public virtual FrequencyBand[] GetBands(SamplesResolution resolution) { return(new FrequencyBand[0]); }