A compact sampled piano and guided music playground for M5Stack CardputerZero.
- Play a polyphonic sampled piano across selectable octaves
- Switch to a diatonic chord layout with major and minor keys
- Follow familiar melodies and chord progressions with Play Along
- Show or hide the on-screen keyboard map
- White keys:
A S D F G H J K - Black keys:
W E T Y U - Keymap:
Spacetoggles the on-screen keyboard map - Mode:
Tabswitches between Piano and Chord - Octave / key: Left / Right or
Z/C - Chord tonality:
Mswitches between Major and Minor - Play Along:
Pplays a demonstration, then guides each note or chord - Exit: Hold
Esc
Fetch the pinned dependencies once after cloning:
./bootstrap.shBuild and run the SDL desktop version:
cmake -S . -B build/sdl -DPIANO_USE_SDL=ON -DPIANO_BUILD_TESTS=ON
cmake --build build/sdl -j"$(nproc)"
ctest --test-dir build/sdl --output-on-failure
./dist/M5CardputerZero-PianoSet PIANO_SOUNDFONT_PATH=/path/to/piano.sf2 to test another SF2 bank. Preset 0 is used.
Build the CardputerZero ARM64 APPLaunch package:
./packaging/deb/package_deb.shThe script builds natively on ARM64 or cross-compiles from x86 Linux and writes these files to dist/:
dist/M5CardputerZero-Piano
dist/piano.sf2
dist/m5cardputerzero-piano_<version>_m5stack1_arm64.deb
The Debian package installs the SoundFont automatically. For standalone device testing, keep piano.sf2 beside the
executable. See THIRD_PARTY_NOTICES.md for dependency and SoundFont attribution.