revert guides

This commit is contained in:
tildearrow 2023-09-10 17:11:18 -05:00
parent fdfbff3999
commit fc90fc7e75
2 changed files with 20 additions and 20 deletions

View file

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

View file

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