Skip to content

Pixel-Matter/uZX

Repository files navigation

µZX — Chiptune Music Tool

CI License: GPL v3 Platform

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

µZX Player

Features

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 .uzx projects and .psg files 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)

Vision

µ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

Download

See Releases for pre-built binaries.

macOS Setup

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.)

Building from Source

git clone --recursive https://github.com/Pixel-Matter/uZX.git
cd uZX
cmake -S . -B build
cmake --build build

See CONTRIBUTING.md for detailed build instructions, prerequisites, and build targets.

Documentation

Community

Join the µZX Discord for support, discussion, and to connect with other users.

Contributing

Contributions are welcome! See CONTRIBUTING.md for build setup, code style, testing, and how to submit changes.

Credits

  • 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!

Powered by Tracktion Engine

About

See AUTHOR.md for the story behind this project.

License

GPL-3.0

About

µZX is a modern PC-based tool for retrocomputer chiptune music composing and playback, focused on ZX Spectrum and similar platforms. It features a timeline-based interface for arranging music and effects, with support for emulated AY-3-8910/YM2149 sound chips.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages