Skip to content

unitycoder/Spectrogram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spectrogram

.NET library for creating spectrograms

WARNING: This software project is pre-alpha! This repo is just a place to collect ideas and code.

Quickstart

This example converts a 3 minute WAV file (Mozart's Piano Sonata No. 11 in A major) to a spectrograph and saves the output as a JPG. When you know the song, you can recognize the individual notes by looking at the picture.

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

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

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%