KDCHTA;!5'

This commit is contained in:
tildearrow 2023-06-15 15:46:23 -05:00
commit d0d3094c62
5 changed files with 25 additions and 12 deletions

View file

@ -6,7 +6,11 @@ Furnace's wavetable editor is rather simple, you can draw the waveform using mou
Furnace's wavetable editor features multiple ways of creating desired waveform shape: Furnace's wavetable editor features multiple ways of creating desired waveform shape:
- Shape tab allows you to select a few predefined basic shapes and indirectly edit it via "Duty", "Exponent" and "XOR Point" sliders TODO: what the last two are doing? What is amplitude/phase for?) - Shape tab allows you to select a few predefined basic shapes and indirectly edit it via "Duty", "Exponent" and "XOR Point" sliders:
- `Duty` slider affects mainly pulse waves, determining its wisth, like on C64/VRC6
- `Exponent` powers the waveform in the mathematical sense of the word (^2, ^3 and so on)
- `XOR Point` determines the point where the waveform gets negated.
- TODO: amplitude/phase part
- FM is for creating the waveform with frequency modulation synthesis principles: One can set carrier/modulation levels, frquency multiplier, connection between operators and FM waveforms of these operators. - FM is for creating the waveform with frequency modulation synthesis principles: One can set carrier/modulation levels, frquency multiplier, connection between operators and FM waveforms of these operators.
- WaveTools allows user to fine-tune the waveform: scale said waveform in both X and Y axes, smoothen, amplify, normalize, convert to signed/unisgned, invert or even randomize the wavetable. - WaveTools allows user to fine-tune the waveform: scale said waveform in both X and Y axes, smoothen, amplify, normalize, convert to signed/unisgned, invert or even randomize the wavetable.

View file

@ -1,6 +1,6 @@
# samples # samples
In the context of Furnace, a sound sample (usually just referred to as a sample) is a string of numbers that hold sampled PCM audio. In the context of Furnace, a sound sample (usually just referred to as a sample) is a string of numbers that represent sampled PCM audio.
In Furnace, these samples can be generated by importing a .wav (think of it as an higher quality MP3) file. In Furnace, these samples can be generated by importing a .wav (think of it as an higher quality MP3) file.
@ -13,6 +13,7 @@ as of Furnace 0.6, the following sound chips have sample support:
- PC Engine/TurboGrafx-16/HuC6280 - PC Engine/TurboGrafx-16/HuC6280
- Amiga/Paula - Amiga/Paula
- SegaPCM - SegaPCM
- NEC PC-9801/YM2608 (ADPCM channel only)
- Neo Geo/Neo Geo CD/YM2610 (ADPCM channels only) - Neo Geo/Neo Geo CD/YM2610 (ADPCM channels only)
- Seta/Allumer X1-010 - Seta/Allumer X1-010
- Atari Lynx - Atari Lynx
@ -21,12 +22,16 @@ as of Furnace 0.6, the following sound chips have sample support:
- QSound - QSound
- ZX Spectrum 48k (1-bit) - ZX Spectrum 48k (1-bit)
- RF5C68 - RF5C68
- WonderSwan - SNES/S-DSP
- WonderSwan (second channel only)
- tildearrow Sound Unit - tildearrow Sound Unit
- VERA (last channel only) - VERA (last channel only)
- Y8950 (last channel only) - Y8950 (last channel only)
- Konami K007232 - Konami K007232
- a few more that I've forgotten to mention - Irem GA20
- Ensoniq OTTO/ES5506
- Yamaha PCMD8/YMZ280B
- MMC5 (last channel only)
## compatible sample mode ## compatible sample mode
@ -45,9 +50,9 @@ due to limitations in some of those sound chips, some restrictions exist:
- NES: if on DPCM mode, only a limited selection of frequencies is available, and loop position isn't supported (only entire sample). - NES: if on DPCM mode, only a limited selection of frequencies is available, and loop position isn't supported (only entire sample).
- SegaPCM: your sample can't be longer than 65535, and the maximum frequency is 31.25KHz. - SegaPCM: your sample can't be longer than 65535, and the maximum frequency is 31.25KHz.
- QSound: your sample can't be longer than 65535, and the loop length shall not be greater than 32767. - QSound: your sample can't be longer than 65535, and the loop length shall not be greater than 32767.
- Neo Geo (ADPCM-A): no looping supported. your samples will play at ~18.5KHz. - Neo Geo (ADPCM-A): no looping supported. your samples will play at 18.518KHz.
- Neo Geo (ADPCM-B): no loop position supported (only entire sample), and the maximum frequency is ~55KHz. - Neo Geo (ADPCM-B): no loop position supported (only entire sample), and the maximum frequency is 55.555KHz.
- YM2608: the maximum frequency is ~55KHz. - YM2608: the maximum frequency is 55.555KHz.
- MSM6258/MSM6295: no arbitrary frequency. - MSM6258/MSM6295: no arbitrary frequency.
- ZX Spectrum Beeper: your sample can't be longer than 2048, and it always plays at ~55KHz. - ZX Spectrum Beeper: your sample can't be longer than 2048, and it always plays at ~55KHz.
- Seta/Allumer X1-010: frequency resolution is terrible in the lower end. your sample can't be longer than 131072. - Seta/Allumer X1-010: frequency resolution is terrible in the lower end. your sample can't be longer than 131072.

