doc updates

mostly instrument
This commit is contained in:
tildearrow 2023-09-09 20:07:05 -05:00
parent 5b77f4fc30
commit 13e320787c
25 changed files with 480 additions and 262 deletions

View file

@ -1,18 +0,0 @@
# Amiga/PCM sound source instrument editor
the Generic Sample instrument editor consists of a sample selector and several macros:
# Sample
- **Initial sample**: specifies which sample should be assigned to the instrument, or the first one in the sequence
- **Use sample map**: enables mapping different samples to notes.
# Macros
- **Volume**: volume sequence. does not apply to some chips.
- **Arpeggio**: pitch sequence.
- **Waveform**: waveform sequence.
- **Panning (left)**: output level for left channel.
- **Panning (right)**: output level for right channel.
- **Pitch**: fine pitch.
- **Phase Reset**: trigger restart of waveform.

View file

@ -1,13 +1,30 @@
# AY-3-8910 instrument editor
The AY-3-8910 instrument editor consists of these macros.
The AY-3-8910 instrument editor consists of two tabs.
- **Volume**: volume levels sequence
- **Arpeggio**: pitch sequence
- **Noise Freq**: AY-3-8910 noise generator frequency sequence
- **Waveform**: selector of sound type - square wave tone, noise or envelope generator
- **Pitch**: fine pitch
- **Phase Reset**: trigger restart of waveform
- **Envelope**: allows shaping an envelope
- **AutoEnv Num**: sets the envelope to the channel's frequency multiplied by numerator
- **AutoEnv Den**: sets the envelope to the channel's frequency multiplied by denominator
## Sample
for sample settings, see [the Sample instrument editor](sample.md).
the only differences are the lack of an "Use wavetable" option, and the presence of a "Use sample" one.
note that using samples on AY is CPU expensive!
## Macros
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Noise Freq**: noise generator frequency sequence.
- note: global!
- **Waveform**: selector of sound type - square wave tone, noise and/or envelope generator.
- you may select more than one option.
- **Pitch**: fine pitch.
- **Phase Reset**: trigger restart of **envelope**.
- **Envelope**: configures the hardware envelope.
- **enable**: sets whether envelope is enabled.
- **direction**: flips the envelope's direction.
- **alternate**: when enabled, the envelope will change direction once it hits a boundary.
- **hold**: sets whether the envelope should stop when hitting boundary, or loop.
- **AutoEnv Num**: sets the envelope to the channel's frequency multiplied by numerator.
- **AutoEnv Den**: sets the envelope to the channel's frequency multiplied by denominator.
- these two must be set in order for AutoEnv to work!

View file

@ -1,16 +1,33 @@
# AY8930 instrument editor
AY8930 instrument editor consists of these macros.
The AY8930 instrument editor consists of two tabs.
- **Volume**: volume sequence
- **Arpeggio**: pitch in half-steps
- **Noise Freq**: AY8930 noise generator frequency sequence
- **Waveform**: selector of sound type: pulse wave tone, noise or envelope generator
- **Pitch**: fine pitch
- **Phase Reset**: trigger restart of waveform
- **Duty**: duty cycle of a pulse wave sequence
- **Envelope**: allows shaping an envelope
- **AutoEnv Num**: sets the envelope to the channel's frequency multiplied by numerator
- **AutoEnv Den**: sets the envelope to the channel's frequency divided by denominator
- **Noise AND Mask**: alters the shape/frequency of the noise generator, allowing to produce various interesting sound effects and even PWM phasing
- **Noise OR Mask**: see above
## Sample
for sample settings, see [the Sample instrument editor](sample.md).
the only differences are the lack of an "Use wavetable" option, and the presence of a "Use sample" one.
note that using samples on AY is CPU expensive!
## Macros
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Noise Freq**: noise generator frequency sequence.
- note: global!
- **Waveform**: selector of sound type - square wave tone, noise and/or envelope generator.
- you may select more than one option.
- **Pitch**: fine pitch.
- **Phase Reset**: trigger restart of **envelope**.
- **Duty**: duty cycle sequence.
- **Envelope**: configures the hardware envelope.
- **enable**: sets whether envelope is enabled.
- **direction**: flips the envelope's direction.
- **alternate**: when enabled, the envelope will change direction once it hits a boundary.
- **hold**: sets whether the envelope should stop when hitting boundary, or loop.
- **AutoEnv Num**: sets the envelope to the channel's frequency multiplied by numerator.
- **AutoEnv Den**: sets the envelope to the channel's frequency multiplied by denominator.
- these two must be set in order for AutoEnv to work!
- **Noise AND Mask**: alters the shape/frequency of the noise generator, allowing to produce various interesting sound effects and even PWM phasing.
- **Noise OR Mask**: see above.

View file

