De-capitalization of docs (and little typo fixes)

There are also a couple tiny instances of formatting, like [sic] in the Namco 163 doc (yes, it is now correctly formatted) and a couple labels that needed bold.
This commit is contained in:
Electric Keet 2023-09-10 10:16:55 -07:00
parent 36473eb9ec
commit fdfbff3999
62 changed files with 262 additions and 262 deletions

View file

@ -7,7 +7,7 @@
the **[pattern view](../3-pattern/README.md)** is similar to spreadsheet that displays the following:
- each labeled column represents a **channel** of sound provided by the chips in use.
- each **note** starts a sound playing. Within a channel, only one note can play at a time.
- each **note** starts a sound playing. within a channel, only one note can play at a time.
- each note is assigned an **[instrument](../4-instrument/README.md)** which describes what it will sound like.
- an **effect** is a command that changes some aspect of playback. it can alter note pitch, volume, timing, and more.
- an instrument **macro** is an automated sequence of effects that applies to every note of that instrument.

View file

@ -45,7 +45,7 @@ _**Divider**:_ Changes the effective tick rate. a tick rate of 60Hz and a diviso
**Highlight**: sets the pattern row highlights:
- the first value represents the number of rows per beat.
- the second value represents the number of rows per measure.
- these don't have to line up with the music's actual beats and measures. set them as preferred for tracking. _Note:_ These values are used for the metronome and calculating BPM.
- these don't have to line up with the music's actual beats and measures. set them as preferred for tracking. _Note:_ these values are used for the metronome and calculating BPM.
**Pattern Length**: the length of each pattern in rows. this affects all patterns in the song, and every pattern must be the same length. (Individual patterns can be cut short by `0Bxx`, `0Dxx`, and `FFxx` commands.)

View file

