Skip to content

unitycoder/Spectrogram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spectrogram

Spectrogram is a .NET library which makes it easy to create spectrograms from pre-recorded signals or live audio from the sound card. This library supports .NET Framework (4.5) and .NET Core (3.0).

Quickstart: The code below converts /data/mozart.wav (Mozart's Piano Sonata No. 11 in A major) to a spectrograph and saves it to produce the image above.

var spec = new Spectrogram.Spectrogram();
float[] values = Spectrogram.WavFile.Read("mozart.wav");
spec.Add(values);
spec.SaveBitmap("mozart.jpg");

Realtime Audio Monitor

A demo program is included which monitors the sound card and continuously creates spectrograms from microphone input. It runs fast enough that the entire bitmap can be recreated on each render. This means brightness and color adjustments can be applied to the whole image, not just new parts.

TODO:

  • render horizontally or vertically
  • optional display of axis labels (scales)
  • create bitmaps in real time from audio input
  • advanced color (LUT) options
  • advanced intensity options (nonlinear scaling)
  • create a user control to display a spectrogram
  • create a user control to adjust spectrogram settings
  • options for bitmap to scroll or to statically repeat

Resources

QRSS

Introduction

Software

  • Argo (website) - closed-source QRSS viewer for Windows
  • SpectrumLab (website) - closed-source spectrum analyzer for Windows
  • QrssPIG (GitLab) - open-source spectrograph for Raspberry Pi (C++)
  • Lopora (website) - open-source spectrograph (Python 3)
  • QRSS VD (GitHub) - open source spectrograph (Python 2)

Spectrogram vs Spectrograph

  • A spectrogram is an image
  • A spectrograph is a machine
  • Stop using the word spectrograph in software!

About

.NET library for creating spectrograms

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C# 67.4%
  • Python 32.0%
  • Batchfile 0.6%