GitPedia
swharden

swharden/Spectrogram

.NET library for creating spectrograms (visual representations of frequency spectrum over time)

17 Releases
Latest: 1y ago
Spectrogram 2.0.0-alpha2.0.0-alphaLatestPre-release
swhardenswharden·1y ago·November 1, 2024
GitHub

📋 Changes

  • @vadd98 made their first contribution in https://github.com/swharden/Spectrogram/pull/61
  • @Haukanes made their first contribution in https://github.com/swharden/Spectrogram/pull/60
Spectrogram 1.6.11.6.1
swhardenswharden·3y ago·July 10, 2022
GitHub

📋 Changes

  • Added `rotate` argument to `GetBitmap()` for creating vertical spectrograms (#47, #27) _Thanks @wiiNinja and @padesso_
Spectrogram 1.5.01.5.0
swhardenswharden·4y ago·June 16, 2022
GitHub

📋 Changes

  • Improved accuracy of FFT frequency by one pixel ([FftSharp #49](https://github.com/swharden/FftSharp/issues/49))
  • Deprecated Spectrogram File Format (#44, #45)
Spectrogram 1.4.41.4.4
swhardenswharden·4y ago·March 22, 2022
GitHub

📋 Changes

  • Fixed divide-by-zero error that occurred when attempting to generate a Bitmap with too little data (#42)
Spectrogram 1.4.31.4.3
swhardenswharden·4y ago·October 27, 2021
GitHub

📋 Changes

  • Upgraded to FftSharp 1.1.2 and ScottPlot 4.1.27
Spectrogram 1.4.21.4.2
swhardenswharden·4y ago·October 8, 2021
GitHub

📋 Changes

  • NuGet package build is now deterministic and uses SourceLink
Spectrogram 1.4.01.4.0
swhardenswharden·4y ago·September 5, 2021
GitHub

📦 Release Notes

  • `Add()` now accepts `IEnumerable` instead of just `double[]` (#33, #35) _Thanks @shirok1_
  • SpectrogramGenerator can be initialized with a pre-existing array to improve performance (#33, #36) _Thanks @shirok1_
  • `Colormap` is now a public field that can be accessed directly
  • Improved XML documentation for spectrogram generator fields, properties, and methods
Spectrogram 1.3.01.3.0
swhardenswharden·5y ago·January 4, 2021
GitHub

📦 Release Notes

  • `Spectrogram.Spectrogram` has been renamed to `Spectrogram.SpectrogramGenerator` to avoid conflicts with the `Spectrogram` namespace when `using Spectrogram` (#30)
  • `GetBitmap()`, `GetBitmapMel()`, and `SaveImage()` have a new optional `dBScale` argument which is a value (defaults to 1) each intensity gets multiplied by prior to taking its log when `dB` is `true`. This change pushes the optional `roll` argument back in the list.
  • See [SpectrogramGenerator.cs#L142-L143](https://github.com/swharden/Spectrogram/blob/9ac30822679ac405b9b31fbe70e97cf3c1044edd/src/Spectrogram/SpectrogramGenerator.cs#L142-L143) for the new function signature.
  • See [Image.cs#L49-L50](https://github.com/swharden/Spectrogram/blob/9ac30822679ac405b9b31fbe70e97cf3c1044edd/src/Spectrogram/Image.cs#L49-L50) for the new log transform step
  • `Spectrogram.WavFile` has been deprecated. This static class previously held methods to read WAV files but many files were not supported because WAV file headers are highly variable (and not all WAV files adhere to a standard format, #21, #12). Users are encouraged to implement their own audio file readers. The quickstart examples have been updated to use a WAV file reader provided by NAudio.
  • Example WAV file reader: [AudioFile.cs#L10-L22](https://github.com/swharden/Spectrogram/blob/9ac30822679ac405b9b31fbe70e97cf3c1044edd/src/Spectrogram.Tests/AudioFile.cs#L10-L22)
  • Example MP3 file reader: [AudioFile.cs#L24-L38](https://github.com/swharden/Spectrogram/blob/9ac30822679ac405b9b31fbe70e97cf3c1044edd/src/Spectrogram.Tests/AudioFile.cs#L24-L38)
  • WavFile original source code: [WavFile.cs](https://github.com/swharden/Spectrogram/blob/9ac30822679ac405b9b31fbe70e97cf3c1044edd/src/Spectrogram/WavFile.cs#L7-L120)
Spectrogram 1.2.61.2.6
swhardenswharden·5y ago·November 1, 2020
GitHub

📋 Changes

  • Upgraded to [FftSharp 1.0.8](https://github.com/swharden/FftSharp/releases) which uses an improved FFT calculation ([FftSharp#24](https://github.com/swharden/FftSharp/pull/24)) so spectrograms will be 1 pixel higher than they were before
  • Fixed reverse grayscale colormap (#29) _Thanks Erika_
Spectrogram 1.2.51.2.5
swhardenswharden·5y ago·August 6, 2020
GitHub

📋 Changes

  • Add SFF ImageHeight and ImageWidth properties (#23)
  • Improve SFF.ToString() output (#22)
  • SFF module now pre-calculates frequencies and times (#24)
  • Tools.GetMidiNote() now accepts a double (#25)
Spectrogram 1.2.41.2.4
swhardenswharden·5y ago·July 26, 2020
GitHub

📋 Changes

  • simplified support for Mel scaling (#14) by using [FftSharp](https://github.com/swharden/FftSharp)'s latest Mel scaling methods
  • suppress console output when loading SFF files (#15)
  • created a tools module (#4) with methods for collapsing 2D spectrogram data into 1D (for frequency analysis of amplitude analysis), peak frequency detection, frequency/note conversion, etc.
  • added FilePath property to SFF module (#16)
  • improved methods for listing/selecting colormaps by string name (#18) to simplify use in GUIs (e.g., listing all colormaps in a combobox)
  • improved error messages related to generating SFF files with complex data (#19)
Spectrogram 1.2.31.2.3
swhardenswharden·5y ago·July 4, 2020
GitHub

📋 Changes

  • improved support for saving and loading SFF files
  • added features for generating Mel spectrograms
  • exposed additional FFT settings properties
Spectrogram 1.2.21.2.2
swhardenswharden·6y ago·June 23, 2020
GitHub

📋 Changes

  • Added new colormaps
  • NuGet package now includes [debug symbols](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg)
Spectrogram 1.2.11.2.1
swhardenswharden·6y ago·June 18, 2020
GitHub

📋 Changes

  • Improved WavFile reader #12
  • Added common methods from Spectrogram 1.0 marked as obsolete
Spectrogram 1.2.01.2.0
swhardenswharden·6y ago·June 18, 2020
GitHub

📋 Major Changes

  • The [FftSharp](https://github.com/swharden/FftSharp) library is used for FFT math and window function generation
  • Greatly improved colormap support and make it easy for users to create custom colormaps
  • Parallel processing support is used for FFT calculations resulting in faster analysis of large files
  • Now includes WavFile module for simple reading of audio data from WAV files
  • Spectrograms can now be saved as SFF (spectrogram file format) files which is are superior to bitmaps (in that they store floating-point FFT magnitudes instead of images which typically only store one byte per pixel)
  • Added support for generation of vertical axis bitmap with tick marks and labels
  • Supports "scrolling" and "rolling" modes for continuously-updated data displayed in fixed-with spectrograms
Spectrogram 1.0.01.0.0
swhardenswharden·6y ago·August 25, 2019
GitHub

_Published on [NuGet](https://www.nuget.org/packages/Spectrogram/) on 2019-08-25_ This is the first release of a functional Spectrogram library on NuGet

Spectrogram 0.0.10.0.1Pre-release
swhardenswharden·6y ago·August 16, 2019
GitHub

This is an alpha release mostly for testing. The `Spectrogram` class library is .NET Core 3.0 and compiles a NuGet package for net45 and core: https://www.nuget.org/packages/Spectrogram/