Music Visualizer

An OpenGL application for visualizing MIDI input in real time

The following is an application I developed for my Computer Graphics final project in the Sprint 2022 semester. It’s a small program that reads MIDI input over USB from a digital piano and shows the notes played in real-time, together with dynamics, note length, and a waveform display. It’s written from scratch in pure C++ using only raw OpenGL for graphics (plus GLFW for windowing).

This project helped reinforce my understanding of low-level computer graphics, including shaders and buffering. It was also neat to implement the waveform view, which calculates an additive wave from musical note frequencies.

The source code is available on GitHub here.

The demo video below demonstrates how the app works as I play the first part of Mozart’s Sonata No. 16 in C Major (K. 545).