How to get Windows XP's Midi to sound like an FM Synth with any soundcard:

Programs - GM SF2 - Part GM SF2 - SF2 Players - DLS - Softsynths - Stuff - MID Players - Links
Maaaan...The tech stuff here so outdated - like more than 5 years obsolete! There's lots of better resources now: #1 - Use BASSMIDI - It's awesome and makes almost all the tech stuff here obsolete! #2 - Use JuiceOPLVSTi - It makes the OPL soundfonts obsolete! #3 - Email me anapan8@hotmail.com - I don't even know what else, I've been emailed a lot of good tips over years and I was working a lot so I made a note of it... Then my cellphone flew out my brother's truck's window when he rolled it - It's in a deep swamp. Please let me know what else this page needs in it. My FTP is sending mostly only these old files all day every day, and I'm sure there's better stuff available. My windows 95 games still sound awesome! _________________________________________ My goal when researching this was to make it so any games or MIDI files I played in windows sound like I remember them sounding on my old 486's SoundBlaster Pro 2.0. What would be ideal would be an emulation engine in a driver package or VST that allowed OPL .BNK instrument maps to be loaded in like soundfonts - sorta like the MUNT project. Unfortunately that is slightly beyond my capabilities right now so here's some partial solutions and a whole bunch of other chiptune-sounding midi stuff I've found: My sound card doesn't have soundfont support, but I found a VST plugin called SFZ that allows any VST host program to pass MIDI data through to it. This is the fastest VST soundfont player I could find. http://www.project5.com/products/instruments/sfz_player/default.asp Another alternative which is also available as a VST plugin is Synthfont http://www.synthfont.com/ The next piece of software necessary is a VST host. Steinberg invented the VST plugin format for their Cubase program, but many other VST hosts are available now - for example FLStudio and Soundforge. For what I'm using these plugins for I found a program called SAVIHost created by Herman Seib that can be renamed to the name of a VST dll making it into a standalone program - a virtual midi device able to be started with a single double-click and without all the overhead that bigger sequencing programs have. http://www.hermannseib.com/english/savihost.htm Finally to tie all the pieces together there's a virtual device driver called Midiyoke that can take midi data from one program and pass it through to another. http://www.midiox.com/myoke.htm Here's another virtual midi cable made by Jeff Hurchalla http://www.hurchalla.com/Maple_driver.html So here's the procedure to get all of this stuff working together: First install Midiyoke, and in the windows control panel setup reduce it's virtual devices to 1. The others are useless unless you need to emulate more than one device. Next, VSTs can be made into standalone loaders by renaming savihost.exe to the same filename as the DLL. SFZ comes with a .exe file already, but I like SAVIHost better so I just back up the SFZ.exe and copy SAVIHost.exe overtop of it Once you have SFZ loaded into/as savihost, you can make it save the settings you change in it by choosing [File] -> [Autosave PlugIn Bank] Next choose [Devices] -> [MIDI] then [Input Port] -> [In From MIDI Yoke 1] Choose the quality you want (my computer seems to prefer draft because it sucks. Turn effects off if you're using a FM soundfont for more accurate/clean sound. Load a soundfont into it (OPL-3 FM 128M.sf2 for the SB16 sounding set). I get an error message about insufficient memory if I try to load a soundfont that is too large, but found that changing the mode to [PR32] can fix the problem. Finally, change to Channel 10, and select Bank 128 for it (the drum kit) and make sure it's at Program 0 (Standard drum kit) otherwise it will probably use a piano where the drums should sound. I find that some midis reset channel 10 to bank 1 when loaded, and some even change it several times through the song. I believe MidiOX from the guys who made MidiYoke could fix that, but haven't tried it yet. Tom's Midi Player (listed further down) can fix that problem by changing channel 10 to the standard drum kit after a file's loaded. For playing MIDIs I use Winamp (tho TMIDI - Tom's MIDI Player mentioned further down is much better) http://www.winamp.com/ Once you have Winamp running, press Ctrl-P scroll down to [Plugins] -> [Input] Double-click on Nullsoft Midi Player (In_Midi) Change it's output device to [midiOut Out To MIDI Yoke: 1] then press OK, then Close Finally, load a midi file If all went well, you should be hearing your midi song coming through SFZ using the Soundfont you loaded into it. If you want all your games and midi programs to output midi through the VSTs or stand alone midi programs, go to your Control Panel, choose [Sound and Audio Devices] then the [Audio] tab, and change your [MIDI music playback] Default Device to [Out To MIDI Yoke: 1] - if you do this you will need to have one of the VST programs running to play any MIDI music on your computer. Without one of the programs running, you'll just have silence. Here's a fix for Vista so you have a midi sound source picker http://www.vista-files.org/programs/joseph-cox/vista-midi-picker.html Winamp's midi player also supports playback using custom DLS instrument banks. To play Midis using an alternate DLS instrument bank in Winamp press Ctrl-P scroll down to [Plugins] -> [Input] Double-click on Nullsoft Midi Player (In_Midi) In the [Devices] tab, change it's output device to [DirectMusic / Microsoft Synthesizer (with output)] Switch to the [DirectMusic] tab turn off [Reverb] and [Chorus], change it's Mixing Frequency to 44100 Put a check in [Use custom DLS file], and click the [...] button to locate the new instrument set you want. then press OK, then Close While searching for how to do all that stuff I found a lot of other neat ways to listen to MIDIs. Stand alone Midi players that output songs with different lo-fi sound sets: htsfms - 8 or more(?) OP FM synthesis realtime midi playback (depending on the bank loaded) player.exe - drag a MIDI file into the window for immediate playback module.exe - with MIDI Yoke as your default windows midi device, any midi music will be played through htsfms http://hp.vector.co.jp/authors/VA024632/ Batch files to load module.exe using the different patch sets. ftp://fm:fm@atomu.ath.cx:6872/htsfms096_batch.zip extract these batch files into the htsfms directory to launch module.exe with the alternate fm banks for different sounding playback (rather than manually editing the .ini file every time) The earlier version has a better UI, but a less developed patch set. fmmidi - I think this is an x68k computer midi playback emulator. - the first tab has file loading and an option to choose MIDI Yoke as an input. http://sugarpot.sakura.ne.jp/yuno/?fmmidi gxscc - emulates a MSX computer soundcard from Konami (128k wavetable) - Drag a MIDI file onto it's window for playback. No option for midi passthrough with MIDI Yoke (check the Soundfont section for a fix to that). There's an easter egg if you double-click on the icon in the top-left (OPL sound set) http://www.geocities.co.jp/SiliconValley-SanJose/8700/P/GsorigE.htm IMFCreator - A program created to convert Midis into IMF Adlib format for inclusion into a Wolfenstein 3D windows port, it allows MIDI playback using an FM GM bank, and includes an FM instrument editor, with import of most old standard adlib bank formats (BNK, SBI, IBK, CMF, and others). Amazing! http://winwolf3d.dugtrio17.com/ I imported The Fat Man's OPL2 Timbres into it's instrument bank format. ftp://fm:fm@atomu.ath.cx:6872/FATV10.op2 Also some random GM IBK bank some dos games used (left original drums since the ibk didn't include any) ftp://fm:fm@atomu.ath.cx:6872/GENMIDI_imfmod.OP2 AXS (Another Experimental Synth) - Has a GM bank loaded by default and allows realtime tweaking of the synth sounds. Very original sounding. Supports Midiyoke as input and includes sampling and tracking capabilities. http://www.resolutionaudio.nl/ EMU de MIDI - plays MIDI files using lo-fi sounds like the MSX SCC and YM2413- http://www.pokipoki.org/dsa/index.php?EMU de MIDI It's command line based, so drag MIDI files onto it's icon in explorer to start playback or install it as a plugin in KBMediaPlayer. Bleeper Music Maker - Robbi-985 made a program that can play MIDI files through your PC Speaker - it doesn't get any more oldschool than this! Lots of neat tweaks available and it even supports realtime playback with MIDI Yoke. This is obviously the best thing that's ever been on the internet. ever. Sorry other guys but this is serously cool - try playing the stunts theme from the mirsoft adlib archive on it - it's impecable! http://robbi-985.homeip.net:8000/hosted_programs/update/bmm/index.html Runners up for best of the internet are Shiru's rendition of the Ducktales' Moon theme in TFM or DRAX's Adlib rendition of Crooner (actually the internet is only for porn - seek out the adlib song "Spiderpussy 81"). Complete GM Soundfonts: OPL-3 FM 128M.sf2 - Zandro Reveille of the of the ZSF project sampled the GM instruments from his SB16 ISA perfectly. I can barely tell the difference from the real hardware. This is the soundfont I was looking for when I started the research for this page. - 57Mb compressed http://rapidshare.com/files/216640144/OPL-3_FM_128M.sfpack mirror - ftp://fm:fm@atomu.ath.cx:6872/OPL-3 FM 128M.sfpack uncompress this with SFPack gxscc_gm_033.sf2 - The sounds from the stand alone midi player GXSCC converted to Soundfont by Zandro. He sent me the waveform map he made prior to the sf2. ftp://fm:fm@atomu.ath.cx:6872/gxscc_gm_033.sf2 nokia_30.sf2 - Bryan Bilocura created this GM bank from the Nokia cellphone midi developer VST. Further info on his thread here. ftp://fm:fm@atomu.ath.cx:6872/nokia_30.sf2 MT32 GS 2.51.sf2 - 016.5mg GS GM MT32 V2.51 Bank by LuckyMax ftp://fm:fm@atomu.ath.cx:6872/MT32%20GS%202.51.sf2 MT32 8MB 0.2a.sf2 - Roland MT32 Soundfont Beta 2.02a, January 21, 2006 by Zandro (not Reveille) - more info here. ftp://fm:fm@atomu.ath.cx:6872/MT32%208MB%200.2a.sf2 Gravis Ultrasound.sf2 - Generated by PAT2DLS using Gravis Ultrasound patches (author unknown) ftp://fm:fm@atomu.ath.cx:6872/Gravis%20Ultrasound.sf2 Gravis_Ultrasound_Classic_PachSet_v1.6.sf2 - GUS Classic Patch Set v1.6b converted by ArekR - www.rarek.ceron.pl ftp://fm:fm@atomu.ath.cx:6872/Gravis_Ultrasound_Classic_PachSet_v1.6.sf2 Yamaha XG Sound Set Re-Map.sf2 - Zandro Reveille converted the XG DLS to Soundfont with correct mapping and naming according to the XG specification. ftp://fm:fm@atomu.ath.cx:6872/Yamaha XG Sound Set Re-Map.sf2 XG_Sound_Set__from_SoundMAX_DLSbyXG_.sf2 - SoundMAX XG Soundset converted from DLS to Soundfont by MaliceX ftp://fm:fm@atomu.ath.cx:6872/XG_Sound_Set__from_SoundMAX_DLSbyXG_.sf2 setzer_spc.sf2 - Setzer- made a full GM soundfont using samples extracted from various Super Nintendo games. ftp://fm:fm@atomu.ath.cx:6872/setzer_spc.sf2 FAT_OPL2FM_v2.sf2 - The Fat Man's OPL2 GM timbres converted by Anapan (updated feb13'09-looping fixed) Zandro's OPL3 soundfont has more accurate samples of the same timbres, and a better drum kit - 26Mb ftp://fm:fm@atomu.ath.cx:6872/FAT_OPL2FM_v2.sf2 Incomplete GM Soundfonts: (Most of these make substitutions to play all instruments but don't list 128 instruments in SFZ) YM-FM_Font.sf2 - MaliceX's great FM synth soundfont created mostly from Yamaha chips. It's GM compatible but currently missing a few sounds. Best FM drums of any of the soundfonts I've heard. http://djtbmx.soulbreakers.com/junkpile/YM-FM_Font.zip CheapChip.sf2 - A work in progress release of a GM Chiptune soundfont by SOU1 made from instruments taken from cellphone music chips, GXSCC, and fmmidi. Sounds great so-far http://sou1wp.s1224.com/2008/03/26/403 nes.sf2 - Instruments and drums by Jason Zaffary ftp://fm:fm@atomu.ath.cx:6872/nes.sf2 nes_soundfont.sf2 - samples taken from street fighter 2010 by Tony Thai. ftp://fm:fm@atomu.ath.cx:6872/NES_Soundfont.sf2 NES_Font_Advance.sf2 - A bunch of NES sounds, and 3 drum kits made my my old friend Timothy Purcell. ftp://fm:fm@atomu.ath.cx:6872/Nes_Font_Advance.zip gbfont.sf2 - Another soundfont by MaliceX made to sound like it was generated by a Gameboy. http://djtbmx.soulbreakers.com/junkpile/GBFont.zip opl3.sf2 - Drum samples from an OPL3 emulator by Ian Wilson ftp://fm:fm@atomu.ath.cx:6872/Opl3.sf2 Drum - 4-Op FM.sf2 - Another drum kit by Ian Wilson. This one's 4-op instead of 2. ftp://fm:fm@atomu.ath.cx:6872/Drum%20-%204-Op%20FM.sf2 FM.sf2 & FM-Drum.sf2 - seems a bit buggy on SFZ, but maybe timidity or an audigy soundcard would have better luck. Good samples and gm/gs/xg compatible. http://f20.aaa.livedoor.jp/~eternalh/files/ Famicom.sf2 - all instruments are like Nintendo beeps, no drum bank (filter out ch10) http://www.k3.dion.ne.jp/~kitt/sf/lib.html SNES Game Soundfonts - Blitz Lunar / Dave Harris extracted all the instruments out of several Super Nintendo games and arranged them in roughly GM configurations. http://lunar.shakal.net/ Moccy made a Street Fighter II soundfont. http://www.moccy.co.uk/index.php?page=midi Softsynths that can playback midi using soundfonts: You can use XMPlay to play midi files using soundfonts. http://www.xmplay.com/ Midig by Carlos Rodriguez Butragueno is another excelent program that does midi file playback. It comes with a custom selection of samples but can be reconfigured to use any set. I've lost the installer for 2.03 and the 2.04a update. It's website has been down since late 2007. If anyone has a working html link for any of the different revisions (I read on one forum that there's a 2.05 version) please email it to me so I can put it here - it's available on Zandro's "SoundFonts The Collection" torrent. http://www.angelfire.com/musicals/smidi/download/midig.htm Here's an article on The Home Recordist about how to customize it's samples: http://thehomerecordist.blogspot.com/2007/09/folk-guitar-midi-soundfonts.html TiMidity++ Windows Synthesizer (TWSYNTH) - Load soundfonts into a windows driver without having a compatible soundcard for realtime midi rendering. http://sourceforge.jp/projects/twsynth/ Fludisynth - Crossplatform Soundfont loader/player for systems with no Soundfont support (extra links because I haven't compiled the latest version for windows yet): Old windows build and source for newer ones - http://mirror.csclub.uwaterloo.ca/nongnu/fluid/ link - http://fluidsynth.resonance.org/trac/wiki/BuildingFluidSynth link - http://qsynth.wiki.sourceforge.net/winbuild link - http://fluidsynth.resonance.org/trac DLS GM instrument sets: Final Fantasy 8 DLS - I really like this one; http://ffsf.aaron-kelley.net/download_8.html FAT_OPL2FM.DLS - The Fat Man's OPL2 GM timbres converted by Anapan - 26Mb ftp://fm:fm@atomu.ath.cx:6872/FAT_OPL2FM.DLS VST plugin DLLs: All these VSTs can be made into standalone loaders by copying savihost to the same filename as the DLL. The devices should be changed to midiyoke input. Most of them can't do more than one instrument at a time - those ones sound best if you change the plugin -> filters to disable these boxes: control change program change track 10 track 16 and all the system common stuff Looks like the trick with the mono tone instruments is to just run lots of the same VST at once, and filter all but one channel for each instrument (or just use FLStudio or Cubase the proper way...). VOPM - an X68000 OPM chip emulator. It's capable of generating some amazing effects if you play around with it... Filter out the drum input (channels 10 & 16) if you want to use Midiyoke to play a MIDI through it's GM bank. http://www.geocities.jp/sam_kb/VOPM/ Louis Gorenfeld made an unnoficial english manual for VOPM! - http://www.gorenfeld.net/lou/VOPM.pdf and a pack of patches - http://www.gorenfeld.net/lou/LouVOPMSounds-20081028.zip and a program to rip instruments from Sega Genesis GYM music into VOPM format - http://soundshock.se/phpBB2/viewtopic.php?t=242 Shiru made a program to rip instrument patches from VGM format into VOPM format - http://shiru.untergrund.net/software.htm More FM modules available here - http://park14.wakwak.com/~valsound//fm_lib.html - Actually originally from Shiru's TFM tracker... MaliceX ripped some MDX timbres from games and put them in his site's downloads section - http://djtbmx.soulbreakers.com/ Hexter - 6-op FM synth that can load the thousands of available Yamaha DX7 Patches (disable effects for authentic DX7 clone) - has a GM-like bank loaded by default. http://internap.dl.sourceforge.net/sourceforge/cutevst/CuteVST_Hexter_VSTi_1.3.0.0_binary_win32.zip http://umn.dl.sourceforge.net/sourceforge/cutevst/CuteVST_Hexter_VSTi_1.3.0.0_binary_win32.zip (copy & paste url if clicking doesn't work) se64 - some presets on this make midi sound like chiptunes. I especially like #3. http://www.olilarkin.co.uk/index.php?p=freeplugins ProroPSG - I had some good results with this as well http://www.g200kg.com/en/software/protopsg.html ymVST - This plugin emulates the sounds of Atari ST sound chips. It's monotonal tho so it would be necessary to run 16 at once to get proper midi playback. still it makes simple midis sound very old-tech. http://www.preromanbritain.com/ymvst/ FAMISYNTH II - Cool interface and lots of Nintendo/Famicom sounds built in. http://www.geocities.jp/mu_station/vstlabo/famisynth.html Syntendo - Another great Nintendo sound VST. This one has lots of features and comes with quite a few presets. http://amsterdam1.plunder.com/x/$LPqnh389ryMANbxUO1t3Ib96URXNqZ3q/46902/SYNTENDO.ZIP The Shepherd - Emulates the whistle from Kill Bill's Elle Driver when she's in that nurse uniform. Try playing any midi on it while keeping a straight face. http://www.simple-media.co.uk/music/vsti/vsti.htm Alice-1377 - Emulates the Alisa 1377 synthesizer. Awesome FM synth presets. http://vst.smtp.ru/ PooBoy I&II - They Emulate Gameboy sounds. Both are really good at remaking the full range of sounds a gameboy can produce. http://www.pontonius.se/ Chip32 - has presets for all the basic NES waveforms, and also lets you draw in any shapes you want. Controllers for ADSR and others. http://www.geocities.jp/sam_kb/Chip32/index.html Quantum 64 - Not a SID chip emulation, but similar sounding and has a great arpeggiator. http://www.chaitanya.fr/vstsamples/quantum64-v11.zip Basic 64 - More SID/NES sounding presets. http://www.delamancha.co.uk/freeware.htm Magical 8-bit - More NES-like sounds and others from YMCK. http://www.ymck.net/english/download/index.html NinTiny - Another NES-like VST http://hosting.thasauce.net/suzumebachi/?C=N;O=A Synth1 - FM VST. It has a GM bank loaded by default, but only allows one instrument to be played at a time through midi input. http://www.geocities.jp/daichi1969/softsynth/index.html Roland VSC - GM/GS/XG compatible wavetable softsynth can be obtained by downloading this update ftp://ftp.roland.co.jp/pub/roland/japan/winxp/vscvst101u.exe then extract data1.cab, then from it extract VSC.dll. Use Universal Extractor to do the two extractions - http://legroom.net/software/uniextract Jack Dark / Darkware VSTs - I haven't had a chance to try and of these but on my webcrawling I heard them mentioned several times along with some of the ones above. http://www.jackdark.net/darkwarefree.html - Archive.org fetch For more great VSTs like these, check out Chiptuning on Woolyss a great resource on all things chiptune. Some other VSTs to look up/try (not freeware) Beast - By reFX, no longer available, but it's always been one of my favorites... http://www.refx.net/downloads/Beast/Beast_Demo.zip - trial Slayer2 - Also by reFX - makes any midi into heavy metal. Best Grunge guitar modeling I've heard. http://refx.com/ Blue - By Rob Papen, some of the most unique-full-bodied instrument sounds you'll find. http://www.robpapen.com/blue.html quadraSID - Another by reFX - Emulates SID chips from Commodore 64 computers. http://refx.com/ Sytrus - A great VSTi with some great sounds. Comes with FL Studio. http://www.image-line.com/documents/sytrus.html z3ta+ - Another good one. lots of neat sounds. http://www.cakewalk.com/products/Z3TA/ VAs - Virtual Analogue Synth. http://www.software-technology.com/ Bonus icons for the VSTs and stand-alone players (so your shortcuts don't all have a big purple diamond icon when you make shortcuts to SAVIhost) ftp://fm:fm@atomu.ath.cx:6872/vsticons.zip Installable Soft Synths Yamaha S-YGM, S-YXG20, S-YXG50, S-YXG70, S-YXG/DM, S-YXG100, Sondius XG/S-YXG100 Plus, S-YXG2006LE - Seems to be discontinued, but had a nice sounding XG wavetable patch set. A newer (XG-Lite) version is also built into Yamaha's MidRadio Player - More info on that here. Only S-YXG50 WDM, the VST version of S-YXG50 and an Unofficial S-YXG2006LE VST work in XP outside MidRadio Player. Official Website (Archive.org fetch) - http://www.yamaha.co.uk/xg/html/midplug/m_mid8.htm S-YXG50 v4.21.03 WDM trial here - http://ftp.cse.yzu.edu.tw/pub/softking/soft/en/s/S-YXG50V4.zip S-YXG50 full version can be obtained cheaply by buying a copy of Final Fantasy VII PC on Ebay or Amazon. S-YXG70 upgrade can be optained from the Final Fantasy VIII PC S-YXG100 Plus v1.12.15 trial here - http://www.matrixsynth.com/blog/media/yamaha/s-yxg100%209x%20v1.12.15T%20YME.zip Some info on Sondius - http://www.sonicspot.com/sondiusxg/sondiusxg.html More information on the Yamaha Softsynths including which versions of them work on which OSes - http://erpman1.tripod.com/download.html Some very in-depth information on VSC and S-YXG50 tweaking from VOGONS member dvwjr - http://vogons.zetafleet.com/viewtopic.php?t=19352#139823 Roland Virtual Sound Canvas - GM/GS wavetable virtual device driver Website - http://www.roland.com/products/en/VSC-MP1/index.html Website - http://www.roland.com/products/en/VSC-88H3/index.html Website advert - http://www.pgmusic.com/rolandvs.htm In the latest version you can choose between SC-55, SC-88 and SC-88Pro compatible sound sets. This feature is not available in the VSTi version. Wingroove - GM wavetable virtual driver & stand alone midi player. I always liked the sounds built into it. Webpage - http://www.wg7.com/en/ Stand Alone Soft Synths (romplers) Yamaha's MidRadio Player - Japanese MIDI player based on Yamaha's XG-Lite sample set (it's actually passing the midi through to an embedded VST called S-YXG2006LE). http://download.music-eclub.com/midradio/download.php FPD98 & FPDLite - Software Sampling Synthesizer - Japanese MIDI player with a good sounding sample set - FPD98 is not free. http://rat.jp/fpd98/ Other stuff of note: I found a Mt-32 emulator/driver here: http://www.artworxinn.com/alex/downloads.htm It was superseded by MUNT which emulates MT-32 and CL-32L devices (reported to be working correctly on Vista). http://sourceforge.net/projects/munt/ You need ROM dumps to get the 1st one working, I haven't tried MUNT yet. Another way I found to play back MIDI files so they sound like they're played through an OPL2 chip is Adplug http://adplug.sourceforge.net/ http://www.informatik.uni-oldenburg.de/~dyna/adplug/ There is a bug in all the builds I tried that only allows it to play MIDI Format 0. This can be easily fixed with GNMIDFMT. Both emulation engines in Adplug sound a bit different, but they're pretty accurate. Worth a download, but still not capable of realtime music playback from games. Use GNMIDFMT to convert between the different formats of MIDI (it won't affect the output in most players, it's just for compatibility): http://www.gnmidi.com/gnmidfmten.htm To make it play MID files you need to disable the filetype MID in the Nullsoft Midi input settings, and enable MID in ADPlug's settings (probably a restart is necessary after each extension change). It's also incapable of playing Drums in Midi format 0 files, so it would be best to delete track 10 from the MIDI before converting it. It probably needs the .DAT file from the second link aswell. Try a Warcraft II song I converted. Play and save Nintendo and Super Nintendo music through midi - always fun. NSF2Midi SPC2Midi http://gigo.retrogames.com/download.html http://www.zophar.net/music.html Old or registered newer versions of the Nintendo emulator Pasofami have realtime midi output (the new versions have sound output disabled in the free trial version) Marat Fayzullin's NES and GB emulators also have realtime midi playback and recording capabilities if you buy them (not reccomended). PXTone by Pixel of Cave Story / Doukutsu Monogatari fame - a music sequencing program which was used to make the soundtrack of Cave Story. Website - http://hp.vector.co.jp/authors/VA022293/pxtone/index.html Tutorial - http://buzinkai.net/PXTone/tutorial/ Other interesting device independent midi playing programs: Tom's Midi Player TMIDI - good control over how it's played (can fix the channel 10 switching bug when using SFZ) http://www.grandgent.com/tom/projects/tmidi/ MidiJam - 3d visualization of the instruments playing http://www.gamesbyscott.com/midijam.htm The Music Animation Machine - check out the nico nico douga videos - !konami code! http://www.musanim.com/ Some extra links: Soundshock - discussion forum for FM Synthesis http://soundshock.se/phpBB2/ BeRo Mini Tracker - Win32 music tracker with OPL2/3 synthesis engine built in http://bero.0ok.de/blog/projects/berominitracker Chris Lomont's Vista compatible FM Tracker http://www.lomont.org/Software/index.php Adlib Tracker II -This is what most FM composers use to make OPL3 music. http://www.adlibtracker.net/ Check out some demos of a Soundfont project being actively worked on by Breadrack/Nocouch - Sounds Awesome!! http://www.youtube.com/user/breadrack Malvineous' Sound/Music File Utilities - DRO2MIDI & DRO2IMF: convert RAW and DRO OPL capture files (as created by Adplug and Dosbox respectively) into Midi or IMF! http://www.shikadi.net/utils/ Adlib Digisnap - digitally record highest quality audio capable of being recorded from an OPL2 chip by soldering a LPT recording device right onto an adlib/sb/sbpro1 sound card. http://www.student.oulu.fi/~oniemita/dsp/adlib/ Building an AdLib Digisnap - Janne Ropponen / Kuvaweopu documents his experience with pictures building said device linked above. http://www.jsynthlib.org/ Malfunction's FM Synthesis Heaven http://adlib.wave460.net/ Louis Gorenfeld's guide on getting started with FM http://www.gorenfeld.net/lou/FMGuide.html Qotile Slocum - this guy did some awesome Atari 2600 and C=64 hacking - links to atari 2600 midi implementation stuff too. http://qotile.net/ Da!NyL's Workspace - Some great utilities for playback and format conversion between C=64 SID format and OPL3 FM format music. http://dawork.synchronus.de/ BuzzMachines - Modular sound processing/building/tracking system. Looks really interesting, I'll have to check it out better later. Has lots of FM modules. http://www.buzzmachines.com/ Chiptuning on Woolyss - A great resource for everything chiptune related. There's a great tracking section aswell. http://www.woolyss.free.fr/chiptuning.php moogle charm: programs - A listing of music programs for different systems. http://www.morganleahrecords.com/mooglecharm/programs.html OPLx Page - Information on programming for OPL, OPL2, and OPL3 http://www.oplx.com/ Korean IMS player (file format for Adlib based music) http://sourceforge.net/projects/imsplay melcoms Adlib Archive - Lots of great programs and adlib songs in all formats archived here http://chiptunes.back2roots.org/adlib/ Studio Compyfox: Hardware Research - software emulations of music hardware (synths, eq, dynamics, etc) http://www.studio-compyfox.de/studio/temp/hw-research.php/ .NET Wrapper for OPL code. Includes sourcecode for both OPL2 and OPL3 http://pi-r-squared.com/code/ DRO-ED - software for working with Dosbox OPL captures. http://www.pi-r-squared.com/code/dro/ Original Mame OPL3 code by Jarek Burczynski and Tatsuyuki Satoh. http://mamedev.org/source/src/emu/sound/fmopl.c.html FM Dreams 4-op FM synthesis waveform generator http://www.geocities.com/SiliconValley/Campus/8645/fmdreams.html Java implementation of OPL3 emulation http://www.cozendey.com/opl3/opl3.html Hardware OPL3 box (SWEET!) http://www.ucapps.de/midibox_fm.html YM2413 sourcecode/module for playing MSX music http://www.pokipoki.org/dsa/index.php?VM2413 OPL3 Programming (Archive.org fetch) http://www.fee.vutbr.cz/~arnost/opl/opl3.html GNU Linux source that's probably great (Bisqwit's very tallented), but I'm not able to make it run in windows 'cause I don't know how to port or compile the sourcecode. http://bisqwit.iki.fi/source/opl3emu.html Midicode Midisynth - midi software synthesizer with Dual FM/AM http://www.midicode.com/synth/index.shtml Aldib sound card acivated through a paralell printer port (for newer motherboards) http://www.raphnet.net/electronique/adlib/adlib_en.php Some really useful sounding midi emulation tools are listed here. I haven't had a chance to try any yet. http://www.freedownloadscenter.com/Best/midi-emulator.html SoundFX NT - Commercial dos soundcard/FM emulation product (has anyone actually tried this?) http://www.softsystem.co.uk/page4.html Sound Generator Library - Japanese information for all(?) the Yamaha sound chips http://www.ylw.mmtr.or.jp/~hosino/ma-net/sndgen.htm Similar to above but in english (Archive.org fetch) http://www.yamahayst.com/audio.htm GUS Emulator for win9x/2k (I haven't tried it) http://listen.to/gusemu/ Some Articles: http://www.shipbrook.com/jeff/sb.html http://www.soundonsound.com/sos/apr00/articles/synthsecrets.htm http://www.soundonsound.com/sos/may00/articles/synth.htm http://insidesynthesis.blogspot.com/2008/02/episode-four-fm-synthesis-part-1.html http://www.geocities.com/SunsetStrip/Underground/2288/2fmsynth.htm#FM http://www.gamedev.net/reference/articles/article447.asp http://www.4front-tech.com/dmguide/dmfm.html back story: I found out that the sound I was looking for was made by a Yamaha YMF262 (OPL3) chip with drivers utilizing general midi timbres made by The Fat Man. Yamaha hired him to develop the timbres for their SDK and drivers. He also composed the music in a lot of the videogames you've played. The first thing I tried was Dosbox as I know it's soundcard emulation is very accurate. I downloaded a bunch of MID players for dos. Most of them sounded slightly off because each had different FM settings for the General Midi instrument set. I found one that used the BNK file made by The Fat Man: http://www.dcee.net/Files/Programm/Sound/ vaisdk.zip at the bottom of the page. Some other dos midi players of note: http://www.hitechlabs.tk/ - Midier ftp://ftp.externet.hu/pub/mirror/sac/sound/megam166.zip - Megamid http://vogons.zetafleet.com/viewtopic.php?t=18412&sid=6be96564bed32575392decc9451597e3 - Midpak At least one of those other midi players requires the Midis to be in Format 0. So-far so good. Next I wanted to be able to use the soundcard emulation in realtime in windows. There is a CVS version of Dosbox that has MIDI input capability. http://sourceforge.net/tracker/index.php?func=detail&aid=1679781&group_id=52551&atid=467234 http://vogons.zetafleet.com/viewtopic.php?t=14690 http://vogons.zetafleet.com/viewtopic.php?t=17476 Unfortunately I couldn't find any dos programs to pass midi signals through to the different soundcard emulations in it so I never got any further there. Same story with VDMSound. http://sourceforge.net/projects/vdmsound/ http://en.wikipedia.org/wiki/VDMSound It's emulation engine is strictly designed for dos programs only and I couldn't find any way to integrate it into win32 applications. Aparently it's OPL3 emulation isn't very accurate anyway (according to the Adlib Tracker guys). I searched for any Soundfonts that were made from OPL2 or OPL3 chips. Although there were some collections of sounds, none covered the full GM instrument bank. The closest I could find was a couple drumkits: http://soundfonts.homemusician.net/drum_kits_and_percussive_kits_soundfonts/page8/index.html http://www.hammersound.com/cgi-bin/soundlink.pl?action=view_category&category=Drumkits%20and%20percussive%20kits&ListStart=90&ListLength=15 http://www.geocities.com/SiliconValley/Campus/8645/sf2.html Then I found a program called Awave Studio that can load Adlib instrument banks (BNK format) http://www.fmjsoft.com/awframe.html After fiddling with it for awhile I managed to get all 128 instruments converted to waveforms from a BNK file I found in Master of Magic. The drums didn't turn out, but with dosbox I managed to record all the drum sounds and compile everything into a full GM soundfont. As a bonus, Awave Studio can output DLS instrument banks too for use in Microsoft's GM Softsynth (included with direct-x). Roughly 3 months after I published this webpage I was contacted by Zandro who contributed a lot more content to the page. After a few emails back and forth about how to improve my OPL2 soundfont, he informed me that he was making a better one by sampling a real SB16 (OPL-3 FM 128M.sf2). Now finally I can play games and listen to midis exactly like I wanted. This project is a complete success but by no means complete. I'll try to keep the content that's already here available, mirroring it as necessary and update it as I find more. I hope you have as much fun with this stuff as I have. If you're still reading this you must have an amazing attention span! I fully reccomend you now head on over to http://www.mirsoft.info/gamemids.php or http://www.vgmpf.com/ and listen to the songs the way they were meant to be heard. - Anapan (Anapan8@hotmail.com)