A modern tool for composing and playing back chiptune music for platforms using the AY-3-8910/YM2149 sound chips — ZX Spectrum, Amstrad CPC, MSX, Atari ST, and others. While the name references ZX Spectrum, the architecture is chip-agnostic and designed to support additional sound chips in the future. Built with JUCE, targeting macOS, Windows, and Linux, with iOS and Android possible. Features a timeline-based DAW interface with precise chip emulation.
█▌█▌█▌ █▌█▌█▌ █▌ █▌ █▌█▌█▌ █▌
█▌ █▌ █▌ █▌ █▌█▌ █▌
█▌█▌█▌█▌█▌█▌ █▌█▌█▌ █▌ █▌ █▌█▌█▌ █▌█▌█▌█▌
█▌
| |
,---.---. ,---. --|---|-- ,---. ,---
| | | | | | | | |
| | ,---| | | |---' |
| | | | | | |
`---' | | `---'
`-- `--
,--------. ,---.
`---/ / / \ / / /
/ / / \ ' / /
B8 88 / / / / / Copyright 2025-2026
B8 88 / / / . \ pixelmatter.org
B8. 88. /---/ / / \ \
B8"oo""8o --'---' `-'
BP
Three applications from one codebase:
- µZX Studio — full-featured PSG music editor with timeline, instruments, and effects. Includes µZX Tuning.
- µZX Player — lightweight playback for
.uzxprojects and.psgfiles with drag-drop support, file associations, and keyboard shortcuts - µZX Tuning — standalone tuning table editor for exploring chip tuning systems. (Included in µZX Studio as a built-in tool)
µZX is being developed as the music subsystem of MoTool — a planned demotool for retrocomputer demoscene production. MoTool does not exist as a release yet; it will launch as a separate project on the shared codebase once the timeline supports video material and emulator integration. See docs/Vision.md for the full picture.
Music composition:
- Timeline-based arranging with tracks, clips, and automation
- Multiple chips — add chip plugins to multiple tracks or load multiple PSGs to separate tracks for multi-chip compositions.
- ChipInstrument plugin with ADSR envelopes for AY chip
- MIDI to PSG conversion with configurable tuning systems
- Real-time AY-3-8910/YM2149 emulation via ayumi
Tuning systems:
- 12-TET, 5-Limit Just Intonation, and custom tuning tables
- Visual tuning grid with note tooltips and scale highlighting
- Configurable chip clock frequency and A4 reference
- CSV export of tuning tables
Visualization & Interaction:
- PSG clip display with notes, noise/envelope decoration, and note pitch scale
- Integrated oscilloscope displays per AY channel with live monitoring
- Standalone scope plugin
- Smooth timeline scrolling and zooming with click-to-seek
See Releases for pre-built binaries.
If you encounter a quarantine warning when opening the app, clear it with:
xattr -rd com.apple.quarantine /Applications/µZX\ Player.app
xattr -rd com.apple.quarantine /Applications/µZX\ Studio.app(Replace app paths as needed. Adjust for your installation location, e.g., ~/Applications/ if installed there.)
git clone --recursive https://github.com/Pixel-Matter/uZX.git
cd uZX
cmake -S . -B build
cmake --build buildSee CONTRIBUTING.md for detailed build instructions, prerequisites, and build targets.
- Design — architecture overview
- Tuning Systems — tuning system design
- Parameter Binding — parameter binding system
- OVM Design Pattern — state management
- Roadmap — planned features and release milestones
- Vision — full MoTool vision and long-term goals
Join the µZX Discord for support, discussion, and to connect with other users.
Contributions are welcome! See CONTRIBUTING.md for build setup, code style, testing, and how to submit changes.
- Tracktion Engine — audio engine foundation
- JUCE — cross-platform C++ framework
- ayumi by Peter Sovietov (true-grue) — AY-3-8910/YM2149 emulation
Greets to diver, spke, n1k-o, bfox, wbcbz7, Pator, Megus, Volutar and all ZX Spectrum musicians and demosceners!
See AUTHOR.md for the story behind this project.
