Skip to content

Commit 4993d3b

Browse files
committed
Spectrogram -> SpectrogramGenerator #30
1 parent d064ea5 commit 4993d3b

File tree

9 files changed

+283
-275
lines changed

9 files changed

+283
-275
lines changed

src/Spectrogram.MicrophoneDemo/FormMicrophone.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ private void Form1_Load(object sender, EventArgs e) { }
4848
private void cbDevice_SelectedIndexChanged(object sender, EventArgs e) => StartListening();
4949
private void cbFftSize_SelectedIndexChanged(object sender, EventArgs e) => StartListening();
5050

51-
private Spectrogram spec;
51+
private SpectrogramGenerator spec;
5252
private Listener listener;
5353
private void StartListening()
5454
{
@@ -60,8 +60,7 @@ private void StartListening()
6060
pbSpectrogram.Image = null;
6161
listener?.Dispose();
6262
listener = new Listener(cbDevice.SelectedIndex, sampleRate);
63-
spec = new Spectrogram(sampleRate, fftSize, stepSize);
64-
//spec.SetWindow(FftSharp.Window.Rectangular(fftSize));
63+
spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize);
6564
pbSpectrogram.Height = spec.Height;
6665

6766
pbScaleVert.Image?.Dispose();
@@ -82,7 +81,7 @@ private void timer1_Tick(object sender, EventArgs e)
8281
spec.Process();
8382
spec.SetFixedWidth(pbSpectrogram.Width);
8483
Bitmap bmpSpec = new Bitmap(spec.Width, spec.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
85-
using (var bmpSpecIndexed = spec.GetBitmap(multiplier, cbDecibels.Checked, cbRoll.Checked))
84+
using (var bmpSpecIndexed = spec.GetBitmap(multiplier, cbDecibels.Checked, roll: cbRoll.Checked))
8685
using (var gfx = Graphics.FromImage(bmpSpec))
8786
using (var pen = new Pen(Color.White))
8887
{

src/Spectrogram.Tests/ColormapExamples.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public void Test_Make_CommonColormaps()
1111
{
1212
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio("../../../../../data/cant-do-that-44100.wav");
1313
int fftSize = 1 << 12;
14-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 700, maxFreq: 2000);
14+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 700, maxFreq: 2000);
1515
spec.SetWindow(FftSharp.Window.Hanning(fftSize / 3)); // sharper window than typical
1616
spec.Add(audio);
1717

src/Spectrogram.Tests/FileFormat.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public void Test_SFF_Linear()
1313
{
1414
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio("../../../../../data/cant-do-that-44100.wav");
1515
int fftSize = 1 << 12;
16-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 700, maxFreq: 2000);
16+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 700, maxFreq: 2000);
1717
spec.SetWindow(FftSharp.Window.Hanning(fftSize / 3)); // sharper window than typical
1818
spec.Add(audio);
1919
spec.SaveData("../../../../../dev/sff/hal.sff");
@@ -33,7 +33,7 @@ public void Test_SFF_Mel()
3333
{
3434
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio("../../../../../data/cant-do-that-44100.wav");
3535
int fftSize = 1 << 12;
36-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 700);
36+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 700);
3737
spec.SetWindow(FftSharp.Window.Hanning(fftSize / 3)); // sharper window than typical
3838
spec.Add(audio);
3939

@@ -62,7 +62,7 @@ public void Test_SFF_Linear2()
6262

6363
// save the SFF
6464
int fftSize = 1 << 12;
65-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 300, maxFreq: 2000);
65+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 300, maxFreq: 2000);
6666
spec.Add(audio);
6767
spec.SaveData("testDoor.sff");
6868

@@ -87,7 +87,7 @@ public void Test_SFF_LinearBigMaxFreq()
8787
Assert.AreEqual(48000, sampleRate);
8888

8989
int fftSize = 1 << 12;
90-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 300, maxFreq: 7999);
90+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 300, maxFreq: 7999);
9191
spec.Add(audio);
9292
spec.SaveData("testDoorBig.sff");
9393
}