@ -4,32 +4,45 @@ The C64 instrument editor consists of two tabs: "C64" to control various paramet
## C64
- **Waveform**: allows selecting a waveform. NOTE: more than one waveform can be selected at once, logical AND mix of waves will be produced, with an exception of a noise waveform, it can't be mixed.
- **Attack**: determines the rising time for the sound. The bigger the value, the slower the attack. (0-15 range)
- **Decay**: Determines the diminishing time for the sound. The higher the value, the longer the decay. It's the initial amplitude decay rate. (0-15 range)
- **Sustain**: Sets the volume level at which the sound stops decaying and holds steady. (0-15 range)
- **Release**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the longer the release. (0-15 range)
- **Ring Modulation**: enables the ring modulation affecting the instrument.
- **Duty**: specifies the width of a pulse wave. (0-4095 range)
- **Oscillator Sync**: enables the oscillator hard sync. As one oscillator finishes a cycle, it resets the period of another oscillator, forcing the latter to have the same base frequency. This can produce a harmonically rich sound, the timbre of which can be altered by varying the synced oscillator's frequency.
- **Enable filter**: enables analogue filter affecting the instrument
- **Waveform**: allows selecting a waveform.
- more than one waveform can be selected at once. in that case logical AND mix of waves will occur.
- noise is an exception. it cannot be used with any of the other waveforms.
- **Attack**: determines the rising time for the sound. the bigger the value, the slower the attack. (0 to 15).
- **Decay**: determines the diminishing time for the sound. the higher the value, the longer the decay (0 to 15).
- **Sustain**: sets the volume level at which the sound stops decaying and holds steady (0 to 15).
- **Release**: determines the rate at which the sound fades out after note off. the higher the value, the longer the release (0 to 15).
- **Duty**: specifies the width of a pulse wave (0 to 4095).
- **Ring Modulation**: when enabled, the channel's output will be multiplied with the previous channel's.
- **Oscillator Sync**: enables oscillator hard sync. as the previous channel's oscillator finishes a cycle, it resets the period of the channel's oscillator, forcing the latter to have the same base frequency. this can produce a harmonically rich sound, the timbre of which can be altered by varying the synchronized oscillator's frequency.
- **Enable filter**: when enabled, this instrument will go through the filter.
- **Initialize filter**: initializes the filter with the specified parameters:
- **Cutoff**: defines the "intensity" of a filter, to put in in layman terms (0-2047 range)
- **Resonance**: defines an additional controlled amplification of that cutoff frequency, creating a secondary peak forms and colors the original pitch. (0-15 range)
- **Filter mode**: determined the filter mode NOTE: SID's filter is multi-mode, you can mix different modes together (like low and high-pass filters at once) CH3-OFF disables the channel 3, for no reason whatsoever lmao
- **Volume Macro is Cutoff Macro**: turns a volume macro in a macros tab into a filter cutoff macro.
- **Absolute Cutoff Macro**: changes the behaviour of a cutoff macro from the old-style, compatible to much more define-able.
- **Absolute Duty Macro**: changes the behaviour of a duty cycle macro from the old-style, compatible to much more definable.
- **Don't test/gate before new note**: Don't reset the envelope to zero when a new note starts. (Read "Test/Gate" below for more info.)
- **Cutoff**: the filter's point in where frequencies are cut off (0 to 2047).
- **Resonance**: amplifies or focuses on the cutoff frequency, creating a secondary peak forms and colors the original pitch (0 to 15).
- **Filter mode**: sets the filter mode. you may pick one or more of the following:
- **low**: a low-pass filter. the lower the cutoff, the darker the sound.
- **high**: a high-pass filter. higher cutoff values result in a less "bassy" sound.
- **band**: a band-pass filter. cutoff determines which part of the sound is heard (from bass to treble).
- **ch3off**: mutes channel 3 when enabled. not sure why is this part of the chip's design, but it is.
- **Volume Macro is Cutoff Macro**: turns the volume macro in the Macros tab into a filter cutoff macro.
- volume control is global (affects entire chip output), hence the option.
- **Absolute Cutoff Macro**: when enabled, the cutoff macro will go from 0 to 2047, and it will be absolute (in other words, control the cutoff directly rather than being relative).
- **Absolute Duty Macro**: when enabled, the duty macro will go from 0 to 4095.
- **Don't test before new note**: this option disables the one-tick hard reset and test bit before a new note.
## Macros
- **Volume**: volume sequence (WARNING: Volume sequence is global for ALL three channels!!)
- **Arpeggio**: pitch sequence
- **Duty**: pulse duty cycle sequence
- **Waveform**: select the waveform used by instrument
- **Pitch**: fine pitch
- **Filter mode**: select the filter mode/sequence
- **Resonance**: filter resonance sequence
- **Special**: ring and oscillator sync selector
- **Test/Gate**: When on, the TEST bit resets and locks Oscillator 1 at zero until cleared. The GATE bit controls Oscillator 1's envelope: Gate on runs through the envelope's attack, delay, and sustain; Gate off is envelope release.
- **Volume**: volume sequence.
- warning: volume sequence is global! this means it controls the chip's volume and therefore affects all channels.
- this macro becomes **Cutoff** when the **Volume Macro is Cutoff Macro** option is enabled in the C64 tab.
- **Arpeggio**: pitch sequence.
- **Duty**: pulse width sequence.
- **Waveform**: select the waveform used by instrument.
- **Pitch**: fine pitch.
- **Filter mode**: select the filter mode.
- **Resonance**: filter resonance sequence.
- **Special**: ring and oscillator sync selector.
- **Test/Gate**: when on, the test bit is set, which mutes the channel.

29
doc/4-instrument/fds.md Normal file
View file

@ -0,0 +1,29 @@
# FDS instrument editor
The FDS instrument editor contains three tabs: FDS, Wavetable and Macros.
## FDS
here you can edit FDS-specific settings.
- **Compatibility mode**: DO NOT ENABLE. this exists for DefleMask compatibility. leave it alone.
- **Modulation depth**: sets frequency modulation depth.
- **Modulation speed**: sets frequency modulation speed.
- **Modulation table**: this allows you to define a waveform for frequency modulation.
- the range is -4 to 3.
- a value of -4 will reset the modulator.
## Wavetable
this allows you to enable and configure the Furnace wavetable synthesizer. see [this page](wavesynth.md) for more information.
## Macros
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Waveform**: wavetable sequence.
- **Pitch**: fine pitch.
- **Mod Depth**: modulation depth.
- **Mod Speed**: modulation speed.
- **Mod Position**: sets position of modulator.

View file