@ -58,9 +58,9 @@ to rename and/or hide channels, open [the Channels window](../8-advanced/channel
![keyboard](keyboard.png)
- pressing any of the respective keys will insert a note at the cursor's location, then advance to the next row (or otherwise according to the Edit Step.)
- **note off** (OFF) turns off the last played note in that channel (key off for FM/hardware envelope; note cut otherwise).
- **note release** (===) triggers macro release (and in FM/hardware envelope channels it also triggers key off).
- **macro release** (REL) does the same as above, but does not trigger key off in FM/hardware envelope channels.
- **note off** (`OFF`) turns off the last played note in that channel (key off for FM/hardware envelope; note cut otherwise).
- **note release** (`===`) triggers macro release (and in FM/hardware envelope channels it also triggers key off).
- **macro release** (`REL`) does the same as above, but does not trigger key off in FM/hardware envelope channels.
- **toggle edit** enables and disables editing. when editing is enabled, the cursor's row will be shaded red.
## instrument/volume input

View file

@ -7,8 +7,8 @@ however, effects are continuous, which means you only need to type it once and t
## volume
- `0Axy`: **Volume slide.**
- If `x` is 0 then this slides volume down by `y` each tick.
- If `y` is 0 then this slides volume up by `x` each tick.
- if `x` is 0 then this slides volume down by `y` each tick.
- if `y` is 0 then this slides volume up by `x` each tick.
- `FAxy`: **Fast volume slide.** same as `0Axy` above but 4× faster.
- `F3xx`: **Fine volume slide up.** same as `0Ax0` but 64× slower.
- `F4xx`: **Fine volume slide down.** same as `0A0x` but 64× slower.
@ -16,8 +16,8 @@ however, effects are continuous, which means you only need to type it once and t
- `F9xx`: **Single tick volume slide down.** subtracts `x` from volume on first tick only.
- ---
- `07xy`: **Tremolo.** changes volume to be "wavy" with a sine LFO. `x` is the speed. `y` is the depth.
- Tremolo is downward only.
- Maximum tremolo depth is -60 volume steps.
- tremolo is downward only.
- maximum tremolo depth is -60 volume steps.
## pitch
@ -38,11 +38,11 @@ however, effects are continuous, which means you only need to type it once and t
- `E0xx`: **Set arpeggio speed.** this sets the number of ticks between arpeggio values. default is 1.
- ---
- `04xy`: **Vibrato.** changes pitch to be "wavy" with a sine LFO. `x` is the speed, while `y` is the depth.
- Maximum vibrato depth is ±1 semitone.
- maximum vibrato depth is ±1 semitone.
- `E3xx`: **Set vibrato direction.** `xx` may be one of the following:
- `00`: Up and down. default.
- `01`: Up only.
- `02`: Down only.
- `00`: up and down. default.
- `01`: up only.
- `02`: down only.
- `E4xx`: **Set vibrato range** in 1/16th of a semitone.
## panning
@ -63,7 +63,7 @@ not all chips support these effects.
## time
- `09xx`: **Set speed/groove.** if no grooves are defined, this sets speed. If alternating speeds are active, this sets the first speed.
- `09xx`: **Set speed/groove.** if no grooves are defined, this sets speed. if alternating speeds are active, this sets the first speed.
- `0Fxx`: **Set speed 2.** during alternating speeds or a groove, this sets the second speed.
- ---
- `Cxxx`: **Set tick rate.** changes tick rate to `xxx` Hz (ticks per second).
@ -79,14 +79,14 @@ not all chips support these effects.
## note
- `0Cxx`: **Retrigger.** repeats current note every `xx` ticks.
- This effect is not continuous; it must be entered on every row.
- `ECxx`: **Note cut.** ends current note after `xx` ticks. For FM instruments, it's equivalent to a "key off".
- this effect is not continuous; it must be entered on every row.
- `ECxx`: **Note cut.** ends current note after `xx` ticks. for FM instruments, it's equivalent to a "key off".
- `EDxx`: **Note delay.** delays note by `x` ticks.
## other
- `9xxx`: **Set sample position.** jumps current sample to position `xxx * 0x100`.
- Not all chips support this effect.
- not all chips support this effect.
- `EBxx`: **Set LEGACY sample mode bank.** selects sample bank. used only for compatibility.
- does not apply on Amiga.
- `EExx`: **Send external command.**

View file

@ -70,54 +70,54 @@ the following instrument types are available:
# macros
Macros are incredibly versatile tools for automating instrument parameters.
macros are incredibly versatile tools for automating instrument parameters.
After creating an instrument, open the Instrument Editor and select the "Macros" tab. There may be multiple macro tabs to control individual FM operators and such.
after creating an instrument, open the Instrument Editor and select the "Macros" tab. there may be multiple macro tabs to control individual FM operators and such.
![macro view](macroview.png)
The very first numeric entry sets the visible width of the bars in sequence-type macros. The scrollbar affects the view of all macros at once. There's a matching scrollbar at the bottom underneath all the macros.
the very first numeric entry sets the visible width of the bars in sequence-type macros. the scrollbar affects the view of all macros at once. there's a matching scrollbar at the bottom underneath all the macros.
Each macro has two buttons on the left.
- Macro type (explained below).
- Timing editor, which pops up a small dialog:
- Step Length (ticks): Determines how many ticks pass before each change of value. Default is 1.
- Delay: Delays the start of the macro until this many ticks have passed. Default is 0.
- The button is highlighted if either of these is set differently from default.
each macro has two buttons on the left.
- macro type (explained below).
- timing editor, which pops up a small dialog:
- **Step Length (ticks)**: determines how many ticks pass before each change of value. default is 1.
- **Delay**: delays the start of the macro until this many ticks have passed. default is 0.
- the button is highlighted if either of these is set differently from default.
## macro types
Every macro can be defined though one of three methods, selectable with the leftmost button under the macro type label:
every macro can be defined though one of three methods, selectable with the leftmost button under the macro type label:
- ![sequence](macro-button-seq.png) **Sequence:** displayed as a bar graph, this is a sequence of numeric values.
- ![ADSR](macro-button-ADSR.png) **ADSR:** this is a traditional ADSR envelope, defined by the rate of increase and decrease of value over time.
- ![LFO](macro-button-LFO.png) **LFO:** the Low Frequency Oscillator generates a repeating wave of values.
Some macros are "bitmap" style. They represent a number of "bits" that can be toggled individually, and the values listed represent the sum of which bits are turned on.
some macros are "bitmap" style. they represent a number of "bits" that can be toggled individually, and the values listed represent the sum of which bits are turned on.
### sequence
![sequence macro editor](macro-seq.png)
The number between the macro type label and the macro type button is the macro length in steps. The `-` and `+` buttons change the length of the macro. Start out by adding at least a few steps.
the number between the macro type label and the macro type button is the macro length in steps. the `-` and `+` buttons change the length of the macro. start out by adding at least a few steps.
The values of the macro can be drawn in the "bar graph" box.
the values of the macro can be drawn in the "bar graph" box.
Just beneath the box is a shorter bar that controls looping.
- Click to set the start point of a loop; the end point is the last value or release point. It appears as half-height bars. Right-click to remove the loop.
- Shift-click to set the release point. When played, the macro will hold here until the note is released. It appears as a full-height bar. Right-click to remove the release point.
just beneath the box is a shorter bar that controls looping.
- click to set the start point of a loop; the end point is the last value or release point. it appears as half-height bars. right-click to remove the loop.
- shift-click to set the release point. when played, the macro will hold here until the note is released. it appears as a full-height bar. right-click to remove the release point.
Finally, the sequence of values can be directly edited in the text box at the bottom.
- The loop start is entered as a `|`.
- The release point is entered as a `/`.
- In arpeggio macros, a value starting with a `@` is an absolute note (instead of a relative shift). No matter the note entered in the pattern, `@` values will be played at that exact note. This is especially useful for noise instruments with preset periods.
finally, the sequence of values can be directly edited in the text box at the bottom.
- the loop start is entered as a `|`.
- the release point is entered as a `/`.
- in arpeggio macros, a value starting with a `@` is an absolute note (instead of a relative shift). no matter the note entered in the pattern, `@` values will be played at that exact note. this is especially useful for noise instruments with preset periods.
### ADSR
![ADSR macro editor](macro-ADSR.png)
- **Bottom** and **Top** determine the range of outputs generated by the macro. (Bottom can be larger than Top to invert the envelope!) All outputs will be between these two values.
- Attack, Decay, Sustain, SusDecay, and Release accept inputs between 0 to 255. These are scaled to the distance between Bottom and Top.
- attack, Decay, Sustain, SusDecay, and Release accept inputs between 0 to 255. these are scaled to the distance between Bottom and Top.
- **Attack** is how much the value moves toward Top with each tick.
- **Hold** sets how many ticks to stay at Top before Decay.
- **Decay** is how much the value moves to the Sustain level.
@ -135,24 +135,24 @@ Finally, the sequence of values can be directly edited in the text box at the bo
- **Bottom** and **Top** determine the range of values generated by the macro. (Bottom can be larger than Top to invert the waveform!)
- **Speed** is how quickly the values change - the frequency of the oscillator.
- **Phase** is which part of the waveform the macro will start at, measured in 1/1024 increments.
- **Shape** is the waveform used. Triangle is the default, and Saw and Square are exactly as they say.
- **Shape** is the waveform used. triangle is the default, and Saw and Square are exactly as they say.
# wavetable
This tab appears for PC Engine, FDS, Namco WSG, and other wavetable-based instruments.
this tab appears for PC Engine, FDS, Namco WSG, and other wavetable-based instruments.
![wavetable tab](wavetable.png)
When **Enable synthesizer** is off, the wavetable used for the instrument may be selected by creating a Waveform macro with a single value.
when **Enable synthesizer** is off, the wavetable used for the instrument may be selected by creating a Waveform macro with a single value.
To use the wavetable synthesizer, refer to [the wavetable synthesizer section](wavesynth.md).
to use the wavetable synthesizer, refer to [the wavetable synthesizer section](wavesynth.md).
# sample
This tab appears for Generic PCM DAC, Amiga and SNES.
this tab appears for Generic PCM DAC, Amiga and SNES.
![sample tab](sample-map.png)

View file

@ -1,6 +1,6 @@
# ADPCM-A instrument editor
The ADPCM-A instrument editor contains two tabs: Sample and Macros.
the ADPCM-A instrument editor contains two tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# ADPCM-B instrument editor
The ADPCM-B instrument editor contains three tabs: Sample and Macros.
the ADPCM-B instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# AY-3-8910 instrument editor
The AY-3-8910 instrument editor consists of two tabs.
the AY-3-8910 instrument editor consists of two tabs.
## Sample

View file

@ -1,6 +1,6 @@
# AY8930 instrument editor
The AY8930 instrument editor consists of two tabs.
the AY8930 instrument editor consists of two tabs.
## Sample

View file

@ -1,6 +1,6 @@
# Namco C140 instrument editor
The Namco C140 instrument editor contains three tabs: Sample and Macros.
the Namco C140 instrument editor contains two tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# Namco C219 instrument editor
The Namco C219 instrument editor contains three tabs: Sample and Macros.
the Namco C219 instrument editor contains two tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# C64 SID instrument editor
The C64 instrument editor consists of two tabs: "C64" to control various parameters of sound channels, and "Macros" containing several macros.
the C64 instrument editor consists of two tabs: "C64" to control various parameters of sound channels, and "Macros" containing several macros.
## C64

View file

@ -1,6 +1,6 @@
# Ensoniq ES5506 instrument editor
The ES5506 instrument editor contains three tabs: Sample, ES5506 and Macros.
the ES5506 instrument editor contains three tabs: Sample, ES5506 and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# FDS instrument editor
The FDS instrument editor contains three tabs: FDS, Wavetable and Macros.
the FDS instrument editor contains three tabs: FDS, Wavetable and Macros.
## FDS

View file

@ -1,6 +1,6 @@
# OPL FM synthesis instrument editor
The OPL FM editor is divided into 7 tabs:
the OPL FM editor is divided into 7 tabs:
- **FM**: for controlling the basic parameters of FM sound source.
- **Macros (FM)**: for macros controlling algorithm and feedback.
@ -14,47 +14,47 @@ The OPL FM editor is divided into 7 tabs:
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:
- **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).
these apply to the instrument as a whole:
- **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 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 note 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.
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 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 note 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 of the operator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3).
- **Vibrato (VIB)**: Makes the operator affected by LFO vibrato.
- **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 of the operator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3).
- **Vibrato (VIB)**: makes the operator affected by LFO vibrato.
## macros
Macros define the sequence of values passed to the given parameter. Via macro, along with the previously mentioned parameters, the following can be controlled:
macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled:
## FM Macros
All parameters are listed above.
all parameters are listed above.
## OP1-OP4 Macros
All parameters are listed above.
all parameters are listed above.
## Macros

