Grab bag of added documentation.

Casio PV-1000 added, Genesis expanded, sample editor added.
This commit is contained in:
Electric Keet 2023-07-03 14:06:00 -07:00
parent 747d94ad5f
commit fc3167d610
10 changed files with 118 additions and 8 deletions

View File

@ -30,6 +30,7 @@ depending on the instrument type, there are many different types of instrument e
- [Namco 163](n163.md) - for use with Namco 163.
- [Konami VRC6](vrc6.md) - for use with VRC6's PSG sound source.
- [SNES](snes.md) - for use with SNES S-APU.
- [Casio PV-1000](pv1000.md) - for use with Casio PV-1000.
# macros
@ -97,3 +98,16 @@ Finally, the sequence of values can be directly edited in the text box at the bo
- **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.
# samples
This tab appears for Generic PCM, SNES, Amiga, and other sample-based instruments.
![](sample-map.png)
- **Initial Sample**: the sample that the instrument will use.
- **Use wavetable**: instead of samples, use wavetables. this causes the [Wavetables](..\5-wave\README.md) tab to appear next to Sample.
- depending on the system and use of the wavetable synthesizer, this may or may not be reproducible on hardware.
- **Use sample map**: assigns a sample to each note.
- samples will be played at their default pitch.
- to set a note's sample, click the list entry in the `#` column then type the number of the sample.

View File

@ -0,0 +1,7 @@
# PV-1000 instrument editor
The instrument editor for the Casio PV-1000 consists of these macros:
- **Volume**: volume
- **Arpeggio**: pitch in half-steps
- **Pitch**: fine pitch

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

View File

