Merge branch 'tildearrow:master' into master

This commit is contained in:
DevEd 2023-09-10 21:54:13 -04:00 committed by GitHub
commit be6f7175bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
173 changed files with 553 additions and 526 deletions

View file

@ -15,8 +15,8 @@ android {
}
minSdkVersion 21
targetSdkVersion 26
versionCode 173
versionName "0.6pre12"
versionCode 174
versionName "0.6pre13"
externalNativeBuild {
cmake {
arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON"

View file

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.tildearrow.furnace"
android:versionCode="173"
android:versionName="0.6pre12"
android:versionCode="174"
android:versionName="0.6pre13"
android:installLocation="auto">
<!-- OpenGL ES 2.0 -->

View file

@ -24,6 +24,6 @@ see [2-interface](../2-interface/README.md) and [3-pattern](../3-pattern/README.
once familiar with the tracker, look to [9-guides](../9-guides/README.md) for useful techniques.
# tutorial?
## tutorial?
[Furnace Tutorials](https://youtube.com/playlist?list=PLCELB6AsTZUnwv0PC5AAGHjvg47F44YQ1): video tutorials created by Spinning Square Waves. be noted that these may not apply to the current version.

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

@ -41,7 +41,7 @@ hex | decimal
40 | 64
```
# hex to decimal
## hex to decimal
for example, take hexadecimal number `AA`:
@ -67,7 +67,7 @@ now for hexadecimal number `4C5F`:
= 19551
```
# decimal to hex
## decimal to hex
if it's less than 16, just memorize the table at the top of this document.
@ -96,7 +96,7 @@ now for decimal number `69420`:
= 10F2C
```
# hex-decimal table
## hex to decimal table
hex | `0` | `1` | `2` | `3` | `4` | `5` | `6` | `7` | `8` | `9` | `A` | `B` | `C` | `D` | `E` | `F`
-----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:

View file

@ -1,4 +1,8 @@
# instrument list
# asset list
an "asset" refers to an instrument, wavetable or sample.
## instrument list
![instruments window](instruments.png)
@ -29,7 +33,7 @@ assets may be dragged from folder to folder and even rearranged within folders w
right-clicking on a folder allows one to rename or delete it. deleting a folder does not remove the instruments in it.
# wavetable list
## wavetable list
![wavetables window](wavetables.png)
@ -41,7 +45,7 @@ wavetables are saved as Furnace wavetable (.fuw) files.
- **save wavetable as .dmw...**: saves the selected wavetable in DefleMask format.
- **save raw wavetable...**: saves the selected wavetable as raw data.
# sample list
## sample list
![samples window](samples.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 B

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 B

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 898 B

After

Width:  |  Height:  |  Size: 942 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 562 B

After

Width:  |  Height:  |  Size: 907 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 B

After

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -4,7 +4,7 @@ the menu bar allows you to select from five menus: file, edit, settings, window
items in _italic_ don't appear in basic mode and are only available in advanced mode.
# file
## file
- **new...**: creates a new song.
- **open...**: opens the file picker, allowing you to select a song to open.
@ -52,7 +52,7 @@ items in _italic_ don't appear in basic mode and are only available in advanced
- **exit**: closes Furnace.
## export audio
### export audio
this option allows you to export your song in .wav format. I know I know, no .mp3 or .ogg export yet, but you can use a converter.
@ -70,7 +70,7 @@ and three export choices:
- **multiple files (one per channel)**: exports the output of each channel to .wav files.
- useful for usage with a channel visualizer such as corrscope.
## export VGM
### export VGM
this option allows exporting to a VGM (Video Game Music) file. these can be played back with VGMPlay (for example).
@ -104,7 +104,7 @@ the following settings exist:
click on **click to export** to begin exporting.
## export ZSM
### export ZSM
ZSM (ZSound Music) is a format designed for the Commander X16 to allow hardware playback.
it may contain data for either YM2151 or VERA chips.
@ -120,7 +120,7 @@ the following settings are available:
click on **Begin Export** to... you know.
## export command stream
### export command stream
this option exports a text or binary file which contains a dump of the internal command stream produced when playing the song.
@ -129,7 +129,7 @@ it's not really useful, unless you're a developer and want to use a command stre
- **export (binary)**: exports in Furnace's own command stream format (FCS). see `export-tech.md` in `papers/` for details.
- **export (text)**: exports the command stream as a text file. only useful for analysis, really.
# edit
## edit
- **...**: does nothing except prevent accidental clicks on later menu items if the menu is too tall to fit on the program window.
@ -191,7 +191,7 @@ it's not really useful, unless you're a developer and want to use a command stre
- **clear**: opens a window that allows you to mass-delete things like songs, unused instruments, and the like.
# settings
## settings
- **full screen**: expands the Furnace window so it covers your screen.
- **lock layout**: prevents you from dragging/resizing docked windows, or docking more.
@ -200,7 +200,7 @@ it's not really useful, unless you're a developer and want to use a command stre
- **reset layout**: resets the workspace to its defaults.
- **settings...**: shows the Settings window. these are detailed in [settings.md].
# window
## window
all these menu items show or hide their associated windows.
@ -228,7 +228,7 @@ all these menu items show or hide their associated windows.
- [log viewer](../8-advanced/log-viewer.md)
- [stats](../8-advanced/stats.md)
# help
## help
- **effect list**: displays the effect list.
- **debug menu**: this menu contains various debug utilities.
@ -244,6 +244,6 @@ at the end of the menu bar, more information may be shown:
- instrument number and name.
- volume in decimal, hex, and percentage.
- effect type and description.
- during playback, the current values of the following will be listed:\
> speed/groove @ tick rate (BPM) | order | row | elapsed time.
- during playback, these values will be displayed:
- `speed/groove @ tick rate (BPM) | order | row | elapsed time`
- if any changes or edits have been made but not yet saved, "modified" will appear.

View file

@ -173,17 +173,10 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
### Cores
- **Arcade/YM2151 core**\
**Genesis/YM2612 core**\
**SN76489 core**\
**NES core**\
**FDS core**\
**SID core**\
**POKEY core**\
**OPN/OPNA/OPNB cores**:
- **Playback Core(s)**: core(s) to use for playback.
- **Render Core(s)**: core(s) to use when exporting audio.
- all of these are covered in the [guide to choosing emulation cores](../9-guides/emulation-cores.md).
- **Playback Core(s)**: core(s) to use for playback.
- **Render Core(s)**: core(s) to use when exporting audio.
all of these are covered in the [guide to choosing emulation cores](../9-guides/emulation-cores.md).
- **PC Speaker strategy**: this is covered in the [PC speaker page](../7-systems/pcspkr.md).
@ -205,7 +198,7 @@ a list of keybinds is displayed.
the settings for note input keybinds operate differently. each entry in the list of keybinds is made of the following:
- **Key**: key assignment.
- **Type**: type of note input. left-click cycles through "Note", "Note off", "Note release", and "Macro release".
- _note:_ the list is sorted by type. on changing a key's type, it will instantly move to its new sorting position!
- note: the list is sorted by type. on changing a key's type, it will instantly move to its new sorting position!
- **Value**: number of semitones above C at the current octave. only appears for note type binds.
- **Remove**: removes the keybind from the list.
@ -311,16 +304,12 @@ below all the binds, select a key from the dropdown list to add it. it will appe
### Text
- **Main font**: overall interface font.\
**Header font**: font for section headers.\
**Pattern font** font for the pattern view, the order list, and related.
- **Main font**: overall interface font.
- **Header font**: font for section headers.
- **Pattern font** font for the pattern view, the order list, and related.
- if "Custom...", a file path selector will appear.
- **Size**: font size.
- **Display Japanese characters**\
**Display Chinese (Simplified) characters**\
**Display Chinese (Traditional) characters**\
**Display Korean characters**
- only toggle these options if you have enough graphics memory.
- **Display Japanese characters**, **Display Chinese (Simplified) characters**, **Display Chinese (Traditional) characters** and **Display Korean characters**: only toggle these options if you have enough graphics memory.
- these are a temporary solution until dynamic font atlas is implemented in Dear ImGui.
### Program

View file

@ -9,7 +9,7 @@ all of this metadata will be included in a VGM export. this isn't the case for a
- _**Tuning (A-4)**_: set tuning based on the note A-4, which should be 440 in most cases. opening an Amiga MOD will set it to 436 for hardware compatibility. available only in advanced mode.
# subsongs
## subsongs
this window allows one to create **subsongs** - multiple individual songs within a single file. each song has its own order list and patterns, but all songs within a file share the same chips, samples, and so forth.
@ -19,7 +19,7 @@ this window allows one to create **subsongs** - multiple individual songs within
- **Name**: title of the current subsong.
- the box at the bottom can store any arbitrary text, like a separate "Comments" box for the current subsong.
# speed
## speed
there are multiple ways to set the tempo of a song.
@ -45,7 +45,8 @@ _**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.)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 128 KiB

View file

@ -51,23 +51,23 @@ right-clicking the `++` toggles the visualizer, which is active only during play
to rename and/or hide channels, open [the Channels window](../8-advanced/channels.md) via the window menu.
# input
## input
## note input
### note input
![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
### instrument/volume input
type any hexadecimal number (0-9 and A-F). the cursor will move by the Edit Step when a suitable value is entered.
## effect input
### effect input
works like the instrument/volume input.
@ -80,7 +80,7 @@ here's [a list of effect types](effects.md).
# keyboard shortcuts
## keyboard shortcuts
these are the default key functions. all keys are configurable in the Keyboard tab of the Settings window.

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,20 +79,21 @@ 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.**
- this effect is currently incomplete.
- `F5xx`: **Disable macro.**\
`F6xx`: **Enable macro.** see macro table at the end of this document for possible values.
- `F5xx`: **Disable macro.**
- `F6xx`: **Enable macro.**
- see macro table at the end of this document for possible values.
additionally, [each chip has its own effects](../7-systems/README.md).

View file

@ -68,56 +68,56 @@ the following instrument types are available:
- [C140](c140.md) - for use with C140 sample chip.
- [C219](c219.md) - for use with C219 sample chip.
# macros
## 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
## 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
## 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
@ -65,6 +65,6 @@ All parameters are listed above.
- **Relative**: when enabled, pitch changes are relative to the current pitch.
- **Phase Reset**: restarts all operators and resets the waveform to its start.
# OPL (drums) instrument editor
## OPL (drums) instrument editor
this is similar to the OPL instrument editor, but sets the parameters of snare, tom, top and hi-hat directly once a drums instrument is activated.

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
@ -68,6 +68,6 @@ All parameters are listed above.
- **Phase Reset**: restarts all operators and resets the waveform to its start.
# links
## 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
@ -73,6 +73,6 @@ All parameters are listed above.
- **Phase Reset**: restarts all operators and resets the waveform to its start.
# links
## 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
## 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
## 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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 69 KiB

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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 432 B

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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 84 KiB

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
@ -17,7 +17,7 @@ note that using samples on VRC6 is CPU expensive!
- **Duty**: specifies duty cycle for pulse wave channels.
- **Pitch**: fine pitch.
# VRC6 (saw) instrument editor
## 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.

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)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 60 KiB

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

@ -22,7 +22,7 @@ Seta X1-010 | 128 | 256 |
Amiga | ≤256 | 256 |
# wavetable editor
## wavetable editor
![wavetable editor](wave-editor.png)
@ -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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View file

@ -65,7 +65,7 @@ due to limitations in some of those sound chips, some restrictions exist:
furthermore, many of these chips have a limited amount of sample memory. check memory usage in window > statistics.
# the sample editor
## the sample editor
you can edit your samples in Furnace's sample editor, which can be accessed by clicking on `window` (at the top of the screen) then clicking on `sample editor`, or by double-clicking a sample in the sample list.
@ -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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 KiB

After

Width:  |  Height:  |  Size: 212 KiB

View file

@ -59,7 +59,7 @@ some systems have alternate chips, such as the Sega Genesis having a YM2612 or Y
# chips
## chips
this is the full list of chips that Furnace supports.

View file

@ -6,7 +6,7 @@ in this very computer music trackers were born...
imported MOD files use this chip, and will set A-4 tuning to 436.
# effects
## effects
- `10xx`: **toggle low-pass filter.** `0` turns it off and `1` turns it on.
- `11xx`: **toggle amplitude modulation with the next channel.**
@ -16,7 +16,7 @@ imported MOD files use this chip, and will set A-4 tuning to 436.
- `13xx`: **change wave.**
- only works when "Mode" is set to "Wavetable" in the instrument.
# info
## info
this chip uses the [Generic Sample](../4-instrument/sample.md) instrument editor.

View file

@ -8,7 +8,7 @@ the AY-3-8914 variant was used in Intellivision, which is pretty much an AY with
Furnace is capable of doing software sample playback on AY-3-8910, where all 3 channels can play 4-bit PCM samples (at the cost of a very high CPU usage).
# effects
## effects
- `20xx`: **set channel mode.**
- `0`: square
@ -61,6 +61,6 @@ AY-3-810 was an absurdly popular chip that was blessed with many third-party clo
- Yamaha YM2149 was an AY-3-8910 clone released in 1983. it's almost identical to AY with minor differences being: higher hardware envelope step resolution (16 vs 32), half-clock mode when voltage level is low, much stronger DC offset and cleaner, but softer output.
- Sunsoft 5B is YM2149 clone with half-clock mode forced on.
# info
## info
this chip uses the [AY-3-8910](../4-instrument/ay8910.md) instrument editor.

View file

@ -9,7 +9,7 @@ emulation of this chip in Furnace is now complete thanks to community efforts an
Furnace is able to do software PCM on AY8930, where all 3 channels can play 5-bit PCM samples (at the cost of a very high CPU usage).
# effects
## effects
- `12xx`: **set channel duty cycle.**
- `0`: 3.125%
@ -56,6 +56,6 @@ Furnace is able to do software PCM on AY8930, where all 3 channels can play 5-bi
- `y` is the denominator.
- if `x` or `y` are 0 this will disable auto-envelope mode.
# info
## info
this chip uses the [AY8930](../4-instrument/ay8930.md) instrument editor.

View file

@ -8,10 +8,10 @@ another AY-3-8910 IO is used for reading sound hardware status.
Furnace emulates this configuration as a "chip" with 32×16 wavetables.
# effects
## effects
- `10xx`: **change wave.**
# info
## info
this chip uses the [Konami SCC/Bubble System WSG](../4-instrument/scc.md) instrument editor.

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:
@ -8,10 +8,10 @@ this chip features:
- accepts either raw 12-bit PCM or 8-bit µ-law compressed PCM samples
- 21.4 kHz sampling rate
# effects
## effects
none!
# info
## info
this chip uses the [C140](../4-instrument/c140.md) instrument editor.

View file

@ -7,13 +7,13 @@ this chip features:
- stereo soft panning
- accepts either 8-bit PCM or proprietary 8-bit µ-law compressed PCM samples
# effects
## effects
- `11xx`: **set noise mode.**
- `12xy`: **set invert mode.**
- if `x` is 1 or higher, surround is enabled.
- if `y` is 1 or higher, invert is enabled.
# info
## info
this chip uses the [C219](../4-instrument/c219.md) instrument editor.

View file

@ -6,7 +6,7 @@ very popular in Europe and mostly due to the demoscene, which stretched the mach
two versions of aforementioned chip exist - 6581 (original chip) and 8580 (improved version with working waveform mixing and somewhat more consistent filter curves).
# effects
## effects
- `10xx`: **change wave.** the following values are accepted:
- `00`: nothing
@ -58,6 +58,6 @@ two versions of aforementioned chip exist - 6581 (original chip) and 8580 (impro
- `3xxx`: **set duty cycle.** `xxx` range is `000` to `FFF`.
- `4xxx`: **set cutoff.** `xxx` range is `000` to `7FF`.
# info
## info
this chip uses the [C64](../4-instrument/c64.md) instrument editor.

View file

@ -4,10 +4,10 @@ a sample channel, with freely selectable rate, mono/stereo and bit depth setting
with it, you can emulate PCM DACs found in Williams arcade boards, Sound Blasters, MSX TurboR, Atari STe, NEC PC-9801-86, among others.
# effects
## effects
none yet.
# info
## info
this chip uses the [Generic Sample](../4-instrument/sample.md) instrument editor.

View file

@ -10,7 +10,7 @@ it has a whopping 32 channels of 16-bit PCM and:
- internal volume multiplication and stereo panning
- hardware support for short envelopes
# effects
## effects
- `10xx`: **set waveform.**
- `11xx`: **set filter mode.** values are `0` through `3`.
@ -41,6 +41,6 @@ it has a whopping 32 channels of 16-bit PCM and:
- resets sample position to `xxx * 0x100`.
- `DFxx`: **set sample playback direction.**
# info
## info
this chip uses the [ES5506](../4-instrument/es5506.md) instrument editor.

View file

@ -5,7 +5,7 @@ as it name implies, it allowed people to play games on specialized floppy disks
it also offers an additional 6-bit, 64-byte wavetable sound channel with (somewhat limited) FM capabilities, which is what Furnace supports.
# effects
## effects
- `10xx`: **change wave.**
- `11xx`: **set modulation depth.**
@ -26,6 +26,6 @@ it also offers an additional 6-bit, 64-byte wavetable sound channel with (somewh
- 7: -1
- **do not use this effect.** it only exists for compatibility reasons
# info
## info
this chip uses the [FDS](../4-instrument/fds.md) instrument editor.

View file

@ -4,12 +4,12 @@ it is a 4 channel PCM sound source used by Irem in their arcades in late 1980s a
the sound chip itself is rather unremarkable, having 8-bit volume and pitch control and no stereo panning...
# effects
## effects
none
let's be honest. Furnace has too many chips and a great portion of them are sample chips that do the same task: playing back samples.
# info
## info
this chip uses the [GA20](../4-instrument/ga20.md) instrument type.

View file

@ -4,7 +4,7 @@ the Game Boy is one of the most successful portable game systems ever made.
it has stereo sound, two pulse channels, a wave channel and a noise channel.
# effects
## effects
- `10xx`: **change wave.**
- `11xx`: **set noise length.**
@ -21,11 +21,11 @@ it has stereo sound, two pulse channels, a wave channel and a noise channel.
- set to `0` to disable it.
- `14xx`: **set sweep direction.** `0` is up and `1` is down.
# info
## info
this chip uses the [Game Boy](../4-instrument/game-boy.md) instrument editor.
# links
## links
- [Gameboy sound hardware](https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware) - detailed technical information

View file

@ -4,7 +4,7 @@ a video game console that showed itself as the first true rival to Nintendo's vi
this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [a derivative of the SN76489](sms.md).
# effects
## effects
- `10xy`: **set LFO parameters.**
- `x` toggles the LFO.
@ -38,7 +38,7 @@ this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [
# system modes
## system modes
## extended channel 3

View file

@ -6,12 +6,12 @@ its sample format is unique; the topmost bit is the end marker, and the low 7 bi
it has 7 bit digital output per each channel and no volume register on chip, so it needs external logic to control channel volume.
# effects
## effects
nothing.
yeah.
# info
## info
this chip uses the [K007232](../4-instrument/k007232.md) instrument editor.

View file

@ -2,12 +2,12 @@
this chip is a sample-based chip that featured in a number of Konami arcade games, notably _Sunset Riders_ and _Teenage Mutant Ninja Turtles: Turtles in Time_. it has four channels of audio, 12-bit pitch resolution and stereo output, and can access up to 2MB of samples in 8-bit PCM or 4-bit ADPCM formats.
# effects
## effects
- `DFxx`: **set sample playback direction.**
- `0` is normal.
- `1` is reverse.
# info
## info
this chip uses the [K053260](../4-instrument/k053260.md) instrument editor.

View file

@ -15,11 +15,11 @@ the Atari Lynx has a 6502-based CPU with a sound part (this chip is known as MIK
- four 8-bit DACs (Digital to Analog Converter), one for each voice. this allows for sample playback (at the cost of CPU time and memory).
- a variety of pitches to choose from, and they go from 32Hz to "above the range of human hearing", according to Atari.
# effects
## effects
- `3xxx`: **load LFSR.** this is a bitmask with values ranging from `000` to `FFF`.
- for it to work, duty macro in instrument editor must be set to some value. without it LFSR will not be fed with any bits.
# info
## info
this chip uses the [Atari Lynx](../4-instrument/lynx.md) instrument editor.

Some files were not shown because too many files have changed in this diff Show more