src/Spectrogram.Tests/Mel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public void Test_MelSpectrogram_MelScale()
1414
{
1515
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio("../../../../../data/cant-do-that-44100.wav");
1616
int fftSize = 4096;
17-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 500);
17+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 500);
1818
spec.Add(audio);
1919

2020
Bitmap bmpMel = spec.GetBitmapMel(250);
@@ -95,7 +95,7 @@ public void Test_SaveEmpty_Throws()
9595
{
9696
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio("../../../../../data/cant-do-that-44100.wav");
9797
int fftSize = 4096;
98-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 500);
98+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 500);
9999
//spec.Add(audio);
100100
Assert.Throws<InvalidOperationException>(() => { spec.SaveImage("empty.png"); });
101101
}

src/Spectrogram.Tests/Quickstart.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void Test_Quickstart_Hal()
2626
{
2727
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio("../../../../../data/cant-do-that-44100.wav");
2828
int fftSize = 4096;
29-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 500, maxFreq: 3000);
29+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 500, maxFreq: 3000);
3030
spec.Add(audio);
3131
spec.SaveImage("../../../../../dev/graphics/hal.png");
3232

@@ -38,7 +38,7 @@ public void Test_Readme_HeaderImage()
3838
{
3939
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio("../../../../../data/cant-do-that-44100.wav");
4040
int fftSize = 2048;
41-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 400, maxFreq: 6000);
41+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 400, maxFreq: 6000);
4242
spec.Add(audio);
4343
spec.SaveImage("../../../../../dev/graphics/hal-spectrogram.png", intensity: 10, dB: true, dBScale: .05);
4444

@@ -55,7 +55,7 @@ public void Test_Quickstart_Handel()
5555
int targetWidthPx = 3000;
5656
int stepSize = audio.Length / targetWidthPx;
5757

58-
var spec = new Spectrogram(sampleRate, fftSize, stepSize, maxFreq: 2200);
58+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize, maxFreq: 2200);
5959
spec.Add(audio);
6060
spec.SaveImage("../../../../../dev/graphics/spectrogram-song.png", intensity: 5, dB: true);
6161

src/Spectrogram.Tests/TestAGC.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public void Test_AGC_off()
1515
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio(wavFilePath);
1616

1717
int fftSize = 8192;
18-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 2000, maxFreq: 3000);
18+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 2000, maxFreq: 3000);
1919
spec.Add(audio);
2020
spec.SaveImage("qrss-agc-off.png", intensity: 3);
2121
}
@@ -29,7 +29,7 @@ public void Test_AGC_normToNoiseFloor()
2929
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio(wavFilePath);
3030

3131
int fftSize = 8192;
32-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 2000, maxFreq: 3000);
32+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 2000, maxFreq: 3000);
3333
spec.Add(audio);
3434

3535
var ffts = spec.GetFFTs();
@@ -64,7 +64,7 @@ public void Test_AGC_normWindow()
6464
(double[] audio, int sampleRate) = WavFile.ReadWavWithNAudio(wavFilePath);
6565

6666
int fftSize = 8192;
67-
var spec = new Spectrogram(sampleRate, fftSize, stepSize: 2000, maxFreq: 3000);
67+
var spec = new SpectrogramGenerator(sampleRate, fftSize, stepSize: 2000, maxFreq: 3000);
6868
spec.Add(audio);
6969

7070
var ffts = spec.GetFFTs();

src/Spectrogram/SFF.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public SFF(string loadFilePath)
6060
CalculateFrequencies();
6161
}
6262

63-
public SFF(Spectrogram spec, int melBinCount = 0)
63+
public SFF(SpectrogramGenerator spec, int melBinCount = 0)
6464
{
6565
SampleRate = spec.SampleRate;
6666
StepSize = spec.StepSize;

0 commit comments

Comments
 (0)