@ -6,7 +6,7 @@ In Furnace, these samples can be generated by importing a .wav (think of it as a
## supported chips
as of Furnace 0.6, the following sound chips have sample support:
the following sound chips have sample support:
- NES/Ricoh 2A03 (with DPCM support and only on channel 5)
- Sega Genesis/YM2612 (channel 6 only)
@ -32,6 +32,7 @@ as of Furnace 0.6, the following sound chips have sample support:
- Ensoniq OTTO/ES5506
- Yamaha PCMD8/YMZ280B
- MMC5 (last channel only)
- SNES/S-DSP
## compatible sample mode
@ -61,12 +62,68 @@ furthermore, many of these chips have a limited amount of sample memory. check m
# the sample editor
You can actually tweak 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`.
you can actually tweak 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`.
In there, you can modify certain data pertaining to your sample, such as the:
the changes you make will be applied as soon as you've committed them to your sample, but they can be undone and redone, just like text.
in there, you can modify certain data pertaining to your sample, such as the:
- volume of the sample in percentage, where 100% is the current level of the sample (note that you can distort it if you put it too high)
- the sample rate.
- what frequencies to filter, along with filter level/sweep and resonance options (much like the C64)
- and many more.
The changes you make will be applied as soon as you've committed them to your sample, but they can be undone and redoed, just like text.
![sample editor](sample-editor.png)
- top-left drop-down box: sample slot.
- **Open**: replaces current sample.
- **Save**: saves current sample to disk.
- **Name**: name in sample list.
- button to left of **Info**: collapses and expands the info bar.
- **Type**: sample format. only 8-bit and 16-bit PCM samples are editable. selecting a format converts the sample data.
- **BRR emphasis**: boosts higher frequencies to compensate for the SNES low-pass filter. should not be enabled for BRR-type samples.
- **Rate**: switches to normal rate values.
- **Compat Rate**: switches to DefleMask-compatible rate values for sample mapping.
- **Hz**: base frequency of sample played at `C-4`.
- **Note**: note corresponding to Hz.
- **Fine**: fine tuning. ranges from -64 to 63, which maps to -1 to almost +1 semitone.
- **Loop**: enable or disable sample loop. only on supported chips.
- **Mode**: direction of loop. backward and ping pong loops are only natively available on some chips; on others, loop will be automatically unrolled as needed.
![sample editor button bar](sample-editor-buttons.png)
- **Edit mode: Select**: cursor selects portion of sample.
- **Edit mode: Draw**: cursor draws over wave.
- **Resize**: stretches sample. pops up a dialog to type new length.
- **Resample**: stretches sample. pops up a dialog box:
- **Rate**: new sample rate.
- **0.5x**: halves sample rate.
- **==**: returns to original sample rate.
- **2.0x**: doubles sample rate.
- **Factor**: multiplier of original sample rate.
- **Filter**: selects interpolation filter for resampling.
- **Undo**: undoes previous edit.
- **Redo**: redoes undone edit.
- **Amplify**: changes amplitude of selection. pops up a dialog to type amount.
- **Normalize**: adjusts amplitude of selection to maximum without clipping.
- **Fade in**: ramp amplitude of selection from 0 to original.
- **Fade in**: ramp amplitude of selection from original to 0.
- **Insert silence**: inserts silence. pops up a dialog to type length.
- **Apply silence**: reduces amplitude of selection to 0.
- **Delete**: removes selection.
- **Trim**: removes all but selection.
- **Reverse**: reverses direction of selection.
- **Invert**: flips selection "vertically".
- **Signed/unsigned exchange**: reinterprets selection data as being of the opposite sign. if a sample sounds fine elsewhere but is distorted on import, it may have been interpreted as signed when it should be unsigned, or vice versa; this will correct that.
- **Apply filter**: filters the selection. pops up a dialog box:
- **From**: filter cutoff frequency at start of selection.
- **To**: filter cutoff frequency at end of selection.
- **Resonance**: emphasizes frequencies around filter cutoff.
- **Power**: number of times resonance is applied.
- **Low-pass**: amount to attenuate everything above cutoff.
- **Band-pass**: amount to attenuate everything outside cutoff.
- **High-pass**: amount to attenuate everything below cutoff.
- **Preview sample**: plays sample at base frequency.
- **Stop sample preview**: stops preview.
- **Create instrument from sample**: creates a new instrument with its initial sample set to the current sample.
- **Zoom**: shows and sets sample view zoom level.
- **Zoom mode**: switches between "Auto" (entire sample fits in window) and "100%" (each horizontal pixel represents one sample point).

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

View File

@ -6,6 +6,7 @@ this is a list of sound chips that Furnace supports, including effects.
- [AY-3-8910](ay8910.md)
- [Microchip AY8930](ay8930.md)
- [Bubble System WSG](bubblesystem.md)
- [Casio PV-1000](pv1000.md)
- [Commodore 64](c64.md)
- [Commodore PET](pet.md)
- [Commodore VIC-20](vic20.md)

View File

@ -30,8 +30,32 @@ this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [
- `1Dxx`: **set attack of operator 4.**
- `20xy`: **set PSG noise mode.**
- `x` controls whether to inherit frequency from PSG channel 3.
- `0`: use one of 3 preset frequencies (C: A-2; C#: A-3; D: A-4).
- `0`: use one of 3 preset frequencies (`C`: A-2; `C#`: A-3; `D`: A-4).
- `1`: use frequency of PSG channel 3.
- `y` controls whether to select noise or thin pulse.
- `0`: thin pulse.
- `1`: noise.
# system modes
## extended channel 3
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
## CSM
CSM is short for "Composite Sinusoidal Modeling". CSM works by sending key-on and key-off commands to channel 3 at a specific frequency, controlled by the added "CSM Timer" channel. this can be used to create vocal formants (speech synthesis!) or other complex effects.
CSM is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU).
## DualPCM
DualPCM splits channel 6 into two individual PCM channels. using the console's Z80 processor, these are mixed together in software and streamed to channel 6 in PCM mode. because this generates a stream of data, exported VGM files will be very large.
## Sega CD
this isn't a mode so much as a chip configuration. it adds the [Ricoh RF5C68](ricoh.md) found in the Sega CD add-on, providing 8 channels of PCM.

View File

@ -4,7 +4,7 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400,
# effects
- **`10xx`**: set waveform.**
- `10xx`: **set waveform.**
- 0: harsh noise (poly5+17)
- 1: square buzz (poly5)
- 2: weird noise (poly4+5)
@ -13,7 +13,7 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400,
- 5: square
- 6: bass (poly4)
- 7: buzz (poly4)
- **`11xx`**: set AUDCTL.** `xx` is a bitmask.
- `11xx`: **set AUDCTL.** `xx` is a bitmask.
- bit 7: 9-bit poly mode. shortens noise.
- bit 6: high channel 1 clock (~1.79MHz on NTSC).
- overrides 15KHz mode.
@ -32,6 +32,6 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400,
- filtered output on channel 2 (I suggest you to set channel 4 volume to 0).
- use for PWM effects (not automatic!).
- bit 0: 15KHz mode.
- **`12xx`**: toggle two-tone mode.**
- `12xx`: **toggle two-tone mode.**
- when enabled, channel 2 modulates channel 1. I don't know how, but it does.
- only on ASAP core.

7
doc/7-systems/pv1000.md Normal file
View File

@ -0,0 +1,7 @@
# Casio PV-1000
released only in Japan, this console was pulled after only a few weeks on the market. it has only 3 square waves with 6-bit pitch resolution and no bass.
# effects
- `10xx`: **set ring modulation.** amplitude modulation by the previous channel's output. `0` turns it off and `1` turns it on.