Before You Begin
This guide makes a few assumptions:
- You’ve already installed Furnace and know where to find the
demosdirectory that comes with it. Look forquickstart.furbut don’t open it yet. - You haven’t changed any configuration or layout yet. It should start up with the default Sega Genesis system.
- You’re working with a PC keyboard, US English, QWERTY layout. Mac users should already know the equivalents to the
CtrlandAltkeys. - You’re comfortable with keyboard shortcuts. If not, a lot of this can also be done using buttons or menus, but please try the keyboard first. It’s worth it to smooth out the tracking workflow.
I’ve Opened Furnace – Now What?
On starting Furnace for the first time, the interface should look like this. If it’s not quite right, drag the borders between sections until it approximately matches.
There’s a lot going on, but the most prominent part of Furnace’s interface is the pattern view – the spreadsheet-like table that takes up the bottom-left.
Navigating the Pattern View
Click to place the cursor somewhere in this view. It will appear as a medium-blue highlight. Try moving around with the arrow keys:- Up/Down arrows: Move between rows
- PgUp/PgDn: Move faster through rows
- Home/End: Move to first/last row
- Left/Right arrows: Move between columns
- Home/End twice: Jump to first/last column
Playing Notes
Let’s play a little! Notes are arranged on the keyboard rather like a piano:
Keyboard Note Layout
Keyboard Note Layout
- Bottom row (
ZXCVBNM): C major scale (like piano’s white keys) - Second row (
SD GHJ): Accidentals (like piano’s black keys) - Third row (
QWERTYU): Same arrangement, one octave higher - Fourth row (
23 567): Accidentals for the higher octave
/ and * keys on the numeric pad. As an alternative, there’s an octave selector at the top of the interface.Edit Mode
Now press the space bar to change from play to edit mode. The row the cursor is on will change to dark red – the playhead mentioned earlier. Another way to tell what mode we’re in is via the play/edit controls just above the pattern view in the center; make sure the “record” button is on.
Now try playing some notes; they should appear in the pattern view, one after another.
Understanding Channels
Each channel is a group of columns separated from the others by lines, with a name at the top. Each channel can only ever play one note at a time. To hear this in action:- Move the cursor back to the top
- Press Enter or Return to start playback
- You should hear the notes played back quickly, one after another
- Press Enter again to stop playback
Selecting and Deleting Notes
Let’s clear out those notes. Click and drag to select them all. You’ll know they’re selected when they have a medium grey background. Hit Del to delete them all at once.
Playing Chords
You’ll usually want more than one note playing at a time. Move back to the start of the pattern in the leftmost column of the leftmost channel. Put some different notes next to each other in the same row. Only enter notes in the first column of each channel; we’ll get to those other columns later.
Go back to the top row and use F5 to play from the start. They should all sound at the same time as one single chord.
Note Offs
That chord will ring out for quite some time, but let’s try stopping it early. A couple rows after that chord, use the Tab or 1 key to enter a note off (sometimes called “note cut”) in each channel that has a note. It’ll appear asOFF in the note column.
You can undo errors with Ctrl-Z. Furnace keeps track of multiple levels of undo. Redo is Ctrl-Y.
.fur extension.
How Do I Get Different Sounds?
At the top of the interface, just right of center, is the instrument list. There are also tabs for wavetables and samples, but we’ll get to those later.
Create a new instrument
Click the
+ button to add a new instrument. A list of instrument types will pop up, one for each type supported by the chips in use. Select “FM (OPN)”, and the new instrument will appear in the list as “00: Instrument 0”.Load an existing instrument
Open up a second instance of Furnace and use Ctrl-O to open the
quickstart.fur file included with Furnace in its demos directory. The instrument list will contain “00: horn”; select it, then use the floppy-disk save icon above it to save it wherever you like. Furnace instrument filenames end with the .fui extension.
Click into the pattern view and add some notes in another FM channel well after our existing chord. We’ll hear them with our new sound, and the number 01 appears next to them. This is the instrument column, and it can be edited directly by typing in the number desired.
Generally, each note should have an associated instrument value.
How Do I Change Volume?
Next to the instrument column is the volume column. Typing in it will change the loudness of the associated note… but it’s not always as straightforward as it seems.Understanding Hexadecimal Volumes
This column operates in hexadecimal. In fact, so does the instrument column, and so will the others when we get to them. If you’re ever uncertain what the decimal equivalent is, put your cursor over the volume in question and look to the menu bar, which doubles as a status bar. Try typing6C into the volume column of the last note, then play it back. It should be much quieter than those before it in the column because they default to full volume – in this case, 7F. Everything in the column after our 6C will inherit that volume level until it’s changed again.
Volume Limits
Now try putting90 in the volume column. It automatically changes to 7F because that’s the maximum volume available for this channel. Different channels may have different maximum volumes because of how each chip works.
Linear vs Logarithmic Volume
Understanding Volume Curves
Understanding Volume Curves
Some chips use “linear” volume, which translates directly to amplitude; dividing the value in half results in half the volume.Other chips, such as the one we’re using right now, use “logarithmic” volume; subtracting from it lowers the volume based on how loud it sounds. In this particular case:
- Subtracting 8 to get
77lowers the volume by half - Subtracting 8 again to get
6Flowers it to one-quarter
Volume Effects
There are more ways to change volume using effects. Clear out all of our notes and place one at the top of one of the FM channels, and set it to full volume (7F).
Next to the volume column are the effect columns. In the effect type column, type 0A; this corresponds to the “volume slide” effect. Next to that, in the effect value column, type 02. Hit F5 to play from the start, and you’ll hear the note play but instead of staying at a steady volume it’ll smoothly fade out.
0A is an interesting effect because its two-digit value is split:0y(e.g.,01-0F): Fade down (slower to faster)x0(e.g.,10-F0): Fade up (slower to faster)
Continuous Effects
It’s important to know that most effects are continuous, meaning they will continue to do what they do until explicitly stopped. Volume slides are like this. Place an effect type of0A on row 16. You can leave the effect value blank or type 00 there; these are equivalent, and both will stop the effect.
How Do I Make the Song Longer?
Right now, our track is only about six and a half seconds long. This is because we only have one order. The term “pattern view” is slightly misleading in that a pattern is just one channel’s worth of data; the pattern view shows all the patterns in an order at once.
At the top left of the interface we find the order view. Similar to the pattern view, it’s like a spreadsheet, but even simpler.
Add a new order
Click on the
+ button to the right of the row of channel labels, and another order row appears, labeled 01 and filled with that same number.Navigate between orders
Click in the pattern view and move to the top-left by hitting Home twice. You’ll see that the new patterns are empty. Try moving between orders by clicking on their order numbers in the order list.
The important take away here is that patterns exist independently of orders. The order list is a playlist of patterns that can be freely rearranged.
Deep Clone
When you want to make variations of the same patterns, right-click the “duplicate” button (showing two overlaid pages). This creates a “deep clone”, meaning that all the patterns in it are duplicated to new pattern numbers.How Do I Change Tempo?
Tempo and speed are a little tricky – in fact, for the purposes of Furnace, they mean different things! First, let’s clear out our first order and put some evenly-spaced notes there.
Understanding Ticks
The most basic unit of time is the tick. Almost always, videogame systems take actions based on each frame of video, and these most often happen at 60 times per second, usually expressed as 60Hz. (This is for NTSC systems; systems that expect PAL will use 50Hz.) Because of this timing, everything that happens during playback will happen on a tick, never in between ticks.
Understanding Speed and Tempo
Understanding Speed and Tempo
If we click on the “Speed” tab at the top-right of the interface, we’ll see:
- Base Tempo: Shows the tick rate as “60Hz” to the right
- Speed: Set to 6 (each row takes 6 ticks to complete)
- Calculated Tempo: Shows “150.00 BPM”
What About Those Other Channels?
Here’s where we really get into the nitty-gritty of our emulated videogame system. We’ve been using Furnace’s default system, the Sega Genesis. It employs two very different sound chips:- Yamaha YM2612 (OPN2): Uses frequency modulation (FM) synthesis to generate sounds
- Sega PSG: A programmable sound generator that can only make square waves and variations of noise
PSG Channels
Create a PSG instrument
Create a new instrument, this time choosing “SN76489/Sega PSG” from the list. The new “Instrument 2” appears in the instrument list, already selected.
Use the correct channel
Move to the channel labeled “Square 1”, the first of the PSG’s channels. Add notes with the new instrument – they’re plain, no-frills square waves.
What About Samples?
The FM side of the Sega Genesis has a special feature; channel 6 can be used to play back digital samples. This means that any recording – a snare drum, an orchestra hit, somebody talking, whatever you have – can be part of the music.Load a sample
In the “Samples” tab, open a sample file (
.wav format). You can use the example from quickstart.fur in the demos directory.Create an instrument
Right-click on the sample in the list and select “make instrument”. The Instrument Editor window will pop up showing a “Generic Sample” instrument.
In this case, we can use a Generic Sample instrument type just fine, but there are chips that use samples in specialized ways. Always check the chip’s documentation for the best way to use samples with it.
What About Wavetables?
Some chips can use wavetables, which are a lot like very short looping samples. One of these is the Game Boy. Let’s start a new file with Ctrl-N and select “Game Boy” from the system dialog.Creating Wavetables
Add a wavetable
Between the “Instruments” and “Samples” tabs, select “Wavetables”. Add a new one with the
+ button. Furnace will generate a wavetable of the right size for the current chip with a sawtooth wave.Edit the wavetable
Double-click the entry to open the “Wavetable Editor”. Click anywhere in the pixel-like blocks to “draw” a new wave. You can also edit the numbers directly at the bottom of the window.
Using Wavetables in Instruments
Right now, we can’t do much with this wavetable; as with samples, it needs an instrument.- Go to the instruments list and add a new one
- Open it in the instrument editor and select the “Macros” tab
- Click the down-arrow next to “Waveform”
- Click the
+button that appears; a column will turn grey - Click in the middle of that column to select which wavetable to use
Now add notes in the “Wavetable” channel to hear the wavetable in action!
But… What’s a Macro?
The macro is perhaps Furnace’s most powerful feature. Formally defined, it automates a note’s parameters while it plays. A lot of what can be achieved with effects can be done with macros, but on a per-tick basis instead of per-row.Creating a Volume Envelope
Prepare the instrument
Switch to the “Pulse 1” channel. Create a new instrument and go into the instrument editor. Select the “Game Boy” tab and check the box labeled “Use software envelope”.
Draw the macro
In the “Macros” tab, set the volume macro length to 30. Draw a ramp from near minimum volume (1) to maximum volume (15) at the left, then another down to minimum volume (0) at the right.
Release Points
Hold Shift and click directly underneath the peak of the macro. You’ve just set a release point. Now holding a key will hold the note at top volume – at the release point – until let go.
To get the rest of the macro to play after a note, use the ` key (backtick) to insert a macro release instead of a note off. It will appear as REL.
Macros are absurdly powerful tools. Read the macro documentation to make the most of them!
What’s Next?
Now you know the basics of how to make music with Furnace. From here, the rest of the documentation should make more sense, and it should be your primary reference.Learning Tips
Study Demo Modules
Try the demo modules! They sound good, show off Furnace’s capabilities, and are great for learning tracking techniques.
Transcribe Songs
Open a demo track you like, save a copy, clear it, and remake the track by transcribing from the original.
Use Free Instruments
Everything in the
instruments directory is free for you to use in your own music, as well as instruments found in demo songs.Ask Questions
If you have questions that aren’t answered in the documentation, ask in the Discussions section on GitHub.