View file

@ -1,6 +1,6 @@
# OPLL FM synthesis instrument editor
The OPLL FM editor is divided into 5 tabs:
the OPLL FM editor is divided into 5 tabs:
- **FM**: for controlling the basic parameters of FM sound source.
- **Macros (FM)**: for macros controlling algorithm, waveform and feedback.
@ -16,10 +16,10 @@ however, unlike the other FM chips, only one custom patch may be set at a time,
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).
- **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.
- **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.
@ -28,35 +28,35 @@ these apply to the instrument as a whole:
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 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 note 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.
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 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 note 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.
- **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)
- **Envelope Scale (KSR)**: Also known as "Key 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-10, 12, 15 range)
- **Vibrato (VIB)**: Makes the operator affected by LFO vibrato.
- **Envelope Scale (KSR)**: also known as "Key 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-10, 12, 15 range)
- **Vibrato (VIB)**: makes the operator affected by LFO vibrato.
## macros
Macros define the sequence of values passed to the given parameter. Via macro, along with the previously mentioned parameters, the following can be controlled:
macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled:
## FM Macros
All parameters are listed above.
all parameters are listed above.
## OP1-OP4 Macros
All parameters are listed above.
all parameters are listed above.
## Macros
@ -70,4 +70,4 @@ All parameters are listed above.
# links
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. This was made for DefleMask, but all the same principles apply.
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply.

View file

@ -1,6 +1,6 @@
# FM (OPM) instrument editor
The FM editor is divided into 7 tabs:
the FM editor is divided into 7 tabs:
- **FM**: for controlling the basic parameters of FM sound source.
- **Macros (FM)**: for macros controlling algorithm, feedback and LFO.
@ -14,53 +14,53 @@ The FM editor is divided into 7 tabs:
OPM 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 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.
these apply to the instrument as a whole:
- **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 > 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).
- **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.
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 volume affected by LFO.
- **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 (D2R) / 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 note 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.
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 volume affected by LFO.
- **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 (D2R) / 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 note 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" 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).
- **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
Macros define the sequence of values passed to the given parameter. Via macro, along with the previously mentioned parameters, the following can be controlled:
macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled:
## FM Macros
- **AM Depth**: amplitude modulation depth.
- **PM Depth**: pitch modulation depth.
- **LFO Speed**: LFO frequency.
- **LFO Shape**: LFO shape. Choose between saw, square, triangle, and random.
- **LFO Shape**: LFO shape. choose between saw, square, triangle, and random.
- **OpMask**: toggles each operator.
## OP1-OP4 Macros
All parameters are listed above.
all parameters are listed above.
## Macros
@ -75,4 +75,4 @@ All parameters are listed above.
# links
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. This was made for DefleMask, but all the same principles apply.
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply.

