- Instruments and Tone
- Hardware Envelopes
- Gettin' Drummy
- Advanced Tutors
- 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 (or if you're studdy enough, six (literal six, if you get along with the TurboSound board)).
Instruments and Tone
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. Either way, the tutorial covers both, with slight side-trips to the Improved version.
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_
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!
The blank space to the right of +002 and -002 means that we're shiftin' pitch from the note we've typed. If you "capitalize" it, it will turn into a ^
symbol, and the pitch shifts will then "pile up", i. e. based on the note which resulted after
the said shift.
In other words, take a look at this slide sample:
00 [ Tne -001^ +00(00)_ F_ ***************
So it will do a portamento all the way down to the beginning of the note range (and loop from its' very end - so you might want to cut this note before that occurs). Same works for noise, but that's for a later time.
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_ ***************
Or, in case if you don't really like bare 'n pure envelope, 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:
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 (by the way, you don't actually need to specify sample 1 because VTII always assumes a blank spot means that, at least on the start of the track):
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 you've got a chance to learn it all! 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!
Oh, and in case if you don't really want to get along with the AutoEnv feature (or if you opt to use pure envelope), that's where Vortex Tracker II Improved kicks in - the envelope amounts are typed in and shown (optionally) as actual notes, which makes the whole process a whole easier! Keep in mind, though, that custom envelope digits cannot be added up here - you might need to fiddle around with transposition (which now works for envelopes, too!).
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. On the pattern table, it's the second editable column, i. e. directly to the right to envelope digits.
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_ ***************
The above will make a Defender sounding sweep down through all the frequencies.
Can you recall a really good song that doesn't use arps? Nope? Well then, time to get along with the local arpeggios, known as ornaments here! For your information, unlike in most trackers, ornaments are not deadly tied to the instruments, and that fact alone gives you more freedom of sound! ^_^
As you might have guessed, these are defined in the "Ornaments" tab - the rest is somewhat obvious to an experienced tracker user. For everyone else, here's a guide to how make some ve-e-e-e-e-ery simple arps. Note that these work for tones and ONLY for tones. And that all note shifts here are typed in decimals, not HEX.
For example, here's a "bloopy" ornament which can be used for a lead track:
00 | +06
01 | +00 < place loop here
And the same thing, but which goes from six notes below rather than six notes above.
00 | -06
01 | +00 < place loop here
Then there's, of course, chord emulation. Here's a really ass crazy one for major 7, feel yourself free to shorten it:
00 | +00 < place loop here
01 | +04
02 | +07
03 | +12
04 | +07
05 | +04
06 | +00
07 | -04
08 | -07
09 | -12
0A | -07
0B | -04
A really widespread ornament among the former USSR aym composers is the orchestral hit, which best goes with TNe samples (which, in turn, also have to fade to silence really quickly):
00 | +48 < place loop here
01 | +36
02 | +24
03 | +12
04 | +00
Speaking of orchestral stuff, here's a choir ornament that Tayle uses semi-frequently.
00 | +12 < place loop here
01 | +00
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 Sunsoft5B expansion.
While BotB-wise, it's more on the Wildchip territory than it is on the actual aym, TurboSound is a sound (duh) board that contains an additional AY chip and basically allows playing two modules at once - i. e. giving you an ass-whooping bunch of six channels at once! And we're not talking about two different Of course, with greater power comes greater responsibilty - both modules are played separately from one another, so make sure they're both synched and actually sound convincing enough for the multi-channel music's standarts. Or else... >_<
Activating the TurboSound mode is simple enough, however - you should have both modules opened. Click the "2nd soundchip is disabled" button in the pattern editor and select the song you want to plug in. After you're done, you've gotta be aware that the saved .pt3 module will contain both parts of the song - and you might need a special emulator to render it!
Vortex Tracker II tutorial
by ant1, which is roughly the same thing, but without download links.
Vortex Tracker II
AY 3-8910 Datasheet