Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public void Initialize(SamplesResolution resolution)
 {
     _visualizer.Initialize();
     _spectrumDataProcessor.Initialize(_bandsProvider.GetBands(resolution));
     _spectrumBuffer = new SpectrumBuffer(_spectrumDataProcessor.BandedSpectrumData.Length, _bufferReductor, _clamp, _useClamp);
 }
Exemplo n.º 4
0
 public virtual FrequencyBand[] GetBands(SamplesResolution resolution)
 {
     return(new FrequencyBand[0]);
 }