@ -12,36 +12,36 @@ The OPL FM editor is divided into 7 tabs:
## FM
The OPL synthesizers are nominally two-operator (OPL3 supports 4-operator mode), meaning it takes two oscillators to produce a single sound.
the OPL synthesizers are nominally two-operator (OPL3 supports 4-operator mode on up to six channels), meaning it takes two oscillators to produce a single sound.
These apply to the instrument as a whole:
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself. (0-7 range)
- **Algorithm (ALG)**: Determines how operators are connected to each other. (0-1 range and OPL1 and OPL2, 0-3 range on OPL3 4op mode)
- **Algorithm (ALG)**: Determines how operators are connected to each other (0-1 range and OPL1 and OPL2; 0-3 range on OPL3 4op mode).
- Left-click pops up a small "operators changes with volume?" dialog where each operator can be toggled to scale with volume level.
- Right-click to switch to a preview display of the waveform generated on a new note:
- Left-click restarts the preview.
- Middle-click pauses and unpauses the preview.
- Right-click returns to algorithm view.
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself (0 to 7).
- **4-op**: Enables 4-operator FM instrument editor mode (only on OPL3)
- **Drums**: Enables OPL drum mode editor
- **4-op**: Enables 4-operator FM instrument editor mode (only on OPL3).
- **Drums**: Enables OPL drum mode editor.
These apply to each operator:
- The crossed-arrows button can be dragged to rearrange operators.
- **Amplitude Modulation (AM)**: Makes the operator affected by LFO tremolo.
- **Sustain flag (SUS)**: When enabled, value of Sustain Level is in effect.
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack. (0-15 range)
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate. (0-15 range)
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level. (0-15 range)
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release. (0-15 range)
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack (0 to 15).
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate (0 to 15).
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level (0 to 15).
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release (0 to 15).
- **Total Level (TL)**: Represents the envelopes highest amplitude, with 0 being the largest and 63 (decimal) the smallest. A change of one unit is about 0.75 dB.
- **Key Scale Level (KSL)**: Also known as "Level Scale". Determines the degree to which the amplitude decreases according to the pitch.
![FM ADSR chart](FM-ADSRchart.png)
- **Key Scale Rate (KSR)**: Also known as "Rate Scale". Determines the degree to which the envelope execution speed increases according to the pitch.
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch. (0-15 range but be noted that 11, 13 and 14 have no effect!)
- **Waveform Select (WS)**: Changes the waveform generated by oscillator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3)
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch (0-15 range but be noted that 11, 13 and 14 have no effect!).
- **Waveform Select (WS)**: Changes the waveform generated by oscillator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3).
- **Vibrato (VIB)**: Makes the operator affected by LFO vibrato.
## macros
@ -58,8 +58,9 @@ All parameters are listed above.
## Macros
- **Arpeggio**: Pitch change sequence in semitones.
- **Panning**: toggles output on left and right channels. (OPL3 only!)
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Panning**: enables output on left/right/rear channels. OPL3 only.
- **Pitch**: fine pitch.
- **Relative**: pitch changes are relative to the current pitch, not the note's base pitch.
- **Phase Reset**: Restarts all operators and resets the waveform to its start. Effectively the same as a `0Cxx` retrigger.
- **Relative**: when enabled, pitch changes are relative to the current pitch.
- **Phase Reset**: restarts all operators and resets the waveform to its start.

View file

@ -10,29 +10,32 @@ The OPLL FM editor is divided into 5 tabs:
## FM
The OPLL synthesizer is two-operator, meaning it takes two oscillators to produce a single sound.
the OPLL synthesizer is two-operator, meaning it takes two oscillators to produce a single sound.
however, unlike the other FM chips, only one custom patch may be set at a time, shared among all 9 channels.
These apply to the instrument as a whole:
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself. (0-7 range)
- **Sustain (SUS)**: enables the sustain flag (sets the release rate to 5)
- algorithm: shows the connection of operators (though they are always connected the same way).
- Right-click to switch to a preview display of the waveform generated on a new note:
- Left-click restarts the preview.
- Middle-click pauses and unpauses the preview.
- Right-click returns to algorithm view.
- **DC (half-sine carrier)**: Sets the waveform produced by carrier operator to half-sine
- **DM (half-sine modulator)**: Sets the waveform produced by modulator operator to half-sine
but don't worry! there also are 15 preset patches that you may select at any time.
these apply to the instrument as a whole:
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself (0 to 7).
- **Sustain (SUS)**: enables the sustain flag (sets the release rate to 5).
- **DC (half-sine carrier)**: Sets the waveform produced by carrier operator to half-sine.
- **DM (half-sine modulator)**: Sets the waveform produced by modulator operator to half-sine.
- **preset dropdown**: selects OPLL preset instrument.
- this is the selector for the preset patches I mentioned before.
- once a preset patch is selected, only the volume is configurable.
- only one user-specified patch may be applied at a time!
if you select the special Drums patch, you may use the instrument in Drums mode of OPLL. an extra setting also appears:
- **Fixed frequency mode**: allows you to set a fixed frequency for the drum channels.
These apply to each operator:
- The crossed-arrows button can be dragged to rearrange operators.
- **Amplitude Modulation (AM)**: Makes the operator affected by LFO tremolo.
- **Envelope generator sustain flag (EGS)**: When enabled, value of Sustain Level is in effect.
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack. (0-15 range)
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate. (0-15 range)
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level. (0-15 range)
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release. (0-15 range)
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack (0 to 15).
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate (0 to 15).
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level (0 to 15).
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release (0 to 15).
- **Total Level (TL)**: Represents the envelopes highest amplitude, with 0 being the largest and 63 (decimal) the smallest. A change of one unit is about 0.75 dB.
- in the case of the second operator, it goes from 0 to 15 instead.
- **Key Scale Level (KSL)**: Also known as "Level Scale". Determines the degree to which the amplitude decreases according to the pitch.
@ -57,11 +60,12 @@ All parameters are listed above.
## Macros
- **Arpeggio**: Pitch change sequence in semitones.
- **Patch**: changes the playing preset mid-note
- **Arpeggio**: pitch change sequence.
- **Patch**: changes the playing preset mid-note.
- through use of this macro, you may unlock different glitched sounds. useful for distortion guitars!
- **Pitch**: fine pitch.
- **Relative**: pitch changes are relative to the current pitch, not the note's base pitch.
- **Phase Reset**: Restarts all operators and resets the waveform to its start. Effectively the same as a `0Cxx` retrigger.
- **Relative**: when enabled, pitch changes are relative to the current pitch.
- **Phase Reset**: restarts all operators and resets the waveform to its start.
# links