View file

@ -1,6 +1,6 @@
# FM (OPN) instrument editor
The FM editor is divided into 7 tabs:
the FM editor is divided into 7 tabs:
- **FM**: for controlling the basic parameters of FM sound source.
- **Macros (FM)**: for macros controlling algorithm, feedback and LFO.
@ -14,43 +14,43 @@ The FM editor is divided into 7 tabs:
OPN is four-operator, meaning it takes four oscillators to produce a single sound.
These apply to the instrument as a whole:
- **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).
these apply to the instrument as a whole:
- **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 > 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).
- **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's volume affected by LFO.
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's volume affected by LFO.
- does not apply to YM2203.
- **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 (D2R) / 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 note 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.
- **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 (D2R) / 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 note 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" 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).
- **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
Macros define the sequence of values passed to the given parameter. Via macro, along with the previously mentioned parameters, the following can be controlled:
macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled:
## FM Macros
@ -59,17 +59,17 @@ Macros define the sequence of values passed to the given parameter. Via macro, a
## OP1-OP4 Macros
All parameters are listed above.
all parameters are listed above.
## Macros
- **Arpeggio**: Pitch change sequence in semitones.
- **Arpeggio**: pitch change sequence in semitones.
- **Panning**: toggles output on left and right channels.
- **Pitch**: fine pitch.
- **Relative**: when enabled, pitch changes are relative to the current pitch.
- **Phase Reset**: Restarts all operators and resets the waveform to its start.
- **Phase Reset**: restarts all operators and resets the waveform to its start.
# links
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. This was made for DefleMask, but all the same principles apply.
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply.

View file

