mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-23 13:05:11 +00:00
KDCHTA;!5'
This commit is contained in:
commit
d0d3094c62
5 changed files with 25 additions and 12 deletions
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue