Emulates the General Instrument AY-3-8910 (a.k.a. the Yamaha YM2149) 3-voice sound chip, as found in the ZX Spectrum 128, the Atari ST, and various other home computers during the 1980s.
The emulation is provided by the libayemu library: http://sourceforge.net/projects/libayemu - I have merely wrapped it up as a SC UGen.
tonea |
integer "tone" value for the first of the three voices, from 0 to 4095 (i.e. 12-bit range). Higher value = lower pitch. For convenience, the *freqtotone method converts a frequency value to something appropriate for the tone input. |
toneb |
integer "tone" value for the second of the three voices. See description of tonea. |
tonec |
integer "tone" value for the third of the three voices. See description of tonea. |
noise |
the period of the pseudo-random noise generator, 0 to 31 |
control |
controls how the noise is mixed into the tone(s), 0 to 32 (0 is mute). This is a binary mask value which masks the noise/tone mixture in each channel, so it's not linear. |
vola |
volume of the first of the three voices, 0 to 15 (or 0 to 31 if using YM chiptype) |
volb |
volume of the second of the three voices, 0 to 15 (or 0 to 31 if using YM chiptype) |
volc |
volume of the third of the three voices, 0 to 15 (or 0 to 31 if using YM chiptype) |
envfreq |
envelope frequency, 0 to 4095 |
envstyle |
type of envelope used, 0 to 15 |
chiptype |
0 for AY (default), 1 for YM. The models behave slightly differently. This input cannot be modulated - its value is only handled at the moment the UGen starts. |
mul |
general multiply controls for the resulting signal |
add |
general add controls for the resulting signal |
converts a frequency value to something appropriate for the tonea, toneb and tonec inputs.