-
-
Notifications
You must be signed in to change notification settings - Fork 494
Music Editor
The Music Editor has two separate views that can be toggled using the top buttons in the top right: Piano Mode and Tracker Mode. Either view can be used to product the same result as there is no functional difference between the two, but one style may preferable over the other for different users.
TIC-80 can store up to 8 tracks (0 to 7) that act like separate pieces of music. The tempo, measured in beats per minute (BPM), is how fast the music will play back. The number of rows determines how many beats are in a given track, to a maximum of 64.
Tracks created in the Music Editor can be played using the music command.
In piano mode, the left column represents frames (known as "patterns" in most other trackers). Each frame will contain a series of notes (shown in the middle column) specified in the Rows count. Like tracker mode, up to four frames can be simultaneously playing in a given track. The frame currently being edited is highlighted in white.
At the bottom of the frame columns, the individual columns can have their mute status toggled.
The note entry columns become active once the frame number is created/specified by typing its number into the appropriate column. Note that frame index count begins at 01
.
A note break (or "stop") can be inserted by right-clicking on a row in the current frame. Stops are indicated by a horizontal line of red dots in the piano column.
The commands in the command column are available when an active pattern is selected in the frame column. The commands are: Master volume, Chord play, Jump to frame/beat, Slide, Pitch shift, Vibrato, and Delay trigger.
Commands are parameterized by using the X and Y values in the column to the right, in hexadecimal. Only a single command can be applied in each row.
-
Mxy
: Master volume- x and y values change the volume of the current note: left (x) and right (y) channel from 0 to f.
-
Mff
plays the note on full volume on both channels,Mf0
only on left channel.
-
Cxy
: Chord play- Chord plays three notes quickly in succession: the note specified by the note column, and
note + x
andnote + y
. The values of x and y are in semitones from 0 to f. -
C37
, with the noteC-3
, plays the notesC-3
,D#3
andG-3
, a C minor chord! - The command stays on, so remember to reset it afterwards with
C00
.
- Chord plays three notes quickly in succession: the note specified by the note column, and
-
Jxy
: Jump to frame/beat- Jumps to frame (pattern) x, beat (row) y.
-
J00
jumps to the beginning of the song, so if you use it, remember to remove the rule before exporting the music track.
-
Sxy
: Instead of playing the specified note immediately, slide from the previous note to current note in xy ticks (in hex).- First, play a note without using this command. On the next beat, add a new note that uses this command. This is the note you want to slide to!
-
S1f
takes 31 ticks to slide to the note. - After using the command, remember to reset it afterwards with S00.
-
Pxy
: Pitch shift- Apply a small change to the pitch of the current note.
-
P80
makes no changes, -
P84
changes the pitch a bit upwards, -
P7C
the same amount downwards.
-
Vxy
: Vibrato- x is period and y is depth (amount) of the effect. (
x=1
has no effect!). -
V2f
creates a very fast and very noticeable effect, -
Vf1
a very slow and not that noticeable effect.
- x is period and y is depth (amount) of the effect. (
-
Dxy
: Delay trigger- Delays playing the current note by xy ticks.
This mode may be familiar to users of previous TIC-80 versions, as well as those used to creating music on limited-resource systems.
To enter a note, click on a cell (or move to it using the arrow keys) and press a key on the bottom row of the keyboard similar to the SFX Editor. You can also enter notes from the next octave apart. Once a note is entered, it will play until the next note or note stop.
A note break (or "stop") can be entered by pressing A
. Stops are indicated by blank values in the note region instead of dashes.
A note on the track has three components: note, SFX, and command.
The note component is a letter from A to G indicating the actual note value. Sharp values are indicated by #
after the letter. The number next to the note value is the octave that note belongs to.
The SFX component is an orange number in the range of 00
to 63
. This number is the index of the voice (or instrument) created in the SFX Editor that will be played.
The command component consists of two parts: the command itself, and the X/Y parameters for the command. For more information, see the Commands section of Piano Mode.
Most keyboard shortcuts are usable in both modes in the Music Editor, as well as the SFX Editor.
SHIFT+ENTER Play pattern from cursor position in the music editor.
ENTER Play frame.
SPACE Play track.
CTRL+F Follow.
Z,X,C,V,B,N,M Play notes corresponding to one octave (bottom row of QWERTY layout) in tracker mode.
S,D,G,H,J Play notes corresponding to sharps and flats (home row of QWERTY layout) in tracker mode.
A Insert note break (or "stop").
DELELTE Delete selection / selected row.
BACKSPACE Delete the row above.
INSERT Insert rows below.
CTRL+F1 Decrease notes by Semitone.
CTRL+F2 Increase notes by Semitone.
CTRL+F3 Decrease octaves.
CTRL+F4 Increase octaves.
CTRL+RIGHT Jump forward one frame.
CTRL+LEFT Jump backward one frame.
TAB Go to next channel.
SHIFT+TAB Go to previous channel.
+ Next pattern.
- Previous pattern.
CTRL+UP Next instrument.
CTRL+DOWN Previous instrument.
The general hotkeys are available in the code editor too.
TIC-80 tiny computer https://tic80.com | Twitter | Telegram | Terms
Built-in Editors
Console
Platform
RAM & VRAM | Display | Palette | Bits per Pixel (BPP) |
.tic
Format | Supported Languages
Other
Tutorials | Code Snippets | Libraries | External Tools | FFT
API
- BDR (0.90)
- BOOT (1.0)
- MENU
- OVR (deprecated)
- SCN (deprecated)
- TIC
- btn & btnp
- circ & circb
- clip
- cls
- elli & ellib (0.90)
- exit
- fget & fset (0.80)
- font
- key & keyp
- line
- map
- memcpy & memset
- mget & mset
- mouse
- music
- peek, peek4
- peek1, peek2 (1.0)
- pix
- pmem
- poke, poke4
- poke1, poke2 (1.0)
- rect & rectb
- reset
- sfx
- spr
- sync
- ttri (1.0)
- time
- trace
- tri & trib (0.90)
- tstamp (0.80)
- vbank (1.0)