@ -1,6 +1,6 @@
# FM (OPM) instrument editor
The FM editor is divided into 7 tabs:
the FM editor is divided into 7 tabs:
- **FM**: for controlling the basic parameters of FM sound source.
- **Macros (FM)**: for macros controlling algorithm, feedback and LFO
@ -14,36 +14,36 @@ The FM editor is divided into 7 tabs:
OPZ is four-operator, meaning it takes four oscillators to produce a single sound.
These apply to the instrument as a whole:
- **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).
these apply to the instrument as a whole:
- **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 > Freq (FMS/PMS)**: Determines how much will LFO have an effect in frequency (0 to 7).
- **LFO > Amp (AM)**: Determines how much will LFO have an effect in volume (0 to 3).
- **LFO2 > Freq (FMS/PMS2)**: Determines how much will the second LFO have an effect in frequency (0 to 7).
- **LFO2 > Amp (AMS2)**: Determines how much will the second LFO have an effect in volume (0 to 3).
- **LFO > Freq (FMS/PMS)**: determines how much will LFO have an effect in frequency (0 to 7).
- **LFO > Amp (AM)**: determines how much will LFO have an effect in volume (0 to 3).
- **LFO2 > Freq (FMS/PMS2)**: determines how much will the second LFO have an effect in frequency (0 to 7).
- **LFO2 > Amp (AMS2)**: determines how much will the second LFO have an effect in volume (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.
These apply to each operator:
- The crossed-arrows button can be dragged to rearrange operators.
- **Amplitude Modulation (AM)**: Makes the operator's volume affected by LFO.
- **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 (D2R) / 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 note 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.
these apply to each operator:
- the crossed-arrows button can be dragged to rearrange operators.
- **Amplitude Modulation (AM)**: makes the operator's volume affected by LFO.
- **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 (D2R) / 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 note 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" 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).
- **Envelope Scale (RS/KS)**: also known as "Rate Scale" or "Key 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 volume of the operator.
- 0: no change
@ -52,9 +52,9 @@ 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 to 7).
- **Waveform Select (WS)**: Changes the waveform of the operator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3).
- **Coarse Detune (DT2)**: Shifts the pitch by tens of cents (0 to 3).
- **Fine Detune (DT)**: shifts the pitch a little (0 to 7).
- **Waveform Select (WS)**: changes the waveform of the operator (OPL2 and OPL3 only, 0-3 range on OPL2 and 0-7 on OPL3).
- **Coarse Detune (DT2)**: shifts the pitch by tens of cents (0 to 3).
#### I am familiar with Yamaha TX81Z. where's LS and KVS?
@ -69,18 +69,18 @@ each operator has a Fixed Frequency mode. once enabled, the operator runs at the
## macros
Macros define the sequence of values passed to the given parameter. Via macro, along with the previously mentioned parameters, the following can be controlled:
macros define the sequence of values passed to the given parameter. via macro, along with the previously mentioned parameters, the following can be controlled:
## FM Macros
- **AM Depth**: amplitude modulation depth.
- **PM Depth**: pitch modulation depth.
- **LFO Speed**: LFO frequency.
- **LFO Shape**: LFO shape. Choose between saw, square, triangle, and random.
- **LFO Shape**: LFO shape. choose between saw, square, triangle, and random.
- **AM Depth 2**: amplitude modulation depth (second LFO).
- **PM Depth 2**: pitch modulation depth (second LFO).
- **LFO2 Speed**: LFO 2 frequency.
- **LFO2 Shape**: LFO 2 shape. Choose between saw, square, triangle, and random.
- **LFO2 Shape**: LFO 2 shape. choose between saw, square, triangle, and random.
## OP1-OP4 Macros
@ -88,15 +88,15 @@ most parameters are listed above.
## Macros
- **Arpeggio**: Pitch change sequence in semitones.
- **Arpeggio**: pitch change sequence in semitones.
- **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**: 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.
- **Phase Reset**: restarts all operators and resets the waveform to its start. effectively the same as a `0Cxx` retrigger.
# links
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. This was made for DefleMask, but all the same principles apply.
[FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply.

View file

@ -1,6 +1,6 @@
# Irem GA20 instrument editor
The GA20 instrument editor contains three tabs: Sample and Macros.
the GA20 instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# 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.
the 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
@ -12,7 +12,7 @@ Game Boy instrument editor consists of three tabs: one controlling envelope of s
- **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.
- **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.

View file

@ -1,6 +1,6 @@
# Konami K007232 instrument editor
The K007232 instrument editor contains three tabs: Sample and Macros.
the K007232 instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# K053260 instrument editor
The K053260 instrument editor contains three tabs: Sample and Macros.
the K053260 instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -22,17 +22,17 @@ note that using samples on Lynx is CPU expensive!
## audio generation description
Atari Lynx generates sound using a 12-bit linear feedback shift register with configurable tap. Nine separate bits can be enabled to be the source of feedback: 0, 1, 2, 3, 4, 5, 7, 10 and 11. To generate _any_ sound at least one bit _must_ be enabled.
Atari Lynx generates sound using a 12-bit linear feedback shift register with configurable tap. nine separate bits can be enabled to be the source of feedback: 0, 1, 2, 3, 4, 5, 7, 10 and 11. to generate _any_ sound at least one bit _must_ be enabled.
### square wave
The LFSR is shifted at the rate define by sound pitch and generates square wave by setting channel output value to +volume or -volume, depending on the bit shifted in.
the LFSR is shifted at the rate define by sound pitch and generates square wave by setting channel output value to +volume or -volume, depending on the bit shifted in.
### triangle wave
Alternatively when "int" bit is set sound wave is generated by adding or subtracting volume from output effectively producing triangle wave.
alternatively when "int" bit is set sound wave is generated by adding or subtracting volume from output effectively producing triangle wave.
#### how triangle wave works?
Hint: To obtain triangle set bits "int" and "11" in "Duty/Int" sequence and set volume to about 22.
By enabling 11th tap bit the value shifted in is negated after 11 bit is shifted in hence the volume is added for 11 cycles and then subtracted for 11 cycles.
hint: to obtain triangle set bits "int" and "11" in "Duty/Int" sequence and set volume to about 22.
by enabling 11th tap bit the value shifted in is negated after 11 bit is shifted in hence the volume is added for 11 cycles and then subtracted for 11 cycles.

View file

@ -1,6 +1,6 @@
# MSM5232 instrument editor
The instrument editor for MSM5232 consists of these macros:
the instrument editor for MSM5232 consists of these macros:
- **Volume**: volume sequence.
- only has effect when the envelope mode of a group is set to External.

View file

@ -1,6 +1,6 @@
# MSM6258 instrument editor
The MSM6258 instrument editor contains two tabs: Sample and Macros.
the MSM6258 instrument editor contains two tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# MSM6295 instrument editor
The MSM6295 instrument editor contains two tabs: Sample and Macros.
the MSM6295 instrument editor contains two tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# Namco 163 instrument editor
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.
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

View file

@ -1,6 +1,6 @@
# NES instrument editor
The instrument editor for NES consists of these macros:
the instrument editor for NES consists of these macros:
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# NEC PC Engine instrument editor
The PCE instrument editor contains three tabs: Sample, Wavetable and Macros.
the PCE instrument editor contains three tabs: Sample, Wavetable and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# Commodore PET instrument editor
The PET instrument editor consists of these macros:
the PET instrument editor consists of these macros:
- **Volume**: volume sequence (on/off).
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# Atari POKEY instrument editor
The instrument editor for POKEY consists of these macros:
the instrument editor for POKEY consists of these macros:
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# Sega PSG instrument editor
The instrument editor for Sega PSG (SMS, and other TI SN76489 derivatives) consists of these macros:
the instrument editor for Sega PSG (SMS, and other TI SN76489 derivatives) consists of these macros:
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# PV-1000 instrument editor
The instrument editor for the Casio PV-1000 consists of these macros:
the instrument editor for the Casio PV-1000 consists of these macros:
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# Capcom QSound instrument editor
The QSound instrument editor contains three tabs: Sample and Macros.
the QSound instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# Ricoh RF5C68 instrument editor
The RF5C68 instrument editor contains three tabs: Sample and Macros.
the RF5C68 instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# Philips SAA1099 instrument editor
The SAA1099 instrument editor consists of these macros:
the SAA1099 instrument editor consists of these macros:
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# Konami SCC/Bubble System WSG instrument editor
The SCC/Bubble System WSG instrument editor consists of two tabs.
the SCC/Bubble System WSG instrument editor consists of two tabs.
## Wavetable

View file

@ -1,6 +1,6 @@
# SegaPCM instrument editor
The SegaPCM instrument editor contains three tabs: Sample and Macros.
the SegaPCM instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -1,6 +1,6 @@
# SM8521 instrument editor
The SM8521 instrument editor contains two tabs: Wavetable and Macros.
the SM8521 instrument editor contains two tabs: Wavetable and Macros.
## Wavetable

View file

@ -27,7 +27,7 @@ if envelope is off:
- **Direct**: direct gain from 0 to 127.
- **Decrease (linear)**: linear gain from -0 to -31.
- **Decrease (logarithmic)**: exponential gain from -0 to -31.
- note: using decrease modes will not produce any sound unless a Gain macro is set. The first tick must be the initial gain, and the second tick must be the decrease gain value. gain values are as described in the Macros section below.
- note: using decrease modes will not produce any sound unless a Gain macro is set. the first tick must be the initial gain, and the second tick must be the decrease gain value. gain values are as described in the Macros section below.
- **Increase (linear)**: linear gain from +0 to +31.
- **Increase (bent line)**: inverse exponential gain from +0 to +31.
- **Gain**: value of gain.

View file

@ -1,6 +1,6 @@
# T6W28 instrument editor
The instrument editor for T6W28 consists of these macros:
the instrument editor for T6W28 consists of these macros:
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# Atari TIA instrument editor
The TIA instrument editor consists of these macros:
the TIA instrument editor consists of these macros:
- **Volume**: volume sequence.
- **Arpeggio**: pitch sequence.

View file

@ -1,6 +1,6 @@
# Commodore VIC instrument editor
The VIC instrument editor consists of these macros:
the VIC instrument editor consists of these macros:
- **Volume**: volume sequence.
- note: global! affects entire chip.

View file

@ -1,6 +1,6 @@
# Virtual Boy instrument editor
The Virtual Boy instrument editor contains three tabs: Virtual Boy, Wavetable and Macros.
the Virtual Boy instrument editor contains three tabs: Virtual Boy, Wavetable and Macros.
## Virtual Boy

View file

@ -1,6 +1,6 @@
# VRC6 instrument editor
The VRC6 (regular) instrument editor consists of two tabs.
the VRC6 (regular) instrument editor consists of two tabs.
## Sample

View file

@ -1,10 +1,10 @@
# 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.
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.
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.
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)