View file

@ -3,7 +3,7 @@
a series of FM sound chips which were very popular in DOS land. it was so popular that even Yamaha made a logo for it! a series of FM sound chips which were very popular in DOS land. it was so popular that even Yamaha made a logo for it!
essentially a downgraded version of Yamaha's other FM chips, with only 2 operators per channel. essentially a downgraded version of Yamaha's other FM chips, with only 2 operators per channel.
however, it also had a drums mode, and later chips in the series added more waveforms (than just the typical sine) and even a 4-operator mode. however, it also had a [drums mode](opll.md), and later chips in the series added more waveforms (than just the typical sine) and even a 4-operator mode.
the original OPL (Yamaha YM3526) was present as an expansion for the Commodore 64 and MSX computers (erm, a variant of it). it only had 9 two-operator channels and drums mode. the original OPL (Yamaha YM3526) was present as an expansion for the Commodore 64 and MSX computers (erm, a variant of it). it only had 9 two-operator channels and drums mode.
@ -77,4 +77,4 @@ afterwards everyone moved to Windows and software mixed PCM streaming...
- only in 4-op mode (OPL3). - only in 4-op mode (OPL3).
- `5Bxy`: set KSR of operator. - `5Bxy`: set KSR of operator.
- `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators". - `x` is the operator (1-4; last 2 operators only in 4-op mode). a value of 0 means "all operators".
- `y` determines whether KSR is on. - `y` determines whether KSR is on.

View file

@ -12,7 +12,11 @@ OPLL also spawned a few derivative chips, the best known of these is:
the YM2413 is equipped with the following features: the YM2413 is equipped with the following features:
- 9 channels of 2 operator FM synthesis - 9 channels of 2 operator FM synthesis
- A drum/percussion mode, replacing the last 3 voices with 5 rhythm channels - A drum/percussion mode, replacing the last 3 voices with 5 rhythm channels, with drum mode tones hard-defined in the chip itself, like FM instruments. Only pitch might be altered.
- Drum mode works like following: FM channel 7 is for Kick Drum, which is a normal FM channel but routed through mxier twice for 2x volume, like all drum sounds. FM channel 8 splits to Snare Drum and Hi-Hat. Snare Drum is the carrier and it works with a special 1 bit noise generator combined with a square wave, all possible by overriding phase-generator with some different synthesis method. Hi-Hat is the modulator and it works with the noise generator and also the special synthesis. CH9 splits to Top-Cymbal and Tom-Tom, Top-Cymbal is the carrier and only has the special synthesis, while Tom-Tom is basically a 1op wave.
- Special syntheis mentioned already is: 5 square waves are gathered from 4x, 64x and 128x the pitch of channel 8 and 16x and 64x the pitch of channel 9 and they go through a process where 2 HH bits OR'd together, then 1 HH and 1 TC bit OR'd, then the two TC bits OR'd together, and those 3 results get XOR'd.
- 1 user-definable patch (this patch can be changed throughout the course of the song) - 1 user-definable patch (this patch can be changed throughout the course of the song)
- 15 pre-defined patches which can all be used at the same time - 15 pre-defined patches which can all be used at the same time
- Support for ADSR on both the modulator and the carrier - Support for ADSR on both the modulator and the carrier
@ -60,4 +64,4 @@ the YM2413 is equipped with the following features:
- `58xx`: set DR of operator 2. - `58xx`: set DR of operator 2.
- `5Bxy`: set KSR of operator. - `5Bxy`: set KSR of operator.
- `x` is the operator (1-2). a value of 0 means "all operators". - `x` is the operator (1-2). a value of 0 means "all operators".
- `y` determines whether KSR is on. - `y` determines whether KSR is on.

View file

@ -1,6 +1,6 @@
# Yamaha YM2612 # Yamaha YM2612
one of two chips that powered the Sega Genesis. It is a six-channel, four-operator FM synthesizer. Channel #6 can be turned into 8-bit PCM player. one of two chips that powered the Sega Genesis. It is a six-channel, four-operator FM synthesizer. Channel #6 can be turned into 8-bit PCM player, that via software mixing, thanks to Z80 sound CPU, can play more than one channel of straight-shot samples at once. As of Furnace 0.6pre5, Furnace offers DualPCM, which allows 2 channels of software-mixed 8-bit PCM samples at 13750 Hz.
# effects # effects