View file

@ -15,34 +15,34 @@ The FM editor is divided into 7 tabs:
The FM synthesizers Furnace supports are four-operator, meaning it takes four oscillators to produce a single sound.
These apply to the instrument as a whole:
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself. (0-7 range)
- **Algorithm (ALG)**: Determines how operators are connected to each other. (0-7 range)
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself (0 to 7).
- **Algorithm (ALG)**: Determines how operators are connected to each other (0 to 7).
- Left-click pops up a small "operators changes with volume?" dialog where each operator can be toggled to scale with volume level.
- Right-click to switch to a preview display of the waveform generated on a new note:
- Left-click restarts the preview.
- Middle-click pauses and unpauses the preview.
- Right-click returns to algorithm view.
- **LFO Frequency Sensitivity**: Determines the amount of LFO frequency changes. (0-7 range)
- **LFO Amplitude Sensitivity (AM)**: Determines the amount of LFO amplitude changes. (0-3 range)
- **LFO Frequency Sensitivity**: Determines the amount of LFO frequency changes (0 to 7).
- **LFO Amplitude Sensitivity (AM)**: Determines the amount of LFO amplitude changes (0 to 3).
These apply to each operator:
- The crossed-arrows button can be dragged to rearrange operators.
- The **OP1**, **OP2**, **OP3**, and **OP4** buttons enable or disable those operators.
- **Amplitude Modulation (AM)**: Makes the operator affected by LFO.
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack. (0-31 range)
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate. (0-31 range)
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level. (0-15 range)
- **Secondary Decay Rate (DR2) / Sustain Rate (SR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed. (0-31 range)
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release. (0-15 range)
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack (0 to 31).
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate (0 to 31).
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level (0 to 15).
- **Secondary Decay Rate (DR2) / Sustain Rate (SR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed (0 to 31).
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release (0 to 15).
- **Total Level (TL)**: Represents the envelopes highest amplitude, with 0 being the largest and 127 (decimal) the smallest. A change of one unit is about 0.75 dB.
![FM ADSR chart](FM-ADSRchart.png)
- **Envelope Scale (RS/KS)**: Also known as "Key Scale". Determines the degree to which the envelope execution speed increases according to the pitch. (0-3 range)
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch. (0-15 range)
- **Fine Detune (DT)**: Shifts the pitch a little. (0-7 range)
- **Coarse Detune (DT2)**: Shifts the pitch by tens of cents. (0-3 range)
- **Envelope Scale (RS/KS)**: Also known as "Key Scale" or "Rate Scale". Determines the degree to which the envelope execution speed increases according to the pitch (0 to 3).
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch (0 to 15).
- **Fine Detune (DT)**: Shifts the pitch a little (0 to 7).
- **Coarse Detune (DT2)**: Shifts the pitch by tens of cents (0 to 3).
## macros
@ -64,10 +64,11 @@ All parameters are listed above.
## Macros
- **Arpeggio**: Pitch change sequence in semitones.
- **Noise Frequency**: specifies the noise frequency in noise mode of YM2151's Channel 8 Operator 4 special mode.
- **Noise Frequency**: specifies the noise frequency.
- this only applies to operator 4 of channel 8!
- **Panning**: toggles output on left and right channels.
- **Pitch**: fine pitch.
- **Relative**: pitch changes are relative to the current pitch, not the note's base pitch.
- **Relative**: when enabled, pitch changes are relative to the current pitch.
- **Phase Reset**: Restarts all operators and resets the waveform to its start. Effectively the same as a `0Cxx` retrigger.

View file

@ -8,43 +8,44 @@ The FM editor is divided into 7 tabs:
- **Macros (OP2)**: for macros controlling FM parameters of operator 2
- **Macros (OP3)**: for macros controlling FM parameters of operator 3
- **Macros (OP4)**: for macros controlling FM parameters of operator 4
- **Macros**: for miscellaneous macros controlling volume, arpeggio, and YM2151 noise generator.
- **Macros**: for miscellaneous macros controlling volume, arpeggio, and pitch.
## FM
The FM synthesizers Furnace supports are four-operator, meaning it takes four oscillators to produce a single sound.
OPN is four-operator, meaning it takes four oscillators to produce a single sound.
These apply to the instrument as a whole:
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself. (0-7 range)
- **Algorithm (ALG)**: Determines how operators are connected to each other. (0-7 range)
- **Algorithm (ALG)**: Determines how operators are connected to each other (0 to 7).
- Left-click pops up a small "operators changes with volume?" dialog where each operator can be toggled to scale with volume level.
- Right-click to switch to a preview display of the waveform generated on a new note:
- Left-click restarts the preview.
- Middle-click pauses and unpauses the preview.
- Right-click returns to algorithm view.
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself (0 to 7).
- **LFO Frequency Sensitivity**: Determines the amount of LFO frequency changes. (0-7 range)
- **LFO Amplitude Sensitivity (AM)**: Determines the amount of LFO amplitude changes. (0-3 range)
- **LFO > Freq (FMS)**: Determines how much will LFO have an effect in frequency (0 to 7).
- **LFO > Amp (AMS)**: Determines how much will LFO have an effect in volume (0 to 3).
- only applies to operators which have AM turned on.
- does not apply to YM2203.
These apply to each operator:
- The crossed-arrows button can be dragged to rearrange operators.
- The **OP1**, **OP2**, **OP3**, and **OP4** buttons enable or disable those operators.
- **Amplitude Modulation (AM)**: Makes the operator affected by LFO.
- **Amplitude Modulation (AM)**: Makes the operator's volume affected by LFO.
- does not apply to YM2203.
- **Hardware Envelope Generator (SSG-EG)**: Executes the built-in envelope, inherited from AY-3-8910 PSG. Speed of execution is controlled via Decay Rate.
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack. (0-31 range)
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate. (0-31 range)
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level. (0-15 range)
- **Secondary Decay Rate (DR2) / Sustain Rate (SR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed. (0-31 range)
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release. (0-15 range)
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack (0 to 31).
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate (0 to 31).
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level (0 to 15).
- **Decay Rate 2 (DR2) / Sustain Rate (SR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed (0 to 31).
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release (0 to 15).
- **Total Level (TL)**: Represents the envelopes highest amplitude, with 0 being the largest and 127 (decimal) the smallest. A change of one unit is about 0.75 dB.
- **Hardware Envelope Generator (SSG-EG)**: Executes the built-in envelope, inherited from AY-3-8910 PSG. Speed of execution is controlled via Decay Rate.
![FM ADSR chart](FM-ADSRchart.png)
- **Envelope Scale (RS/KS)**: Also known as "Key Scale". Determines the degree to which the envelope execution speed increases according to the pitch. (0-3 range)
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch. (0-15 range)
- **Fine Detune (DT)**: Shifts the pitch a little. (0-7 range)
- **Envelope Scale (RS/KS)**: Also known as "Key Scale" or "Rate Scale". Determines the degree to which the envelope execution speed increases according to the pitch (0 to 3).
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch (0 to 15).
- **Fine Detune (DT)**: Shifts the pitch a little (0 to 7).
## macros
@ -63,10 +64,9 @@ All parameters are listed above.
## Macros
- **Arpeggio**: Pitch change sequence in semitones.
- **Noise Frequency**: specifies the noise frequency in noise mode of YM2151's Channel 8 Operator 4 special mode.
- **Panning**: toggles output on left and right channels.
- **Pitch**: fine pitch.
- **Relative**: pitch changes are relative to the current pitch, not the note's base pitch.
- **Relative**: when enabled, pitch changes are relative to the current pitch.
- **Phase Reset**: Restarts all operators and resets the waveform to its start. Effectively the same as a `0Cxx` retrigger.

View file

@ -15,18 +15,18 @@ The FM editor is divided into 7 tabs:
The FM synthesizers Furnace supports are four-operator, meaning it takes four oscillators to produce a single sound.
These apply to the instrument as a whole:
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself. (0-7 range)
- **Algorithm (ALG)**: Determines how operators are connected to each other. (0-7 range)
- **Feedback (FB)**: Determines how many times operator 1 returns its output to itself (0 to 7).
- **Algorithm (ALG)**: Determines how operators are connected to each other (0 to 7).
- Left-click pops up a small "operators changes with volume?" dialog where each operator can be toggled to scale with volume level.
- Right-click to switch to a preview display of the waveform generated on a new note:
- Left-click restarts the preview.
- Middle-click pauses and unpauses the preview.
- Right-click returns to algorithm view.
- **LFO Frequency Sensitivity (FMS/PMS)**: Determines the amount of LFO frequency changes. (0-7 range)
- **LFO Amplitude Sensitivity (AM)**: Determines the amount of LFO amplitude changes. (0-3 range)
- **LFO Frequency Sensitivity 2 (FMS/PMS2)**: Determines the amount of second LFO frequency changes. (0-7 range)
- **LFO Amplitude Sensitivity 2 (AMS2)**: Determines the amount of second LFO amplitude changes. (0-3 range)
- **LFO Frequency Sensitivity (FMS/PMS)**: Determines the amount of LFO frequency changes (0 to 7).
- **LFO Amplitude Sensitivity (AM)**: Determines the amount of LFO amplitude changes (0 to 3).
- **LFO Frequency Sensitivity 2 (FMS/PMS2)**: Determines the amount of second LFO frequency changes (0 to 7).
- **LFO Amplitude Sensitivity 2 (AMS2)**: Determines the amount of second LFO amplitude changes (0 to 3).
- **Request from TX81Z**: if a Yamaha TX81Z is plugged in as MIDI input and output device, this sends a SysEx to the device in order to fetch its current voice.
@ -34,17 +34,17 @@ These apply to each operator:
- The crossed-arrows button can be dragged to rearrange operators.
- The **OP1**, **OP2**, **OP3**, and **OP4** buttons enable or disable those operators.
- **Amplitude Modulation (AM)**: Makes the operator affected by LFO.
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack. (0-31 range)
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate. (0-31 range)
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level. (0-15 range)
- **Secondary Decay Rate (DR2) / Sustain Rate (SR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed. (0-31 range)
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release. (0-15 range)
- **Attack Rate (AR)**: determines the rising time for the sound. The bigger the value, the faster the attack (0 to 31).
- **Decay Rate (DR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. It's the initial amplitude decay rate (0 to 31).
- **Sustain Level (SL)**: Determines the point at which the sound ceases to decay and changes to a sound having a constant level. The sustain level is expressed as a fraction of the maximum level (0 to 15).
- **Secondary Decay Rate (DR2) / Sustain Rate (SR)**: Determines the diminishing time for the sound. The higher the value, the shorter the decay. This is the long "tail" of the sound that continues as long as the key is depressed (0 to 31).
- **Release Rate (RR)**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the shorter the release (0 to 15).
- **Total Level (TL)**: Represents the envelopes highest amplitude, with 0 being the largest and 127 (decimal) the smallest. A change of one unit is about 0.75 dB.
![FM ADSR chart](FM-ADSRchart.png)
- **Envelope Scale (RS/KS)**: Also known as "Key Scale". Determines the degree to which the envelope execution speed increases according to the pitch. (0-3 range)
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch. (0-15 range)
- **Envelope Scale (RS/KS)**: Also known as "Key Scale" or "Rate Scale". Determines the degree to which the envelope execution speed increases according to the pitch (0 to 3).
- **Frequency Multiplier (MULT)**: Determines the operator frequency in relation to the pitch (0 to 15).
- **Fine Frequency Multiplier (Fine)**: a fine control for MULT.
- **Envelope Generator Shift (EGS)**: adds a "handicap" to the envelope. in other words, the minimum value.
- 0: no change
@ -53,8 +53,8 @@ These apply to each operator:
- 3: -48dB
- does not apply for OP4.
- **Reverb (REV)**: not a true reverb. extends release time, giving a slight reverb-like effect to the operator.
- **Fine Detune (DT)**: Shifts the pitch a little. (0-7 range)
- **Coarse Detune (DT2)**: Shifts the pitch by tens of cents. (0-3 range)
- **Fine Detune (DT)**: Shifts the pitch a little (0 to 7).
- **Coarse Detune (DT2)**: Shifts the pitch by tens of cents (0 to 3).
### fixed frequency mode
@ -83,10 +83,11 @@ All parameters are listed above.
## Macros
- **Arpeggio**: Pitch change sequence in semitones.
- **Noise Frequency**: specifies the noise frequency in noise mode of YM2151's Channel 8 Operator 4 special mode.
- **Noise Frequency**: specifies the noise frequency.
- this only applies to operator 4 of channel 8!
- **Panning**: toggles output on left and right channels.
- **Pitch**: fine pitch.
- **Relative**: pitch changes are relative to the current pitch, not the note's base pitch.
- **Relative**: when enabled, pitch changes are relative to the current pitch.
- **Phase Reset**: Restarts all operators and resets the waveform to its start. Effectively the same as a `0Cxx` retrigger.

View file

@ -1,25 +1,58 @@
# Game Boy instrument editor
GB instrument editor consists of two tabs: one controlling envelope of sound channels and macro tab containing several macros.
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
- **Initialize envelope on every note**: forces a volume reset on each new note
- **Volume**: initial channel volume (range 0-15)
- **Length**: envelope decay/attack duration (range 0-7)
- **Sound Length**: cuts off sound after specified length, overriding the Length value
- **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.
- **Up and Down radio buttons**: Up makes the envelope an attack, down makes it decay. _Note:_ For envelope attack to have any effect, start at a lower volume!
- **Direction**: Up makes the envelope an attack. Down makes it decay.
- note: for attack to have effect, start at a lower volume.
- **Hardware Sequence**: (document this)
- **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](wavesynth.md) 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 in half-steps
- **Duty/Noise**: pulse wave duty cycle or noise mode sequence
- **Waveform**: ch3 wavetable sequence
- **Panning**: output for left and right channels
- **Pitch**: fine pitch
- **Phase Reset**: trigger restart of waveform
- **Volume**: volume sequence.
- note: this only appears if "Use software envelope" is checked.
- **Arpeggio**: pitch in half-steps.
- **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.

View file

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -1,6 +1,6 @@
# Namco 163 instrument editor
The Namco 163 instrument editor consists of two tabs: "Namco 163" for control of various waveform parameters, and "Macro" containing several macros.
The Namco 163 instrument editor consists of three tabs: "Namco 163" for control of various waveform parameters, "Wavetable" for control of the wave synth and "Macro" containing several macros.
## Namco 163
@ -12,15 +12,20 @@ The Namco 163 instrument editor consists of two tabs: "Namco 163" for control of
- **Position**: determines the waveform position in RAM.
- **Length**: determines the waveform length in RAM.
## Wavetable
this allows you to enable and configure the Furnace wavetable synthesizer. see [this page](wavesynth.md) for more information.
note that setting the Update Rate to something greater than 1 and playing the instrument in two channels may result in conflicts.
## Macros
- **Volume**: volume levels sequence
- **Arpeggio**: pitch sequence
- **Wave Pos**: sets waveform seek position in RAM
- **Waveform**: sets waveform source for playback immediately or update later
- **Panning**: output for left and right channels
- **Pitch**: fine pitch
- **Wave Length**: sets waveform length
- **Volume**: volume levels sequence.
- **Arpeggio**: pitch sequence.
- **Wave Pos**: sets waveform seek position in RAM.
- **Waveform**: sets waveform.
- **Pitch**: fine pitch.
- **Wave Length**: sets waveform length.
<!--
- **Phase Reset**: trigger restart of waveform
-->

View file

@ -1,14 +1,27 @@
# NEC PC Engine instrument editor
The PCE instrument editor consists of these macros:
The PCE instrument editor contains three tabs: Sample, Wavetable and Macros.
- **Volume**: volume sequence
- **Arpeggio**: pitch in half-steps
- **Noise**: enable noise mode (ch5 and ch6 only)
- **Waveform**: wavetable sequence
- **Panning (left)**: output level for left channel
- **Panning (right)**: output level for right channel
- **Pitch**: fine pitch
- **Phase Reset**: trigger restart of waveform
## Sample
It also has wavetable synthesizer support, but unfortunately, it clicks a lot when in use on the HuC6280.
for sample settings, see [the Sample instrument editor](sample.md).
the only differences are the lack of an "Use wavetable" option, and the presence of a "Use sample" one.
## Wavetable
this allows you to enable and configure the Furnace wavetable synthesizer. see [this page](wavesynth.md) for more information.
note: on PC Engine, using the wave synth may result in clicking and/or phase resets. by default Furnace attempts to mitigate this problem though.
## Macros
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Noise**: enable noise mode.
- only on channels 5 and 6.
- **Waveform**: wavetable sequence.
- **Panning (left)**: output level for left channel.
- **Panning (right)**: output level for right channel.
- **Pitch**: fine pitch.
- **Phase Reset**: trigger restart of waveform.

View file

@ -2,7 +2,7 @@
The PET instrument editor consists of these macros:
- **Volume**: volume sequence (on/off)
- **Arpeggio**: pitch sequence
- **Waveform**: 1-bit polynomial pattern type sequence
- **Pitch**: "fine" pitch
- **Volume**: volume sequence (on/off).
- **Arpeggio**: pitch sequence.
- **Waveform**: an 8×1 waveform.
- **Pitch**: fine pitch sequence.

View file

@ -5,10 +5,11 @@ The instrument editor for Sega PSG (SMS, and other TI SN76489 derivatives) consi
- **Volume**: volume.
- **Arpeggio**: pitch in half-steps.
- **Duty**: noise mode.
- `0`: short noise, preset frequencies.
- `1`: long noise, preset frequencies.
- `2`: short noise, use channel 3 for frequency.
- `3`: long noise, use channel 3 for frequency.
- `0`: short noise; preset frequencies.
- `1`: long noise; preset frequencies.
- `2`: short noise; use channel 3 for frequency.
- `3`: long noise; use channel 3 for frequency.
- **Panning**: output for left and right channels.
- only on Game Gear!
- **Pitch**: fine pitch.
- **Phase Reset**: trigger restart of waveform.

View file

@ -2,19 +2,24 @@
The SAA1099 instrument editor consists of these macros:
- **Volume**: volume sequence
- **Arpeggio**: pitch sequence
- **Duty/Noise**: noise generator frequency
- **Waveform**: selector between tone and noise
- **Panning (left)**: output level for left channel
- **Panning (right)**: output level for right channel
- **Pitch**: fine pitch
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Duty/Noise**: noise generator frequency. the following values are available:
- `0`: high
- `1`: mid
- `2`: low
- `3`: use frequency of channel 1 or 4 (depending on where the instrument plays).
- **Waveform**: selector between tone and noise.
- **Panning (left)**: output level for left channel.
- **Panning (right)**: output level for right channel.
- **Pitch**: fine pitch.
- **Envelope**: envelope generator settings:
enable: enables the envelope generator
N/A: has no effect
fixed: toggles whether to use a fixed frequency or lock to the frequency of channel 2 or 5
resolution: increases the envelope generator pitch resolution
direction: inverts the waveform around Y axis
cut: cuts the waveform (producing saw wave out of tri wave)
loop: toggles wheteher evelope is one-off or constantly looping
mirror: sets whether the right output will mirror the left one
- **enable**: enables the envelope generator.
- **N/A**: has no effect.
- **fixed**: toggles whether to use a fixed, slow frequency or lock to the frequency of channel 2 or 5 (depending on where the instrument plays).
- **resolution**: increases the envelope generator pitch resolution.
- **direction**: inverts the envelope.
- **cut**: cuts the envelope (producing saw wave out of tri wave)
- **loop**: toggles whether envelope is one-shot or constantly looping.
- **mirror**: sets whether the right output will mirror the left one.
- the envelope only has effect in channels 3 and 6.

View file

@ -0,0 +1,38 @@
# Amiga/PCM sound source instrument editor
the Generic Sample instrument editor consists of a sample selector and several macros:
## Sample
- **Initial sample**: specifies which sample should be assigned to the instrument.
- **Use wavetable**: uses wavetable instead of a sample.
- only available in Amiga and Generic PCM DAC.
- **Use sample map**: enables mapping different samples to notes. see next section for more information.
### sample map
the sample map allows you to set a sample for each note. this can be used to create more realistic instruments, split key instruments, drum kits and more.
after enabling this option, a table appears with the contents of the sample map.
- the first column represents the input note.
- the second column allows you to type in a sample number for each note.
- you may press Delete to clear it.
- the third one is used to set the note at which the specified sample will play.
- the fourth and last column provides a combo box for selecting a sample.
you may right-click anywhere in the number and note columns for additional options:
- **set entire map to this note**: sets the note number of all notes to the selected cell's.
- **set entire map to this sample**: sets the sample number of all notes to the selected cell's.
- **reset notes**: resets the sample map's notes to defaults (a chromatic scale).
- **clear map samples**: removes all samples from the map.
## Macros
- **Volume**: volume sequence. does not apply to some chips.
- **Arpeggio**: pitch sequence.
- **Waveform**: waveform sequence.
- only appears when "Use wavetable" is enabled.
- **Panning (left)**: output level for left channel.
- **Panning (right)**: output level for right channel.
- **Pitch**: fine pitch.
- **Phase Reset**: trigger restart of waveform.

View file

@ -1,8 +1,16 @@
# Konami SCC/Bubble System WSG instrument editor
The SCC/Bubble System WSG instrument editor consists of these macros:
The SCC/Bubble System WSG instrument editor consists of two tabs.
- **Volume**: volume sequence
- **Arpeggio**: pitch sequence
- **Waveform**: specifies wavetable sequence
- **Pitch**: fine pitch
## Wavetable
this allows you to enable and configure the Furnace wavetable synthesizer. see [this page](wavesynth.md) for more information.
be noted that channel 4 and 5 share the same waveform on SCC (non-plus). careful.
## Macros
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Waveform**: specifies wavetable.
- **Pitch**: fine pitch.

View file

@ -2,7 +2,24 @@
The TIA instrument editor consists of these macros:
- **Volume**: volume sequence
- **Arpeggio**: pitch sequence
- **Waveform**: 1-bit polynomial pattern type sequence
- **Pitch**: "fine" pitch
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- note: fixed mode works differently. it sets the frequency directly rather than the note, so it only goes from 0 to 31.
- **Waveform**: selects waveform to be used:
- `0`: nothing
- `1`: buzzy
- `2`: low buzzy
- `3`: flangy
- `4`: square
- `5`: square
- `6`: pure buzzy
- `7`: reedy
- `8`: noise
- `9`: reedy
- `A`: pure buzzy
- `B`: nothing
- `C`: low square
- `D`: low square
- `E`: low pure buzzy
- `F`: low reedy
- **Pitch**: "fine" pitch. fine in quotes as TIA doesn't have true pitch control at all.

View file

@ -2,8 +2,9 @@
The VIC instrument editor consists of these macros:
- **Volume**: volume sequence (GLOBAL)
- **Arpeggio**: pitch sequence
- **On/off**: enable/disable channel output
- **Waveform**: square wave distortion type sequence
- **Pitch**: "fine" pitch
- **Volume**: volume sequence.
- note: global! affects entire chip.
- **Arpeggio**: pitch sequence.
- **On/Off**: enable/disable channel output.
- **Waveform**: square wave distortion type sequence.
- **Pitch**: "fine" pitch.

View file

@ -0,0 +1,23 @@
# Virtual Boy instrument editor
The Virtual Boy instrument editor contains three tabs: Virtual Boy, Wavetable and Macros.
## Virtual Boy
- **Set modulation table**: when enabled, playing this instrument on channel 5 will write to the modulation table.
- **Modulation table**: this allows you to define a waveform for frequency modulation.
## Wavetable
this allows you to enable and configure the Furnace wavetable synthesizer. see [this page](wavesynth.md) for more information.
## Macros
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Noise Length**: sets the noise length. higher values result in shorter noise.
- **Waveform**: wavetable sequence.
- **Panning (left)**: output level for left channel.
- **Panning (right)**: output level for right channel.
- **Pitch**: fine pitch.
- **Phase Reset**: trigger restart of waveform.

View file

@ -1,16 +1,28 @@
# VRC6 instrument editor
The VRC6 (regular) instrument editor consists of these macros:
The VRC6 (regular) instrument editor consists of two tabs.
- **Volume**: volume sequence
- **Arpeggio**: pitch sequence
- **Duty**: specifies duty cycle for pulse wave channels
- **Pitch**: fine pitch
## Sample
## VRC6 (saw) instrument editor
for sample settings, see [the Sample instrument editor](sample.md).
This channel has its own instrument, a (currently, as of 0.6) one-of-a-kind thing in Furnace.
the only differences are the lack of an "Use wavetable" option, and the presence of a "Use sample" one.
The only differences from this instrument type from compared to the regular instrument are that it:
- has a volume range of 0-63 instead of 0-15.
- has no duty cycle range
note that using samples on VRC6 is CPU expensive!
## Macros
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.
- **Duty**: specifies duty cycle for pulse wave channels.
- **Pitch**: fine pitch.
# VRC6 (saw) instrument editor
this channel has its own instrument type, a one-of-a-kind thing in Furnace that was decided as a compromise during a debate.
the only differences from this instrument type compared to the regular one are:
- the lack of a Sample tab.
- it has a volume range of 0-63 instead of 0-15.
- it lacks a duty cycle macro.
- if you come from FamiTracker, this may seem strange to you, but it isn't.

View file

@ -0,0 +1,29 @@
# wavetable synthesizer
Within the "Wavetable" tab of the instrument editor, Furnace allows you to modulate or combine 1 or 2 waves to create unique "animated" sounds. Think of it like a VST or a plugin, as it's basically an extension of regular wavetable soundchips that still allow it to run on real hardware.
This is accomplished by selecting a wave or two, a mode, and adjusting the settings as needed until you come up with a sound that you like, without taking up a load of space. This allows you to create unique sound effects or instruments, that, when used well, almost sound like they're Amiga samples.
Unfortunately, on some chips like the HuC6280, you cannot use the wavetable synth to animate waveforms and have them sound smooth, as the chip resets the channel's phase when a waveform is changed while the channel is playing. On certain frequencies, this can be avoided, but not on most, unfortunately.
![instrument wavetable tab](instrument-wavetable.png)
input waveforms should match the size of the wavetable or unexpected results may occur.
- **Enable synthesizer**: must be on for the rest of this to work.
- synthesizer type: selects the synthesis algorithm.
- waveform displays.
- **Wave 1**: selects input waveform.
- this will turn yellow to indicate that a Waveform macro is set.
- **Wave 2**: selects second input waveform. only appears when a dual-waveform synthesizer is selected.
- **Pause preview**: toggles live waveform preview.
- **Restart preview**: restarts preview from initial state.
- **Copy to new wavetable**: copies the currently displayed output waveform into the wavetable as a new entry.
- (width×height): size of wavetable.
- **Update Rate**: time in ticks between waveform changes.
- **Speed**: rate of change with each update.
- **Amount**: strength of synthesizer function.
- **Power**: only appears when synthesizer type is "Phase Modulation".
- **Global**:
- if disabled, each note resets the synthesizer to the start.
- if enabled, synthesis continues unbroken from note to note.

View file

@ -92,35 +92,3 @@ these are useful editing tools to fine-tune the waveform:
- **Double**: doubles the waveform's frequency by squashing it to half length then repeating it.
- **Convert Signed/Unsigned**. worth trying if an imported wave sounds corrupted.
- **Randomize**: generate a completely random waveform.
# wavetable synthesizer
Within the "Wavetable" tab of the instrument editor, Furnace allows you to modulate or combine 1 or 2 waves to create unique "animated" sounds. Think of it like a VST or a plugin, as it's basically an extension of regular wavetable soundchips that still allow it to run on real hardware.
This is accomplished by selecting a wave or two, a mode, and adjusting the settings as needed until you come up with a sound that you like, without taking up a load of space. This allows you to create unique sound effects or instruments, that, when used well, almost sound like they're Amiga samples.
Unfortunately, on some chips like the HuC6280, you cannot use the wavetable synth to animate waveforms and have them sound smooth, as the chip resets the channel's phase when a waveform is changed while the channel is playing. On certain frequencies, this can be avoided, but not on most, unfortunately.
![instrument wavetable tab](instrument-wavetable.png)
input waveforms should match the size of the wavetable or unexpected results may occur.
- **Enable synthesizer**: must be on for the rest of this to work.
- synthesizer type: selects the synthesis algorithm.
- waveform displays.
- **Wave 1**: selects input waveform.
- this will turn yellow to indicate that a Waveform macro is set.
- **Wave 2**: selects second input waveform. only appears when a dual-waveform synthesizer is selected.
- **Pause preview**: toggles live waveform preview.
- **Restart preview**: restarts preview from initial state.
- **Copy to new wavetable**: copies the currently displayed output waveform into the wavetable as a new entry.
- (width×height): size of wavetable.
- **Update Rate**: time in ticks between waveform changes.
- **Speed**: rate of change with each update.
- **Amount**: strength of synthesizer function.
- **Power**: only appears when synthesizer type is "Phase Modulation".
- **Global**:
- if disabled, each note resets the synthesizer to the start.
- if enabled, synthesis continues unbroken from note to note.