Many years ago, I developed a floppy disk MIDI file player device.
I think the device is called a "MIDI filer". Mike Ames supplied me
with the manual to the Yamaha MDF3 MIDI Data Filer and wanted something
that was functionally equivalent. I sold a bunch of these units five
to seven years ago, and then the use of floppy disks pretty much
disappeared.
I re-designed the system about two years ago to use Compact Flash
cards. One client wanted the MIDI filer to drive a perforator and
respond to the MIDI sync input [from the crankshaft], the same as the
MDF3. More recently, on a different project, I started working with
the SD/MMC memory cards. A similar system came out of Germany a few
years back. I downloaded this code, but found the features somewhat
simplistic compared to the code I wrote.
I still have a dozen or so floppy disk MIDI filer circuit boards and
cases in a box in one of my storage areas. I never got around to
purchasing the disk drives for these units. Perhaps that was a good
thing -- the floppy diskette drive assemblies were the largest cost.
I am going to retrofit these units to play from SD/MMC cards. I have
made the changes to the code, and this works quite nicely. It is a bit
odd to insert an 8-gigabyte memory card into a system that was intended
to play from diskettes that had about 760-kilobytes of storage on them.
The floppy filer also uses an 8K chip. This limits what features I have
room to code onto these old boards. Because my previous work involved
solenoid pianos, I chose to implement the Yamaha ESEQ format, Standard
MIDI SMF0, and PianoDisc playback. I did not implement record. Using
a large external memory chip I was also able to play the multi-track
SMF1 files. There was on the floppy unit a limitation of playing files
smaller than about 100K.
The latest code, tested with Smart Media and Compact Flash memory
cards, removes the 100K restriction so files of any size can be
sequenced, with up to I think around 800 tracks or so when using the
SMF1 format.
With the 8K chip I can either implement playback of the Yamaha ESEQ
and PianoDisc files, *or* I can implement a limited form of record.
Recording might be limited to 10 minutes or so of time per file.
Files would be saved in a directory named recordings and named with
the sequence MIDI000.mid with the limit of perhaps a thousand file
recordings.
I think a popular use for such device is to record stop settings on
large instruments, so that these can be dumped in and out of the
console. There is not enough code space to allow the user to rename
or delete files on the disk.
Which feature is more likely to be used: recording or the Yamaha and
PD file playback?
I have also chosen to implement nested directories. With an 8GB
card there is a lot of button presses to get to a file. By nesting the
directories playlists can be implemented, although the songs are played
in the order stored. Only the songs in the selected directory are
played.
What should the behavior be when the user presses play? Should the
songs play one after the other? I think this is called repeat all?
I can make this like the MDF3 where the user sets an option to change
between single play and play all the files. What should the default
for this option be?
Julie Porter
[ The Yamaha MDF3 is no longer in production but a good description
[ (with a funny review) is at http://www.zzounds.com/item--YAMMDF3
[ --Robbie
|