'Look at this program!' says a PC owning friend, 'It let's you play MIDI files using samples instead of using the instruments on the sound card.' 'That's really good,' I say sarcastically, thinking how such programs are expecially useful if you don't have a sound card or MIDI equipment.
Of course - the Amiga has the excellent GMPlay, by Alessandro de Luca and Christian Buchner. For those who aren't aware of this program, it lets you play MIDI files without MIDI equipment or sound cards, and instead uses 'CPU mixing' and samples to provide it through the Amiga's hardware - on an '030 machine, it provides very reasonable output.
On the Amiga, sound cards have always been restricted to those with Zorro slots, and even then have been costly. We do have the Aura for the A600/A1200 which gives 16bit sampling, but it only has a single output channel. For years, if you didn't own MIDI equipment, you were stuck with 8bit 4 channel audio.
Now things have changed. To begin with, we had 8 channel audio offered by OctaMED, among others, which worked on a 68000 machine well enough, but had limitations. Now SoundStudio gives us 'CPU mixing', where the CPU does the job of the audio hardware, and only sends out the final output to the sound chips. 64 channels stereo is perfectly possible (given enough CPU power), and even 14bit sound is possible on standard '8bit' Amigas, thanks to a little trick. SoundStudio isn't the only program to do this; AHI does this, thus giving CPU mixing to any program which supports AHI. And, of course, GMPlay uses these techniques to give us MIDI files.
But it got me thinking - supposing I wanted to compose some MIDI music, but I didn't have any MIDI equipment? Imagine a sort of cross between AHI and GMPlay; I load up my MIDI sequencer, and then instead of sending information to MIDI hardware, it is 'retargetted' to a program which then plays it using CPU mixing through the standard Amiga audio outputs, just like GMPlay does to a MIDI file.
I would imagine that a MIDI sequencer would have to be rewritten to take advantage of this, unless it could somehow be patched. Even with SoundStudio, this would be great. Although you can of course have plenty of channels and CPU mixing anyway, it treats this as a 'module' file, and not a MIDI file. If you are working with MIDI in SoundStudio, it requires real MIDI hardware; there is no way to play such a MIDI file with CPU mixing and samples. Playing MIDI files with GMPlay is one thing, but it would be so much better to be able to load it into a sequencer/SoundStudio, play around with it, still be able to play it back from the program, and then finally save it out as a MIDI file.
Well, it's just a thought.
Mark