• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Pokecrystal] Crystal Tracker - A Gen 2 Song Editor

Danny-E 33

The Loneliest Cubone
  • 264
    Posts
    13
    Years
    • Seen Mar 2, 2025
    Crystal Tracker

    A song and sound editor for pokecrystal, pokegold, pokeyellow-crysaudio, pokered-crysaudio, and pokepinball.

    Crystal Tracker provides the ability to directly create and modify pokecrystal-based asm song files, with in-app immediate playback by dynamically loading and synthesizing custom channel 3 waveforms and channel 4 drumkits.

    The editor exports fully complete asm song files, so that you can "Save" your changes and then immediately `make` your project and instantly have a new ROM file with your modifications included — no additional conversion tools or steps required.

    [PokeCommunity.com] Crystal Tracker - A Gen 2 Song Editor


    Getting Started

    Windows

    Download the latest Windows executable from the Releases section.
    To build from source, see INSTALL.md.



    Linux

    See INSTALL.md to build from source or run the Windows executable via Wine.



    Mac

    Download the latest dmg from the Releases section or run the Windows executable via Wine.
    To build from source, see INSTALL.md.



    The example/ directory contains crystaltracked.asm, an original composition by Mickey-A 42.

    Be sure to see the Help menu for a full explanation on how to use the editor.

    Upgrading a legacy project

    If your project uses the "legacy" macros (pre-2020), you will need to upgrade your project.

    Download tools/upgrade.py and put it at the root of your project.
    Run the upgrade script on your music folder, like:
    Code:
    python3 upgrade.py -v audio/music/
    It can also be used to upgrade individual files, like:
    Code:
    python3 upgrade.py -v audio/drumkits.asm
    The script also works with python2. Run `./upgrade.py -h` for all options.

    Be sure to make adequate backups of your song files (via git or otherwise) before upgrading, just in case.

    Then you must copy all modern audio macros from the latest macros/scripts/audio.asm and macros/legacy.asm into your project.

    Special Thanks

    This project takes a lot of inspiration (and a lot of backbone code structure) from Polished Map. A huge thank you to Rangi42!

    Additional thanks to mid-kid for the Mac port.

    Screenshots!

    Spoiler:
     
    Last edited:
    Crystal Tracker v0.4.0 (2023-12-14)

    • Add rectangle select.
    • Improve tempo to bpm approximation for playback.
    • Improve playback of noise samples that never fade out. (See: Pinball's seelstage.asm)
    • More intuitive keyboard controls for the Note Properties panel.
      • Escape now aborts note property changes.
      • Enter now also deselects the textbox.
    • Fix playback of drum samples for songs that also use inline waves.
    • Warn for songs that use too many inline waves.
    • Using too many drums is now a warning and not an error.
    • Allow setting drumkit from Note Properties panel.
     
    Crystal Tracker v0.6.0 (2024-02-11)

    By far the most feature-rich version of the editor yet. Full support for making and unmaking loops and calls. More efficient editing, better warnings and errors, more customizability.

    Full changelog for this release:

    • Add right-click context menu with loop and call functions.
      • Loops: Reduce, Extend, Unroll, Create
      • Calls: Delete, Unpack, Create, Insert
    • Add note label toggle.
    • Add key label toggle, note label toggle, and ruler toggle to toolbar.
    • Shorten and Lengthen now drag the cursor if the cursor is aligned to the right edge of a selected note.
    • Clicking into the measure ruler now sets the playhead.
    • Placing new notes now copies the speed of the previous note when possible.
    • Note properties panel now supports alt shortcut keyboard navigation.
    • Add Select Invert function.
    • Unreferenced labels are now visualized in the timeline with a gray line.
    • Add gray flag for misc/other settings changes.
    • Add warning when labels are used by multiple channels.
    • Add error when loading a song that contains unsupported rgbds keywords (eg, rept).
    • Add warning when note properties differ on the second iteration of the main loop.
    • Add menu option checkbox to disable main loop verification.
    • Increase max undo limit from 100 to 256.
     
    Crystal Tracker v0.7.0 (2024-06-08)

    • Better Pencil: Click and drag to pick note length.
    • Better tempo handling:
      • Visualize all tempo changes with dark purple or dark yellow lines.
      • Automatically split rests according to first channel tempo changes.
      • Disable tempo property input box for non-first channels.
      • Add Postprocess Channel to Edit menu to trigger automatic rest splitting on-demand.
    • Better Measure Ruler:
      • Add ruler config dialog to set the time signature of the ruler to match the song, including pickup notes.
      • Remember ruler config for recent files.
      • Increase max grid width from 16 to 32.
    • Better toolbar:
      • Add loop verification toolbar button.
      • Add toolbar buttons for moving/resizing notes.
      • Add Delete, Snip, Split, and Glue to toolbar.
    • Better zoom: Add extra zoom-out zoom level.
    • Better playback: Slightly improve vibrato playback for slow tempos.
    • Better editing: Add Insert Rest to Edit menu; useful for widening inner loops and calls.
     
    Crystal Tracker v0.8.0 (2024-08-31)

    • Add Format Painter: Copy note properties from one note to another.
    • Add full support for stereo panning command.
    • Add BPM display to status bar.
    • Add Duplicate Note to Edit menu.
    • Add Ctrl+F3 for dumping .it file.
    • Add Ctrl+\ for centering the playhead in the middle of the screen.
    • Add confirmation dialog for clearing recent songs.
    • Pencil icon now matches selected channel color.
    • Slightly emphasize beat lines when ruler is active.
    • Increase max grid width to 48.
    • Selecting notes with Enter key: Select the note to the left of the playhead if Alt is also pressed.
    • Keep Skip Backward/Forward enabled while the song is playing, which now act like rewind and fast-forward.
    • Minor bug fixes.
     
    Back
    Top