Tape codes
Every song Bandalong writes has a short code. Give someone the code and their Bandalong writes the same song. That's all a tape code is: a song's name, short enough to read out loud.
What it is, in plain words
Bandalong doesn't keep a library of recordings. Its band composes each song when you ask for one, following the rules of the style, starting from a number. Start from the same number and it composes the same song again, note for note.
A tape code is that number, with the station it belongs to. It isn't a recording and it holds no music. It's closer to a recipe card that only says "recipe number 3,775,619,250, from the Lofi kitchen": useless without the cook, and exact with one.
That has some pleasant consequences:
- A song fits in a text message. Or on a sticky note, in a video description, or read down the phone.
- Nothing is uploaded or stored anywhere. There is no account and no server holding your tapes. The code is the whole thing.
- There are billions of them. Each station has about 4.3 billion tapes. Most have never been heard by anyone. Make up a code and you may be the first.
How to use one
- Someone sent you a link
- Open it and press Play. A link is just the code after
bandalong.app/play/#, likebandalong.app/play/#LL-ST-E10B-60B2. It plays in your browser; nothing is installed. - Someone gave you only the code
- Type it after
bandalong.app/play/#in your browser's address bar. Or, in Bandalong, open Your tapes and paste it into the tape code box. Capitals and dashes don't matter:ll st e10b 60b2works too. - You want to share what you're hearing
- The code is printed on the cassette's label while a tape plays. Press Share to send it as a link, or just copy it down.
- You want to keep a tape
- Press the heart to save it in Your tapes. Or write the code anywhere you like: it will bring the tape back on any device.
What's in a code
| Part | Example | What it means |
|---|---|---|
| Bandalong | LL | Marks it as a Bandalong tape. (The app was first called LofiLoom.) |
| Station | ST | Which of the six tape stations wrote it. ST is Lofi. |
| Number | E10B-60B2 | The number the composer started from: eight characters, each 0 to 9 or A to F. |
| Band (optional) | -SW-0A1B2C3D | The tape played by another style's band (SW is Swing), and which of that band's takes. |
| Version (optional) | -v48 | Which version of the composer wrote it down. See "Will it always sound the same?" below. |
So LL-NI-9F3A-21C4-SW-0A1B2C3D-v48 reads: a Bandalong tape, from Smoky jazz, number 9F3A21C4, played by the Swing band, take 0A1B2C3D, written down by composer version 48.
Will it always sound the same?
The same code always opens, and always gives the same song on the same version of Bandalong. Two people on the same version hear the same notes.
When we improve the composer or the instruments, an older code plays its tape the improved way, and Bandalong marks it "remastered". The tune you kept is still recognisably that tape, but it is not frozen like a recording. If you need a performance to stay exactly as it is, save it as a recording from the full app.
Rain, vinyl crackle and other room sounds are added live, so they differ a little each time.
For people who build things
You're welcome to use this. You don't need our permission, an account or a key to make, read, publish or link to tape codes: on a web page, in an app, in a lesson, on a poster. The format below is what we promise to keep working. The Bandalong name, the app and its recordings remain ours.
The link. A tape's link is the web app's address, a #, and the code:
https://bandalong.app/play/#LL-ST-E10B-60B2
The code rides after the #, which browsers never send to a server, and the page takes it out of the address bar before anything else runs.
The format.
LL-<station>-<XXXX>-<XXXX>[-<style>-<XXXXXXXX>][-v<version>]
- station: two letters, one of the six below.
- XXXX-XXXX: the number, 32 bits as eight hexadecimal digits, any value from
0000-0001toFFFF-FFFF. Every one is a tape.0000-0000is never used. - style and its eight-digit take number: optional, and always together. A style tag is two letters; the eight digits after it are that band's take.
- version: optional, one to three digits. Leave it off when you make a code; the app adds it when it writes one down.
Reading is forgiving. Bandalong accepts any mix of capitals, spaces, dots or underscores in place of dashes, no separators at all, a missing LL, and a code sitting inside a longer message. A style tag it doesn't know is ignored and the tape plays with its station's own band.
Stations
Styles
Making a link in code. Pick a station and any number:
function tapeLink(station, number) {
const hex = (number >>> 0).toString(16).toUpperCase().padStart(8, "0");
return "https://bandalong.app/play/#LL-" + station + "-" + hex.slice(0, 4) + "-" + hex.slice(4);
}
tapeLink("ST", 0xE10B60B2);
// "https://bandalong.app/play/#LL-ST-E10B-60B2"
// A tape nobody has heard: a random number on Smoky jazz
tapeLink("NI", 1 + Math.floor(Math.random() * 0xFFFFFFFE));
What we promise. A code in this format will keep opening in Bandalong. New stations and styles may add tags; the ones listed here will keep their meaning.
What this page doesn't cover. Links to a song from the Songbook (they begin LLSB1., LLSET1. or LLHW1.) carry a chord chart and how the band plays it. They work the same way for sharing, but their inner format is still settling, so we haven't published it yet.
Questions, or something you've built with tape codes: [email protected].