furnace/doc/4-instrument/game-boy.md
2023-09-09 23:11:43 -05:00

2.7 KiB

Game Boy instrument editor

Game Boy instrument editor consists of three tabs: one controlling envelope of sound channels, another for the wave synth and macro tab containing several macros.

Game Boy

  • Use software envelope: switch to volume macro instead of envelope.

    • this exploits a bug in the Game Boy sound hardware in order to have software envelopes ("zombie mode").
    • only a couple emulators have accurate reproduction of this bug.
  • Initialize envelope on every note: forces a volume reset on each new note.

  • Volume: initial channel volume (0 to 15).

  • Length: envelope decay/attack duration (0 to 7)

  • Sound Length: cuts off channel after specified length, overriding the Length value.

  • Direction: Up makes the envelope an attack. Down makes it decay.

    • note: for attack to have effect, start at a lower volume.
  • Hardware Sequence: this allows you to define a sequence of hardware envelope changes for creating complex envelopes. see the next section for more information.

hardware sequence

Furnace provides a sequencer for the hardware envelope. this way you can define timed envelope changes which may be used for simulating ADSR, adding simple release, and other things.

the sequence consists of a list of "commands".

the + button adds a new command, which may be one of the following:

  • Envelope: sets envelope values and retriggers note. it is highly recommended to have this as the first command.
  • Sweep: sets sweep parameters. only works on the first channel.
  • Wait: waits a specific number of ticks.
  • Wait for Release: waits until the note is released with === or REL.
  • Loop: goes to a previous position in the sequence.
  • Loop until Release: same as Loop, but doesn't have effect after releasing the note.

each command in the sequence is represented in three columns:

  • Tick: the tick this command will execute, followed by position in the sequence.
  • Command: the command and its parameters.
  • Move/Remove: allows you to move the command, or remove it.

Wavetable

this allows you to enable and configure the Furnace wavetable synthesizer. see this page for more information.

notes:

  • only for Wave channel.
  • on Game Boy, using the wave synth may result in clicking and/or phase resets. by default Furnace attempts to mitigate this problem though, but some clicking may still be audible.

Macros

  • Volume: volume sequence.
    • note: this only appears if "Use software envelope" is checked.
  • Arpeggio: pitch sequence.
  • Duty/Noise: pulse wave duty cycle or noise mode sequence.
  • Waveform: channel 3 wavetable sequence.
  • Panning: output for left and right channels.
  • Pitch: fine pitch.
  • Phase Reset: trigger restart of waveform.