View file

@ -1,6 +1,6 @@
# Namco WSG instrument editor
The Namco WSG/C15/C30 instrument editor consists of two tabs: Wavetable and Macros.
the Namco WSG/C15/C30 instrument editor consists of two tabs: Wavetable and Macros.
## Wavetable

View file

@ -1,6 +1,6 @@
# YMZ280B instrument editor
The YMZ280B instrument editor contains three tabs: Sample and Macros.
the YMZ280B instrument editor contains three tabs: Sample and Macros.
## Sample

View file

@ -49,7 +49,7 @@ controls across the bottom line:
- `+` / `±`: toggle text input as unsigned/signed. also adjusts waveform display.
- text input: waveform data as an editable numeric sequence. also called "MML stream".
## waveform utilifies
## waveform utilities
these provide different ways of creating or altering a waveform.

View file

@ -81,10 +81,10 @@ in there, you can modify certain data pertaining to your sample, such as the:
- top-left drop-down box: sample slot.
- **Open**: replaces current sample.
- Right-clicking brings up a menu:
- right-clicking brings up a menu:
- **import raw...**: brings up a file selector, then presents a dialog to choose the format of the selected file.
- **Save**: saves current sample to disk.
- Right-clicking brings up a menu:
- right-clicking brings up a menu:
- **save raw...**: brings up a file selector, then saves the sample as raw data.
- **Name**: name in sample list.
- button to left of **Info**: collapses and expands the info section.

View file

@ -1,6 +1,6 @@
# Namco C140
Namco C140 is a 24-channel custom PCM sound chip manufactured jointly by Fujitsu and Namco. It was first used in Namco System 2 arcade family starting in 1987.
the Namco C140 is a 24-channel custom PCM sound chip manufactured jointly by Fujitsu and Namco. it was first used in Namco System 2 arcade family starting in 1987.
this chip features:

View file

@ -1,6 +1,6 @@
# OKI MSM6295
an upgrade from 6258 - it provides 4 ADPCM channels, at max 32 KHz (still no variable pitch though). between late '80s and late '90s, it was one of the most common, if not _the_ most common soundchip used in arcade machines (Capcom, Toaplan, Kaneko, Atari, Tecmo, the list can go on and on...). Without bankswitching, the chip supports 256kB of sample RAM and can hold up to 127 samples at once.
an upgrade from 6258 - it provides 4 ADPCM channels, at max 32 KHz (still no variable pitch though). between late '80s and late '90s, it was one of the most common, if not _the_ most common soundchip used in arcade machines (Capcom, Toaplan, Kaneko, Atari, Tecmo, the list can go on and on...). without bankswitching, the chip supports 256kB of sample RAM and can hold up to 127 samples at once.
# effects

View file

@ -1,4 +1,4 @@
# Namco 163 (also called N163, Namco C163, Namco 106 (sic), Namco 160 or Namco 129)
# Namco 163 (also called N163, Namco C163, Namco 106 [_sic_], Namco 160 or Namco 129)
this is one of Namco's NES mappers, with up to 8 wavetable channels.

View file

@ -31,7 +31,7 @@ also known as Famicom. it is a five-channel sound generator: first two channels
- `1`: length counter. volume represents output volume.
- `2`: looping envelope. volume represents envelope duration.
- `3`: constant volume. default value. volume represents output volume.
- Pulse and noise channels only.
- pulse and noise channels only.
- you may need to apply a phase reset (using the macro) to make the envelope effective.
- `16xx`: **set length counter.**
- see table below for possible values.

View file

@ -27,7 +27,7 @@ afterwards everyone moved to Windows and software mixed PCM streaming...
- only in 4-op mode (OPL3).
- `15xx`: **set operator 4 level.**
- only in 4-op mode (OPL3).
- `16xy`: **sSet multiplier of operator.**
- `16xy`: **set multiplier of operator.**
- `x` is the operator (1-4; last 2 operators only in 4-op mode).
- `y` is the multiplier.
- `17xx`: **set vibrato depth.**

View file

