Not to go too off topic but, being a 'musician' this has always fascinated me seeing this stuff listed in MAME.. But what exactly will this be able to do once emulation is 'finished'?? Things like the Fairlight, the ASR-10/EPS, Alesis drum machines, etc.. Once these are more complete, will MAME one day be able to fire up and take a MIDI channel over USB so I can pretend I have an ASR-10 right next to my EMU's and MPC??? How would MAME running an emulation of the Fairlight compare to say using Arturia's Fairlight AudioUnit in Logic?? Im thinking maybe setup a second workstation for MAME as a MIDI instrument along with the rest of my gear, or would this all stay contained within MAME's little world??
(maybe someone can dump Waldorf's Microwave XT 2.33 OS and fix the bugs Waldorf no longer can since their dev environment for it is long gone)
From 2013, me playing the emulated Ensoniq SD-1 from my real-hardware ESQ-1:
Emulated apple2gs playing MIDI input from a sequencer on my PC:
Going the other way, here's MAME's X68000 driver sending General MIDI music over Bluetooth to Roland's Sound Canvas emulator on my iPad (video is the iPad's screen):
There is currently significant latency doing MIDI input on MAME; it's sufficient to make my playing even shakier than it normally is on that first video (because I was listening to the MAME output and I should've just listened to the ESQ-1). We have ideas on how to resolve that.
As a former Fairlight user and owner, I can tell you that Arturia's Fairlight AudioUnit/VST sounds way to good to be the real deal, in fact its pretty much the same for most so called CMI plug-ins, they're just not dirty enough.
When I load a sample into memory and I play it via Page R, the sound loops incorrectly and plays forever.
May it be that the real machine does this too, but only ramps down the volume VCA to zero to stop the sound? I am no Fairlight expert at all, but I collect and analyze home keyboard hardware from 1980th to 2000 and found such behaviour in many early semi-analogue instruments. In these this was done to prevent too soon stopping sounds with annoying end click by low bit resolution or to simplify code to speed up tight bitbanging loops for software generated audio (squeezing waveforms through microcontroller ports etc.) Although Fairlight was an expensive machine, avoiding audible end clicks (pop noise) would make it plausible to produce note-off only through analogue means (VCA, VCF) instead of stopping the waveform.
That's pretty much exactly how it works. Given the available schematics of the CMI-01A channel card, we don't currently emulate the envelope DAC, volume DAC, filter DAC, or filters themselves. Also, the tuning itself is quite a bit off.
The last time I looked at the driver I spent a good while puzzling over how to get proper tuning, and ended up deciding to take a break.
Arguably the best order of approach would be: - True up the tuning first, so that you can at least play a chromatic scale from end to end on the keyboard. - Implement the envelope DAC. - Implement the volume DAC. - Implement the filter DAC + filters. - Implement the MIDI card.