I have never heard the floppy sounds, even when the configuration implies that they should be there.
For instance, the default configuration of ibm5150 includes isa3:fdc_xt:fdc:0:525dd which has both floppysound and flopsndout connected. I have the floppy sample files in my samples/floppy directory, and I do see volume controls for the emulated sounds in the sliders, but I never hear a sound during disk access.
This is on MAME 0.182 on Windows 7 x64, but ever since they were implemented I've tried getting floppy sounds working with several versions and on many different systems, so far always without success. I wonder if anyone has actually gotten them to work yet?
@Arbee: I'm not sure what you mean by "TI-99's drives". There are no genuine TI drives; you may say that the sounds are only correct for the 3.5" floppy drive Sony MPF420-1 or the 5.25" floppy drive Chinon FZ502. These are the drives that I took the samples from. Other drives sound different, of course.
About the low volume, in contrast, I have to set the volume slider to 50% so that they are not too loud.
As I said some time ago, when I find some more time, I'll design a Arduino-based floppy drive exerciser that allows us to get samples from different drives. Maybe we should think about a way to select some sample set to adapt to the drive that shall be emulated.
Agreed, the case is certainly relevant for the actual sound impression. In that way I have to correct myself saying that the sound of the floppy for the TI is not "perfect" but "satisfactory": I can well hear the drive spinning, I hear the head moving for single or multiple steps, and I hear the drive stopping. It does not sound *identical* to the drive in my Peripheral Expansion Box (PEB) because, as you said, the case is important, but the PEB sound is also missing (people indeed started to ask me, most likely not jokingly, whether we will have the PEB turbine-like fan sound be emulated as well some day).
Know how I recorded the samples? I removed the drive from the PEB and put it in a cardboard box, pulling out the flat cable and power cord as far as possible, and laid a microphone under it so that I could somehow dampen the loud fan of the box.
The samples are, to my impression, well enough for a vanilla floppy drive, although they do not really match particular drives. In particular, for a Commodore 1541 I would really suggest to create special samples because the plastic case has a very specific resonance. Until then, the samples still have some benefit for people who would like to know whether their drive is still working.
Creating sound from physical configuration sounds challenging at best, but likely unfeasible - music keyboard manufacturers are using sampled sound for a long time already instead of the earlier methods of trying to create a flute tone by using a simple sine wave, so I believe this makes sense. We do need some way to handle different samples, though. Maybe we have to define floppy devices that register their specific sample set, or the user may pass some command line argument. Or we tell the people to get their sample set from our website and put it in the sample directory.
I know you are less enthusiastic about the drive sounds than I am. Physical sounds are oddly controversial in people's opinion.
We have a mission to create an emulation as precise as possible, but that does not necessarily mean that we should not do anything until we find the perfect way. Remember how long it took until we had HLSL to emulate the real screen output?
Ideally each mechanical part is recorded separately and then it is mixed together with filters adjusted for the drive specific casing etc.
- A floppy has numerous mechanical parts that makes sounds, some that are electronically triggered and some others that are manual like the drive hatch. - A hard drive has only electronically triggered sounds - A keyboard has different sounds for different kind of keys. - A monitor has buzzing depending on the resolution setting, when going in between and when powering on/off - Some PCBs has beepers which are already emulated and not sampled, may need casing filters. - A Printer has *many* moving parts that makes sounds, including tearing off the paper. - fax machines, modems, speakers has casings
How would a proper mechaudio emulation system look like? I have given this some thoughts.
I did this to a very minor extent by recording the drive sound without steps, then a sound with steps, and then subtracting the drive sound from the combined sound. Accordingly, the floppy sound at this time is actually the sum of the spindle motor and the step motor.
I can imagine that someone with a good background in acoustics could create an output filter that turns a naked drive into a drive that is mounted in a case.
music keyboard manufacturers are using sampled sound for a long time already instead of the earlier methods of trying to create a flute tone by using a simple sine wave, so I believe this makes sense.
Subtractive synthesis never made it to creating realistic sounds, but physical modeling synths became a real thing around 2000 and sound quite good. Roland's made their zero-samples-just-modeled V-Piano for a decade now.
How to create realistic physical models for computer parts is beyond me, is that even possible given that we need contributors, not necessarily audio professionals, to do that? I guess what you say is that sampling is the wrong way to go here?
EDIT: The mechaudio emulator could be a mix of course: sound = sum_of_devices( casing_filter( sum_of_parts( samples and/or models ) ) )
1. Download latest MAME (I used 0.189 64 bit for Windows) from http://mamedev.org/release.php 2. Unpack the archive to your location of choice 3. Open commandline, CD to aforementioned location, issue "mame64 -cc". This creates a MAME.ini 4. open mame.ini with an editor, edit rompath to point at your ROM directory. 5. issue "mame64 kayproii" to open the Kaypro II driver ... listen to the drive sounds
NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
I thought the sounds were in the mame/samples/floppy directory. (20 files, 357kb)
BTW, I tried ./mame64 kayproii and found some IMD files on the net and I didn't hear any drive sounds. I hear keyboard beeps, but no drive sounds.
Do all drivers support it or just a few? I don't hear any sounds with apple2e. I really miss that "rat a tat" sound when it boots up. I do see that in the audio sliders there's a sl6:diskiing:0:525:flopsndout.
I kind of like the way the atari800 makes beeping sounds when it loads from disk so you know it's doing something. Or the cassette sounds in spectrum for instance. (the screeching can get to you though).
The samples are definitely there in the official download (that's why I did a step by step from there rather than working from my regular MAME installation), and there's a rather gentle spinning and stepping sound you might miss over the Kaypro's keyboard beep. You can adjust the volume from the slider value.
You can add floppy sound to the drivers by adding
after each of the MCFG lines for the floppy drives. I just checked, it works for WD based and 765 family (in the case of the NCR DMV it's a i8272).
NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
You're right. I do hear the kaypro sounds now if I turn them all the way up to 2.0 volume but they're still very faint compared to the keyboard click (which I had to turn almost all the way down to 0.04 to equalize them).
I added the MCFG_FLOPPY_DRIVE_SOUND(true) to src/bus/a2bus/a2diskiing.cpp and now I'm hearing drive sounds (at least the motor running anyway) if I turn the slider volume all the way to 2.0 (Can I turn it up to 11?)
There's something cool about hearing a motor sound.
I still intend (if I find enough time) to design an Arduino-based device that creates the various floppy sounds for any attached device. Eventually we should have something like a sound library for different floppy devices which can be chosen by the user. Or alternatively, a comprehensive set of floppy drive types from which to select, with the proper sound lib.