@ -4,7 +4,7 @@ the SM8521 is the CPU and sound chip of the Game.com, a handheld console release
ultimately, most of the games for the Game.com ended up being failures in the eyes of reviewers, thus giving the Game.com a pretty bad reputation. this was one of the reasons that the Game.com only ended up selling at least 300,000 units. for these reasons and more, the Game.com ended up being discontinued in 2000.
however, for its time, it was a pretty competitively priced system. the Game Boy Color was to be released in a year for $79.95, while the Game.com was released for $69.99; and its later model, the Pocket Pro, was released in mid-1999 for $29.99 due to the Game.com's apparent significant decrease in value.
however, for its time, it was a pretty competitively priced system. the Game Boy Color was to be released in a year for $79.95, while the Game.com was released for $69.99; its later model, the Pocket Pro, was released in mid-1999 for $29.99 due to the Game.com's apparent significant decrease in value.
in fact, most games never used the wavetable/noise mode of the chip. Sonic Jam, for example, uses a sine wave with a software-controlled volume envelope on the DAC channel (see below for more information on the DAC channel).

View file

@ -2,7 +2,7 @@
a relatively simple sound chip made by Texas Instruments. a derivative of it is used in Sega's Master System, the predecessor to Genesis. it has three square wave channels and one noise channel... not really.
nominal mode of SN76489 has 3 square wave channels, with noise channel having only 3 preset frequencies to use (absurdly low, very low, low). to use more pitches, one can enable a mode which "steals" the frequency from square wave channel 3. by doing that, SN76489 becomes effectively a 3 channel sound chip. In addition, periodic noise mode can be enabled, with same caveats.
nominal mode of SN76489 has 3 square wave channels, with noise channel having only 3 preset frequencies to use (absurdly low, very low, low). to use more pitches, one can enable a mode which "steals" the frequency from square wave channel 3. by doing that, SN76489 becomes effectively a 3 channel sound chip. in addition, periodic noise mode can be enabled, with same caveats.
the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock... except for the SN76494, which can play notes as low as 13670 Hz (A -1). consequently, its pitch accuracy for higher notes is compromised.

View file

@ -1,6 +1,6 @@
# VERA
this is a video and sound generator chip used in the Commander X16, a modern 8-bit computer created by The 8-Bit Guy.
this is a video and sound generator chip used in the Commander X16, a modern 8-bit computer created by the 8-Bit Guy.
it has 16 channels of pulse/triangle/saw/noise and one stereo PCM channel.
currently Furnace does not support the PCM channel's stereo mode, though (except for panning).

View file

@ -28,7 +28,7 @@ this is a non-exhaustive list of grooves and their equivalent BPM.
_note:_ this table assumes a song's tick rate setting is left at its default value for the chosen engine speed: 60 for NTSC, or 50 for PAL.
bPM NTSC | BPM PAL | groove | | BPM NTSC | BPM PAL | groove
BPM NTSC | BPM PAL | groove | | BPM NTSC | BPM PAL | groove
--------:|--------:|:-----------------------|-|---------:|--------:|:----------------------
100.00 | 83.33 | 9 | | 168.75 | 140.63 | 6, 5, 5
102.86 | 85.71 | 9, 9, 9, 8 | | 171.43 | 142.86 | 6, 5, 5, 5

View file

