Chiptunes
As a part of the holiday brake (mostly to prevent me from playing Factorio), I decided to get into making chip music. The goal is to, at the very least, grasp the concepts and produce an original piece of music that sounds. No qualifier, just sounds.
This (short) post is both a write-up and a place for notes as I learn. Since I am a complete beginner, take everything written here with a huge grain of salt.
- day: spent comfortable with Furnace; playing around with inputting notes
- the target device is the NES since it’s channels are pretty limited
- day: figured out a simple progression that sounds interesting
- day: fleshed out the progression and added fluff around to make it interesting
- day: work on the second song, which will be a Waltz
- day: again some more work, this is pretty hard
A long time ellapsed here, during which I did nothing. The work during days 4. and 5. gave me a good idea of how much work it actually is to create a good-sounding chiptune (which, to some extent, was the goal of the project), so I’m going to leave it here for now. Who knows, maybe I’ll return to make more chiptunes some other time 🙂.
- day: finishing touches on the (start of the) Waltz
- here are the results (still pretty bad): Second.wav (20 seconds), Second.fur (Furnace file)
Terms and definitions
Chiptune music [wikipedia]:
- music created using PSGs (programmable sound generators)
- chips that create/synthesize audio waves from basic waveforms
- usually a basic wave like square/triangle/saw-tooth/sin/noise
- can be used in FM synthesis to create more general sounds by modulating waves with one another (neatly explained in this video)
Tracker [wikipedia]:
- generally software for creating music
- music presented as musical notes positioned in several channels (top to bottom)
- here is a gigantic video that dives into trackers in great detail
Using the Furnace tracker
- here is a great [YouTube video] from which I learned most of the introductory stuff
Pattern window (bottom left) is where we’ll be doing the sequencing
- channels have the following columns:
- note – defining the pitch and the octave
- instrument – selecting pre-made instruments from the instrument window
- volume – the volume of the note
- effects (multiple) – things like vibratos, pitch slides (see right side)
- notes always play indefinitely (until another note / note cut)
Tempo (top right) is determined by the tick rate
, which determines TPS
speed
– how many ticks a row lasts forhighlight
– highlights row multiples (i.e. determines beat/measure length)pattern length
– number of measures in the current pattern
Pattern window (top left) determines the order the patterns in the song are played
Edit window (top left-ish) has things for editing the composition
octave
– the octave that will be inputstep
– the length of a step after a note is input
Chip manager window can be used to define the PSGs used in the composition
Controls
F4
/F5
– stop/play (the stop was configured)-
Ctrl+Enter
/Shift+Enter
– step/play from cursor Ctrl+F1
/Ctrl+F2
– Transpose -1/+1 note-
Ctrl+F3
/Ctrl+F4
– Transpose -1/+1 octave - notes can be input either with a MIDI controller (oof) or via a the keyboard:
space
– disable/enable note input1
– note cut (OFF
)zsxdcvgbhnmq
(first octave)q2w3er5t6yui
(second octave)
- effects can be input by writing their code in the rightmost two columns
- these are not tied to one note but to the whole channel!
- certain individual effects have to be turned off!
ECxx
– note cutF3xx
/F4xx
– volume slide up/down