Add and play your own
songs with our editor

You already know how to add custom songs to Beatron. If you've done that successfully, and are ready to start creating your own tracks, then read on!


Download the Beatron Song Editor for either Mac or Windows. (These are 64-bit apps; if you need a build for an older machine or some other platform, use the contact form at the bottom of this page and we'll see what we can do.)

Unzip the file, copy the contents to a folder on your hard drive, and launch. On Mac, you may need to right-click the app and use the "Open" command to get past the gatekeeper.

Upon launch, it'll ask you what file to open. Just Cancel for now.


You'll need an MP3 file of a song that has a strong beat, and to make your life easier, keep it in 4/4 time (that is, four beats per measure).


As you probably learned when installing custom songs, you need a little hierarchy of files for each song. Your new custom song is no different. Create a folder whose name ends in ".song", and inside that, prepare three files:

  1. songname-beatdata.csv, which contains the actual beats (targets) for your song.
  2. songname-meta.txt, containing the metadata for the song (see below).
  3. songname.mp3, the actual music file you chose in the previous step.

The meta file is a simple text file that looks like this:

title: Fire
artist: Justin Savage
attribution: from the Lawless soundtrack
bpm: 140
beatOffset: 0.15
startOnMeasure: 1

Each line is a simple key:value pair. title, artist, and attribution are all things that appear in the Beatron UI. bpm is the beats per minute (tempo) of the song, which you can determine using a tool like this one. beatOffset is an optional offset, in seconds, used to make sure that Beatron's beats really are right on the beat in the music. Finally, startOnMeasure tells Beatron which measure you want it to start on when you play. Normally this will be 1, but while working on your song, you can use it to jump into the middle so you don't have to play through the first part of a song just to test the end.

The beat data file is a CSV (comma-separated value) file defining all the targets in the song. The first line of this text file should look like this:

Measure,Beat,Levels,Event Type,Position,Rotation,Details,Comment

You can leave the rest of the file empty for now; the Beatron Song Editor will fill it in as you code the beats visually. (However it's also fine to edit this CSV data directly, if you know what you're doing.)


At this point you should install your song on your Go. Launch (or quit and relaunch, if it was already running) Beatron 2000. Your song should appear in the song list, and you should be able to select it and "play" it, even though no targets ever appear (beacuse you haven't added any yet).


Now comes the fun part! Fire up the Beatron Song Editor, and when it asks you to select a file, pick the MP3 file in your song folder. It should open a window that looks something like this:

At the top of the window is a song player. Click the play/pause button to control the music; use the volume control at the right to lower the volume of just the music (and not the rest of your system sounds).

The large list on the left side of the window is the timeline, organized by measure and beat. Select any row in that list, and you can view or change the targets that are due on that beat, using the target map on the right.

Click in the middle of any target square to add a bash target; click near the edge of a square to add a slice target (oriented in that direction). The three topmost squares are slightly different; those are for interrupts, so any click there places an interrupt. Mouse over any target and a little "x" appears; click that "x" to delete the target.

So, use this to add a few targets to your song, maybe starting around measure 3. Save your work with the File -> Save menu command. Then install your song on your Go again, relaunch Beatron, and try it out! Repeat until satisfied.


We won't lie: coding songs is not easy, especially at first. When you need help, advice, or encouragement, hop onto the #song-coding channel of our Discord server, and we'll help you out!