diff --git a/spectrogramcontrols.cpp b/spectrogramcontrols.cpp index 7dbf4db..2b728e4 100644 --- a/spectrogramcontrols.cpp +++ b/spectrogramcontrols.cpp @@ -50,11 +50,11 @@ SpectrogramControls::SpectrogramControls(const QString & title, QWidget * parent layout->addRow(new QLabel(tr("Zoom:")), zoomLevelSlider); powerMaxSlider = new QSlider(Qt::Horizontal, widget); - powerMaxSlider->setRange(-100, 20); + powerMaxSlider->setRange(-140, 10); layout->addRow(new QLabel(tr("Power max:")), powerMaxSlider); powerMinSlider = new QSlider(Qt::Horizontal, widget); - powerMinSlider->setRange(-100, 20); + powerMinSlider->setRange(-140, 10); layout->addRow(new QLabel(tr("Power min:")), powerMinSlider); // Time selection settings @@ -111,7 +111,7 @@ void SpectrogramControls::setDefaults() fftSizeSlider->setValue(9); zoomLevelSlider->setValue(0); powerMaxSlider->setValue(0); - powerMinSlider->setValue(-50); + powerMinSlider->setValue(-100); cursorsCheckBox->setCheckState(Qt::Unchecked); cursorSymbolsSpinBox->setValue(1); } diff --git a/spectrogramplot.cpp b/spectrogramplot.cpp index f994216..be0de17 100644 --- a/spectrogramplot.cpp +++ b/spectrogramplot.cpp @@ -143,15 +143,15 @@ void SpectrogramPlot::getLine(float *dest, off_t sample) fft->process(buffer.get(), buffer.get()); const float invFFTSize = 1.0f / fftSize; - const float dbMult = 5.0f / log2f(10.0f); + const float logMultiplier = 10.0f / log2f(10.0f); for (int i = 0; i < fftSize; i++) { // Start from the middle of the FFTW array and wrap // to rearrange the data int k = (i + fftSize / 2) & (fftSize - 1); auto s = buffer[k] * invFFTSize; float power = s.real() * s.real() + s.imag() * s.imag(); - float magdb = log2f(power) * dbMult; - *dest = magdb; + float logPower = log2f(power) * logMultiplier; + *dest = logPower; dest++; } }