@ -1,34 +1,34 @@
# AY-3-8910 / AY8930 / SAA1099 envelope guide
The AY-3-8910 programmable sound generator, aside from normal 4-bit volume control, has an hardware volume envelope. This feature that allows for defining the shape of the volume envelope at arbitrary speed according to 8 preset envelope shapes. One may think, what is any upside of hardware envelope? Well, it's somewhat independent of tone/noise generators, and since it goes so high in frequency, it can be used melodically! This guide explains how to make best use of the AY/SAA envelope.
the AY-3-8910 programmable sound generator, aside from normal 4-bit volume control, has an hardware volume envelope. this feature that allows for defining the shape of the volume envelope at arbitrary speed according to 8 preset envelope shapes. one may think, what is any upside of hardware envelope? Well, it's somewhat independent of tone/noise generators, and since it goes so high in frequency, it can be used melodically! This guide explains how to make best use of the AY/SAA envelope.
## AY-3-8910 / AY8930
In the instrument editor:
- Add a single tick to the "Waveform" macro with only `envelope` turned on. This will disable any output, but don't worry.
- Add a single tick to the "Envelope" macro and select `enable`.
in the instrument editor:
- add a single tick to the "Waveform" macro with only `envelope` turned on. this will disable any output, but don't worry.
- add a single tick to the "Envelope" macro and select `enable`.
If you play a note now, you will hear a very high-pitched squeak. This is because you must set envelope period, which is the frequency at which the hardware envelope runs. You can do it in two ways:
if you play a note now, you will hear a very high-pitched squeak. this is because you must set envelope period, which is the frequency at which the hardware envelope runs. you can do it in two ways:
- `23xx` and `24xx` effects (envelope coarse and fine period);
- `29xx` auto-envelope period effect and macros.
Auto-envelope works via numerator and denominator. In general, the higher the numerator, the higher the envelope pitch. The higher the denominator, the lower the envelope pitch. Why are there both of these? Because the envelope generator might be used to mask the tone output (i.e. affect the square wave as well). To do it, set the "Waveform" macro values to both `tone` and `envelope`. The higher the denominator value, then the lower the envelope pitch relative to the square wave output, and similarly with the numerator. With the square-and-envelope setting, a lot of wild, detuned synth instruments can be made.
auto-envelope works via numerator and denominator. in general, the higher the numerator, the higher the envelope pitch. the higher the denominator, the lower the envelope pitch. why are there both of these? Because the envelope generator might be used to mask the tone output (i.e. affect the square wave as well). to do it, set the "Waveform" macro values to both `tone` and `envelope`. the higher the denominator value, then the lower the envelope pitch relative to the square wave output, and similarly with the numerator. with the square-and-envelope setting, a lot of wild, detuned synth instruments can be made.
Back to the hardware envelope itself. Depending on the "Envelope" macro value, different envelope shapes can be obtained. The most basic one, 8, is a sawtooth wave. The `direction` value will invert the envelope, producing the reverse sawtooth. The `alternate` value produces an interesting pseudo-triangular wave, similiar to halved sine. That one can also be reversed. `Hold` option disables the envelope.
back to the hardware envelope itself. depending on the "Envelope" macro value, different envelope shapes can be obtained. the most basic one, 8, is a sawtooth wave. the `direction` value will invert the envelope, producing the reverse sawtooth. the `alternate` value produces an interesting pseudo-triangular wave, similiar to halved sine. that one can also be reversed. `Hold` option disables the envelope.
_Warning:_ The envelope pitch resolution is fairly low; at high pitches it will be detuned. Because of this, it's used mostly for bass.
_Warning:_ the envelope pitch resolution is fairly low; at high pitches it will be detuned. because of this, it's used mostly for bass.
_Warning_: There is only one hardware envelope generator. You can't use two pitches or two waveforms at once.
_Warning_: there is only one hardware envelope generator. you can't use two pitches or two waveforms at once.
## SAA1099
SAA envelope works a bit differently. It doesn't have its own pitch; instead, it relies on the channel 2/5 pitch. It also has many more parameters than the AY envelope. To use it:
- Go to waveform macro and add a single tick set to 0 (unless you want to have a square wave mask).
- Set up an envelope macro. Turn on `enabled`, `loop`, and depending on the desired shape, `cut` and `direction`. `Resolution` will give you higher pitch range than on the AY.
- Place two notes in the pattern editor. One in channel 2 will control the envelope pitch. The other in channel 3 can be any note you wish; it's just to enable the envelope output.
SAA envelope works a bit differently. it doesn't have its own pitch; instead, it relies on the channel 2/5 pitch. it also has many more parameters than the AY envelope. to use it:
- go to waveform macro and add a single tick set to 0 (unless you want to have a square wave mask).
- set up an envelope macro. turn on `enabled`, `loop`, and depending on the desired shape, `cut` and `direction`. `Resolution` will give you higher pitch range than on the AY.
- place two notes in the pattern editor. one in channel 2 will control the envelope pitch. the other in channel 3 can be any note you wish; it's just to enable the envelope output.
## examples
- [Demoscene-type Beat by Duccinator](https://www.youtube.com/watch?v=qcBgmpPrlUA)
- [Philips SAA1099 Test by Duccinator](https://www.youtube.com/watch?v=IBh2gr09zjs)
- [Touhou Kaikidan: Mystic Square title theme by ZUN](https://www.youtube.com/watch?v=tUKei7Pz0Fw): Rare instance of AY envelope used for drums, it can be used to mask the noise generator output too
- [Touhou Kaikidan: Mystic Square title theme by ZUN](https://www.youtube.com/watch?v=tUKei7Pz0Fw): rare instance of AY envelope used for drums, it can be used to mask the noise generator output too

View file

@ -1,17 +1,17 @@
# using OPLL patch macro
YM2413's biggest flaw (or, rather, cost-saving feature) was that it could use only one user-defined instrument at once. It wasn't monotimbrial; you could use 15 built-in presets and 5 built-in drum tones freely, but for these going off the beaten path, it surely was limiting. However, there is one technique, as amazing as simple: **mid-note preset switching**.
YM2413's biggest flaw (or, rather, cost-saving feature) was that it could use only one user-defined instrument at once. it wasn't monotimbrial; you could use 15 built-in presets and 5 built-in drum tones freely, but for these going off the beaten path, it surely was limiting. however, there is one technique, as amazing as simple: **mid-note preset switching**.
the idea is to use the first patch to put the envelope in an unintended state for the second patch so that it sounds different, with a higher or lower modulation level. the sustain level defines at which "envelope level" the envelope will switch to the sustain state (or release depending on envelope type). if the first patch is used to put the envelope into sustain at a higher or lower envelope state than intended for the second patch, it'll still be in sustain/release but at a higher or lower level than it should be at that point.
therefore, much more variety can be forced out, without using custom instruments. As of July 2023, Furnace is the only tool supporting this feature. It is accessed in 'Macros' tab in OPLL instrument editor.
therefore, much more variety can be forced out, without using custom instruments. as of July 2023, Furnace is the only tool supporting this feature. it is accessed in 'Macros' tab in OPLL instrument editor.
For example, try putting the first macro value as 14 (acoustic bass preset), followed by 4 (flute preset). This way you will get distortion guitar-like sound this is nothing like other 2413 preset! There are many combination to test out, which is highly recommended (I can only say, 12->1 or 12->4 produces sound similiar to the well-known 4-op FM mallet brass)
for example, try putting the first macro value as 14 (acoustic bass preset), followed by 4 (flute preset). this way you will get distortion guitar-like sound this is nothing like other 2413 preset! there are many combination to test out, which is highly recommended (I can only say, 12->1 or 12->4 produces sound similiar to the well-known 4-op FM mallet brass)
## drums using this technique
Using OPLL's drum mode, described is systems/opll.md, you gain access to 5 hardcoded drum tones at the expense of 3 melodic FM channels. Patch switching eliminates that, as using it, it's also possible to construct percussive sounds, some even fuller than their drum mode counterparts!
In short, noise portion of drums (as in hi-hats), can be created of the very high pitched pseudo-distortion guitar, described as above. For kicks, snares, toms and claps, more effort is needed, however using volume and arpeggio macros will help.
using OPLL's drum mode, described is systems/opll.md, you gain access to 5 hardcoded drum tones at the expense of 3 melodic FM channels. patch switching eliminates that, as using it, it's also possible to construct percussive sounds, some even fuller than their drum mode counterparts!
un short, noise portion of drums (as in hi-hats), can be created of the very high pitched pseudo-distortion guitar, described as above. for kicks, snares, toms and claps, more effort is needed, however using volume and arpeggio macros will help.
## examples