Real-time C++/JUCE music education app for measuring trumpet articulation speed, timbre, and shape with graphical feedback.
Music students get tons of subjective feedback on articulation ("softer", "more staccato!"). Articulation Beacon quantifies that feedback in real time and turns it into visuals for beginner musicians:
- Onset accuracy (how close you start to the beat/target)
- Timbre accuracy (how appropriate your timbre is)
- Shape accuracy (overal amplitude shape)
-
Live capture & analysis
- Low-latency audio I/O via JUCE’s
AudioDeviceManager - Real-time spectral flux, amplitude envelope, spectral centroid
- Low-latency audio I/O via JUCE’s
-
Target vs. User comparison
- Load a target articulation window (reference profile, custom recorded)
- Overlay user vs target windows for onset/sustain alignment
-
Metronome engine with tempo maps; syncs to video playback
- Click subdivisions & count-ins
- Input: Audio is read from the selected input device into a lock-free FIFO.
- FFT: Audio is chunked into frames and FFT is applied.
- Metrics:
- Spectral flux (onset, sustain detection) with smoothing + adaptive thresholding
- Amplitude envelope for shape correlation
- Spectral centroid for timbre tracking
- Visualization:
Graphpaints visual representation of articulation
- JUCE 7+ installed
- Windows: Visual Studio 2022
- macOS: Xcode 15+
Option A — Projucer (simple)
- Open
ArticulationBeacon.jucerin Projucer. - Enable your exporter (VS2022 or Xcode) → Save and Open in IDE.
- Build & run the App target.
Option B — CMake
# Example; adjust paths to your JUCE checkout
cmake -S . -B build -DJUCE_DIR=deps/juce
cmake --build build --config Release
./build/ArticulationBeaconFeel free to open an issue or reach out!