Using a PC as a simple synth with a MIDI controller

The simplest way to play sounds with a MIDI keyboard controller connected to a Windows PC

[Update 2010/10/30] Added using MuseScore music notation program. See below.

Now and then I want to play notes on a keyboard to help with my double bass practice. For example, to hear intervals in order to sing them and to check my intonation. Also a keyboard is often the most natural way to visualise scales and harmony. So I required a simple way to play notes and perhaps chords with a keyboard.

One solution would be to use a simple on-screen virtual piano or syth. That’s great if you also have a touch screen, which I do.

However I already have an Akai LPK25 25 key mini (micro) keyboard MIDI controller and liked the idea of having real keys, even though they take up desk space. And that’s despite the fact the LPK25’s keys are tiny and feel horribly springy compared to a piano or weighted controller keyboard. MIDI controllers produce no sounds, rather they just send MIDI messages and a MIDI syth or other sound generator is required to make any sounds

AKAI LPK25

Solution

Like most modern MIDI controllers, the LPK25 connects to a PC using USB midi which makes life simpler than the old MIDI 5 pin DIN connectors. It also sends on MIDI ch 1 by default so should be fine in any configuration. AKAI provide a little settings editor but I found it was unecessary in this case.

The setup steps are:

  • Connect the keyboard to the laptop using a USB cable
  • Optionally install a MIDI Synth to make the sounds. Windows has long shipped with one but it’s truely aweful
  • Virtually connect the keyboard to the synth via software

The MIDI Synth I used is CoolSoft’s Virtual Midi Synth which requires you to also install a SoundFont. I used the recommended FluidR3_GM General Midi font as I’ve used it before and found it to be good enough.

To connect the keyboard to the synth in the PC via software I used the venerable MIDI-OX midi toolkit which works fine on Windows 10. MID-OX also allows viewing and manipulating MIDI messages if you are so inclined. Once installed, you link up the controller to the synth by selecting the input an output dvices with Options -> Midi Devices.

That’s it. As long as MIDI-OX is running any key press should be heard in your audio output. The default GM voice is 1 Acoustic Grand Piano which is fine for me. Note though that with such a simple non ASIO driver set up there is a small but noticable latency.

Alternative Solution - using MuseScore

Thanks to Arash Zargamy for pointing out that the free and open source MuseScore notation and compostition program will also act as a simple MIDI synth. There’s no need to install an extra synth or route the midi as Musecore includes a synth and picks up the MIDI input device.

Just install the MuseScore program and play notes on the keyboard. You might need to check edit -> preferences -> I/O to ensure your keyboard is the MIDI input device. The default voice is GM piano.

An advantage of Muscore is you can also easily record the dots for your playing. Just click the note input icon on the left of the note toolbar.