A real-time MIDI visualizer built as a JUCE audio plugin. Receives MIDI input and renders animated circles — one per voice — with drum hit-counter animations, video backgrounds, and a configurable options panel. Runs as a standalone app or as a VST3/AU plugin.
- CMake 3.22+
- C++17 compiler (Clang on macOS)
- JUCE 8 — clone or download to
~/Downloads/JUCE(the CMake build expects it at../../Downloads/JUCErelative to the project root) - macOS — required for the AVFoundation video background (Objective-C++ with ARC)
# Configure (first time only)
cmake -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug
# Build standalone app
cmake --build cmake-build-debug --target midi-visu_Standalone
# Build & run tests
cmake --build cmake-build-debug --target midi-visu-tests
cd cmake-build-debug && ctest --output-on-failureThe standalone app is output to:
cmake-build-debug/midi-visu_artefacts/Debug/Standalone/midi-visu.app
Other available plugin formats: VST3, AU.
| Key | Action |
|---|---|
F |
Toggle fullscreen |
Esc |
Exit fullscreen |
O |
Toggle options panel |
L |
Toggle log panel |
Circles can be repositioned by dragging them with the mouse.
| MIDI Channel | Role | Visual Column |
|---|---|---|
| 10 | Drums (4 voices) | 0 (leftmost) |
| 2 | Melodic track 1 | 1 |
| 3 | Melodic track 2 | 2 |
| 4 | Melodic track 3 | 3 |
Channel assignments are configurable via the options panel.
For project structure, class descriptions, dependencies, and implementation patterns, see ARCHITECTURE.md.
All rights reserved.