Introduction: Portable MIDI Tone Generator On-the-Cheap

About: By day, mild-mannered CS prof. By night, husband, father, basement tinkerer, video game player.

Introduction

I'm taking the Electric Funkatron to a show-and-tell event that will be outside with limited power outlets.  My setup is usually the Funkatron, which triggers notes on an Alesis QS7 keyboard, which is amplified by a big, heavy guitar amp -- i.e., two power outlets (not to mention some heavy lugging) required.  This Instructable shows how to use a laptop as a basic MIDI tone generator and amplifer (since it has built-in speakers) in one.  When I started this, I assumed it would be straight-forward since Windows has had a built-in General MIDI synthesizer for years.  It still does, but getting an external device to play it can be difficult.

Be warned: this is not a pro-sounding setup.  In particular, the laptop speaker's sound is pretty awful.  I also find it can have difficulty handling lots of notes at once.  But if you need something portable and cheap (as little as $5) this works.

What you can do with this

Most electronic instruments use the MIDI communications protocol to talk to each other.  One thing this allows is to have one device (a keyboard, drum controller, sequencer, etc.) act as a controller --   meaning it generates note events -- and another device to act as the tone generator -- which means it actually generates the sound in response to events it receives from the controller.  Sometimes both the controller and tone generator are the same physical device, as with keyboard synthesizers.  This Instructable assumes you have a MIDI controller, such as a keyboard controller or some crazy cool homebrew controller , but need a tone generator.

Step 1: Materials

Hardware

Windows-based computer, preferably a laptop with integrated speakers.  For cost purposes I will assume you already have one!
USB-to-MIDI cable (a search on Amazon shows these can be purchased for as little as $5)

Software

ASIO4ALL driver
SyFonOne MIDI port player

Both of these are free to download and install.

Step 2: Install Hardware and Software

Install everything in this order:

1. USB-MIDI cable driver (mine was plug-and-play on Windows 7 -- no driver disk or downloaded driver required)
2. ASIO4ALL
3. SyFonOne
4. Connect your controller to the USB-MIDI cable's MIDI IN port.

Configure SyFonOne according to the picture below:

1. SyFonOne will appear in the system tray -- right-click and select options.
2. Make sure "USB Midi Cable" is selected under "Select MIDI input port".
3. Check the "Use ASIO" box
4. Select "ASIO4ALL v2" in the "Select ASIO audio output port" box.  Click OK to save the options.

Open the tracks list for SyFonOne by right-clicking on it's icon in the system tray and selecting "Show Tracks List".

1. Adjust the Playback Volume to suit your computer's sound setup.  On my cheap laptop, I have to turn it all the way up.
2. Adjust the latency down if there is a noticeable lag between striking a key and hearing the note.
3. The Reveeerb can affect lag as well -- I turned mine all the way down such that "Amount" was 0%.
4. If you hear no sound, make sure the third icon on the toolbar says "Sleep" not "Play".  Clicking on it will toggle between the two.

That's it!  You should be ready to go.