[All work](/work?type=work)

# Piano Waveform Visualiser

I made a small C++ piano visualiser where selecting keys changes both the sound being synthesised and the waveform shown beside the keyboard.

[Source code](https://github.com/Slaymish/PianoVisualiser)

Independent development. C++17, SDL2 and audio synthesis.

![Explanatory diagram for Piano Waveform Visualiser, showing Selected keys, Summed tones, Waveform display.](https://cdn.sanity.io/images/qnuj1c4o/production/201a7adbf79b6090de547388e90d100f18c4e57e-1280x720.png?w=1280\&q=80\&auto=format)

I was playing with the relationship between piano frequencies and the shape of their combined signal, and the on-screen keyboard gave the same set of notes a sound and a visible waveform, with the waveform drawn from the combined signal while each selected key still had its own frequency.

SDL2 handled the interface and audio, with key selection and a scale control changing the display as the tones were combined, and hover information showing the individual key frequencies.

The aggregate frequency values are part of this visualisation's calculations, though a combination of notes still contains its separate components and should not be reduced to one physical pitch.

The catalogue date follows the first preserved commit on 10 July 2025.

## Outcome

An interactive keyboard and synthesis experiment with a waveform display. The preserved program supports selected keys and display-scale controls, with MIDI and file input left as future work.

[All work](/work?type=work)
