::|CONTENTS
- Instruments, Tone and Noise
- Hardware Envelopes
- Noise
- Ornaments
- Gettin' Drummy
- Advanced Tech
- See Also
You might have heard of the AY 3-8910 chip, AY 3-8912 or maybe of their Yamaha clone l the YM2149, and of that the former practically resides in the NEC PC98's chip, the YM2608 ... Well, bad news - even though you see the name of a respected music tech manufacturer here, you're not gonna use FM synths or anything close to it in this format! D:
Just three channels. But you really might make it look like you're using not three, but all five.
Instruments, Tone and Noise
First off, download
Vortex Tracker II or, to be more specific, its' enhanced version called
Vortex Tracker II Improved which is gonna make your life easier here just a bit. How? Well, we'll explain that... Later on. ^,^
VTII affords three types of sounds to ya, all of which can be combined with each other: tone, envelope and noise. The former can have different notes on all three channels, but the two latter can't.
Now, VTII's interface might be a bit tangled for you, but it might be somewhat cleaner once you squeeze off your first note. You will need to refer to the "Samples" tab in that case - that is instrument editor for you. Change the first instrument from this:
00 [ tne +000_ +00(00)_ 0_
...to this:
00 [ Tne +000_ +00(00) F_ ***************
Don't forget to use spacebar to make the "T" in here capital or vice versa!
So we've defined that we're gonna use tone and bring it on maximum volume. As you're done with this, return to the pattern editor, and place try to place a couple or two of notes this way:
00 | C-3 1..F ....
01 | --- .... ....
02 | C#3 1... ....
03 | --- .... ....
04 | D-3 1..D ....
05 | --- .... ....
06 | R-- .... ....
There you go! The "F" and "D" placed in this pattern will change the channel's volume, while "1" stands for the instrument that will be played on it. "R--" is, obviously enough, the rest note. By default pressing the A key will put a rest.
Now, you've really gotta get back to our instrument editor - just to make a small modification of your new sample. By playing around with Length and Loop values as well as, again, the spacebar, try to make the following instrument:
00 | TNe +000_ +00(00) F_ ***************
01 | TNe +000_ +00(00) E_ **************
02 [ Tne +000_ +00(00) E- ************** < place loop here
Notice that after the volumes F or E there's either an underscore or a hyphen; they're different! Replay the pattern and see how the sounding has changed! For the curious, we've got a blend of tone and noise in the sample's first two frames - which means they will play simultaneously. In the last frame (the one that loops), the volume will automatically decrease. The opposite of this thing is, obviously, "+".
Now, you might wonder what all those zeros in the above example mean. Generally speaking, the first three are for the tone pitch setting (pretty useful for vibrato), the rest are for noise duty.
Still didn't get it? We-e-e-ell... Create the instrument number two!
00 [ Tne +002_ +00(00) F_ *************** < place loop here
01 [ Tne -002_ +00(00) F_ **************
02 [ Tne +002_ +00(00) F_ **************
03 [ Tne -002_ +00(00) F_ **************
Now that's quite a wavey vibrato you've got there!
More coming soon. ._.
Hardware Envelopes
In addition to defining an envelope like the volume sequence "F E D C B A 9 8 7 6 5 4 3 2 1 0" in software like VTII or your ZX Spectrum program, the AY also has a built in feature to do this for you. It takes the channel and ramps the volume down from F to 0. What you're supposed to do, ideally, is make a sample with envelope enabled like this
00|TnE +000_ +00(00)_ F_ ***************
and then assign a speed in the envelope period column. It's the first set of blanks.
00|HERE|..|--- .... ....|--- .... ....|--- .... ....
The smaller the value, the faster the envelope will ramp down. The actual speed of this process is done using the formula Frequency = Clock / (16 * Period). It won't matter what volume you pick in the sample because using the envelope feature overrides any volume assigned and just plays F to 0 every time.
Let's do a nice long fade out with a speed of 4096, which is 1000 in hexadecimal
00|1000|..|A-5 .1.. ....|--- .... ....|--- .... ....
When we play that, it does a nice smooth ding. You'll notice we put a value of 1 in one of those blanks. Here we choose the shape of the envelope. This is where things get interesting.
This chip has 16 different kinds of envelope shapes, but some are duplicates so it's more like 8. The simplest are the first four which start at F and go to 0 and then stays off at 0. You can also choose shape D to start at 0, go to F and stay on. Here's the full chart:
0-3 \_______
4-7 /_______
8 \\\\\\\\
9 \_______
A \/\/\/\/
B \¯¯¯¯¯¯¯
C ////////
D /¯¯¯¯¯¯¯
E /\/\/\/\
F /_______
More modern AY tunes make heavy use of shapes 8, A, C and E because they repeat and the period can be made small enough and fast enough to reach the audible note range. Or in other words OSCILLATE. We now magically have another melodic channel!
You can use the shaping alone to make a single note with a sample tnE. VTII has an easy way to input the period column automatically. Just to the right above the pattern editor, you'll see "AutoEnv" and 1:1. Press the AutoEnv and when you input notes, it'll automatically try to match the frequency (sometimes it'll be out of tune). You MUST have somewhere on or above the current line an envelope shape of 8 A C or E or this feature won't work. You also need it defined on the current line to play or else it'll use the same period as the last time you defined it. A simple saw bass note using tnE would be a good start (btw, you don't need to specify sample#1 because VTII always assumes a blank spot means that)
00|..7C|..|A-1 .8.. ....|--- .... ....|--- .... ....
When you use TnE you WILL have both frequencies playing at once, and since the tone will follow the ramp of the env, you'll basically achieve ring modulation. Try the previous example with a TnE sample to hear this effect. If you are not familiar with ring modulation then now's the chance to learn! You can play around with that 1:1 below AutoEnv and change the ratios. You might also want to try placing a note with AutoEnv, then turning it off and changing the octave of the tone. Or even the note to something different entirely!
Noise
Like all good chips, the AY has its own unique noise generator. As you guessed using tNe will have a channel doing noise only. But AY programming/composing is tricky because it has no independent volume. You only have 3 channels to use 5 oscillators and if you're using TNe, then whatever volume your tone is playing at in that channel your noise will be just as loud.
This noise generator has 31 different frequencies, 1 to 1F with 1F being the lowest note. Although inputting a 0 in VTII will leave it blank, it still counts as a 1. It's the second editable column
00|....|1F|--- .... ....|--- .... ....|--- .... ....
In the sample editor you also get a few lines to change the noise period very quickly within the sample.
00|tNe +000_ +01(00)^ F_ ***************
Will make a Defender sounding sweep down through all the frequencies.
Ornaments
Coming soon!
Gettin' Drummy
Coming soon!
Advanced Tech
The hardware envelope is the biggest distinguishable feature of the AY. In addition to the saw/tri bass & ring modulation, I think it's worth reminding you that you can also choose to shape the noise with a tNE sample. And since it controls the volume output of each channel individually, you can still get some sort of volume control despite always being 0 to F by duplicating the envelope in multiple channels for louder volumes and fewer for quieter envelope.
The AY and its sister chip (or knock-off) by Yamaha were used in quite a lot of computers. If you go to File>Options and then click the Chip Emulation tab, you can see the four common ones. The YM2149F has an optional clock divider, meaning everything goes down an octave, noise frequencies too! I'm not entirely sure how to get VTII to do this though. You can also use custom values in that tab like YM2149F @ 1789773hz clock with interrupt frequency 60000mhz and compose for the famicom's Sunfsoft5B expansion
See Also
Vortex Tracker II tutorial by ant1, which is roughly the same thing, but without download links.
Vortex Tracker II
Vortex Tracker II Effects List
AY 3-8910 Datasheet