private void Source_SourceEvent(object sender, SourceEventArgs e) { if (e.Event == ESourceEventType.Loaded) { _spectrumProvider = Source.SpectrumProvider; UpdateFrequencyMapping(); } }
public SingleSpectrum(FftSize fftSize, ISpectrumProvider spectrumProvider) { SpectrumProvider = spectrumProvider; SpectrumResolution = 1; FftSize = fftSize; UpdateFrequencyMapping(); }
private ISpectrum GetSpectrum(ISpectrumProvider spectrumProvider) { return(Properties.SpectrumMode.CurrentValue switch { SpectrumMode.Gamma => spectrumProvider.GetGammaSpectrum(Properties.Bars.CurrentValue, Properties.Gamma.CurrentValue, Properties.MinFrequency.CurrentValue, Properties.MaxFrequency.CurrentValue), SpectrumMode.Logarithmic => spectrumProvider.GetLogarithmicSpectrum(Properties.Bars.CurrentValue, Properties.MinFrequency.CurrentValue, Properties.MaxFrequency.CurrentValue), SpectrumMode.Linear => spectrumProvider.GetLinearSpectrum(Properties.Bars.CurrentValue, Properties.MinFrequency.CurrentValue, Properties.MaxFrequency.CurrentValue), _ => null });
public override void Update(double deltaTime) { ISpectrumProvider spectrumProvider = _audioVisualizationService.GetSpectrumProvider(Properties.Channel); if (spectrumProvider == null) { return; } RecalculateConfigValues(); ISpectrum spectrum = GetSpectrum(spectrumProvider); if (spectrum == null) { return; } for (int i = 0; i < spectrum.BandCount; i++) { double binPower = GetBandValue(spectrum[i]); binPower = Math.Max(0, 20 * Math.Log10(binPower)); binPower = Math.Max(0, binPower); binPower /= Properties.ReferenceLevel.CurrentValue; if (Properties.EmphasisePeaks.CurrentValue > 0.001) { binPower = Math.Pow(binPower, 1 + Properties.EmphasisePeaks.CurrentValue) * _emphasiseFactor; } if (i < _visualizationData.Length) { _visualizationData[i] = (float)((_visualizationData[i] * _smoothingFactor) + (binPower * (1.0 - _smoothingFactor))).Clamp(0, 1); if (float.IsNaN(_visualizationData[i])) { _visualizationData[i] = 0; } } } }
public SpectrumPlayerWrapper(ISpectrumProvider spectrumProvider) { _spectrumProvider = spectrumProvider; _spectrumProvider.PlayStateChanged += _spectrumProvider_PlayStateChanged; }
public BeatVisualizationProvider(BeatVisualizationProviderConfiguration configuration, ISpectrumProvider specturProvider) { this._configuration = configuration; this._specturProvider = specturProvider; }
public SpectrumPlayerWrapper(ISpectrumProvider spectrumProvider) { _spectrumProvider = spectrumProvider; _spectrumProvider.PlayStateChanged += _spectrumProvider_PlayStateChanged; }