I'm an idiot when it comes to MIDI - need very basic help!

GJP1979

New member
I'm trying to do something pretty simple: hook up my Casio Privia to a Windows 7 laptop and use it as a MIDI controller to access various soundfonts. Ultimately I would want to record the results, but as long as my laptop's soundcard is outputting the MIDI audio, I can handle the recording end of things. But the MIDI side of things has me totally lost.

I did a little research and downloaded MIDI-OX and VirtualMIDISynth (CoolSoft). Also downloaded a soundfont to try out. I plugged the keyboard into the laptop and it recognized it and downloaded the driver. When I play the keyboard, MIDI-OX registers incoming MIDI data, and the mixer in VirtualMIDISynth shows activity. But I hear nothing. And despite successfully loading the soundfont into VirtualMIDISynth, I can't find any way of selecting different sounds.

Maybe I'm on the wrong path with these programs? What are the most basic pieces of software I need to hook up a keyboard to a laptop and generate sounds via MIDI? Or, what am I not understanding about the software I already have installed?

Thanks!
 
Last edited:
From what I could gather, VirtualMIDISynth (CoolSoft) (It blocked me for my ad-blocker, so I couldn't read it) is a VSTi, MIDI-OX is a MIDI utility. You need some software (Sequencer or DAW) to use the VCSTi so that there is a way to route the sounds to the card. The examples that I had seen, there was a Karaoke player that was using sound fonts, th4 CoolSoft program and it was playing the MIDI. I think you need one more piece of software to complete the chain.
 
Thanks for the reply, but I'm still totally lost. I'm surprised it's this complex and convoluted. Multi-track recording in the analog and digital domains has always been intuitive to me, MIDI is not.
 
I've got both MIDI-OX and VirtualMIDISynth installed, so later this afternoon I'll see if I can figure out what you need to do. If the mixer in VirtualMIDISynth is showing activity, it sounds like you must have MIDI-OX's MIDI In and MIDI Out ports set correctly as far as receiving MIDI from the keyboard and sending it to VirtualMIDISynth, so maybe it's something about the way the Audio is set up in VirtualMIDISynth?

However, if your ultimate goal is to record, it would probably be better to just go ahead and install a DAW instead. There are many to choose from, ranging in price from free to several hundred dollars. If you ask the people here for recommendations, the majority will probably say Cockos REAPER-- it isn't free, but you can try the full version for free and the trial never stops working, and the license for home users is inexpensive. PreSonus Studio One has a free version called Studio One Prime-- it's a lite version, so it doesn't have all the bells and whistles, but it might do everything you need. Tracktion is another inexpensive DAW although it isn't as well known, and one of the earlier versions (T4) is free. I mostly use Acoustica Mixcraft-- it isn't free but it is inexpensive, although not as inexpensive as REAPER and Tracktion. Other free DAWs include Avid Pro Tools First, Sony ACID Xpress, and Zynewave Podium, just to name a few. All DAWs are not alike-- they can have different strengths and weaknesses, not to mention differences in functionalities, work flow, and of course appearance-- so my recommendation is to give several of them a test spin to see whether they rub you the right way or the wrong way.
 
You are letting the MIDI confuse you. It is not that hard. MIDI is the data, the soundfonts (VSTi) are the sounds driven by the date and some software has to route the data to the sound to the card. That would be the sequencer or the DAW.

If you already have a DAW, hook your keyboard up, find a VSTi (some synth), arm it so you can monitor it and you should be in a world of bliss.

Let me give you a quick run down. Your keyboard has MIDI and it uses sound modules on board and routes them to a speaker. So it is all internal. Once you want to capture that MIDI data and use it with other sounds, you are moving outside of your keyboard. The data, which is just that, a standard file format (called MIDI, like what HTML is to browsers except for music). Something has to interpret that data and turn it into a sound. That is done by either a sequencer (in pure MIDI world) or a DAW, which mixes MIDI and analog.

Therefore if you already a DAW, create a MIDI track, add a VSTi (for the sound) arm in and turn on receive all channels and you should be able to hear the sounds. But you need software to pull it all together.

Hope I am helping a little.
 
I have good news and bad news.

The good news is, I got it working using just MOX (MIDI-OX), VMS (VirtualMIDISynth), and TOH (Timbres of Heaven soundfont), so it's definitely doable.

The bad news is, the latency is horrible and VMS doesn't have any options for using ASIO, Core Audio, WaveRT, or whatever. EDIT: However, I was able to noticeably reduce the latency by setting the output buffer size in VMS to 0-- there's still a slight latency but it's more bearable.

If you want to try it and see how it works out for you, here's what I did:

(0) Updated VMS to the latest version (not that that had anything to do with it, but just because).
(1) VMS Configurator, Soundfonts tab -- Made sure my soundfont of choice was added and enabled.
(2) VMS Configurator, MIDI Mapper tab -- Couldn't select a Default MIDI Output device (no such thingy in Win10), but selected VMS for the Windows Media Player default device.
(3) VMS Configurator, Options tab -- Checked option for MIDI Mixer; changed Output audio device from Default to Speakers.
(4) VMS Configurator, Advanced options tab -- Set Additional output buffer to 0.
(5) MOX, Options, MIDI Devices -- Selected keyboard under MIDI Inputs; selected VMS under MIDI Outputs; checked Automatically attach Inputs to Outputs.
(6) Played my keyboard (with its Master Volume turned all the way down) and VMS played the notes through my computer's speakers.

If you want to change programs, you'll need to send the desired BS (Bank Select) and PC (Program Change) information from MOX:

(7) MOX, View, Control Panel -- Check MSB and LSB boxes; enter desired MSB and LSB values; select Patch Change from Controller Event dropdown; enter desired PC value; click Send (or check Auto Send).

You'll need to look up the correct BS and PC values for the desired sound based on whatever values your soundfont of choice recognizes. The TOH soundfont recognizes GM program numbers as well as XG BS/PC numbers, but other soundfonts might be for non-GM sounds.
 
I have good news and bad news.

The good news is, I got it working using just MOX (MIDI-OX), VMS (VirtualMIDISynth), and TOH (Timbres of Heaven soundfont), so it's definitely doable.

The bad news is, the latency is horrible and VMS doesn't have any options for using ASIO, Core Audio, WaveRT, or whatever. EDIT: However, I was able to noticeably reduce the latency by setting the output buffer size in VMS to 0-- there's still a slight latency but it's more bearable.

If you want to try it and see how it works out for you, here's what I did:

(0) Updated VMS to the latest version (not that that had anything to do with it, but just because).
(1) VMS Configurator, Soundfonts tab -- Made sure my soundfont of choice was added and enabled.
(2) VMS Configurator, MIDI Mapper tab -- Couldn't select a Default MIDI Output device (no such thingy in Win10), but selected VMS for the Windows Media Player default device.
(3) VMS Configurator, Options tab -- Checked option for MIDI Mixer; changed Output audio device from Default to Speakers.
(4) VMS Configurator, Advanced options tab -- Set Additional output buffer to 0.
(5) MOX, Options, MIDI Devices -- Selected keyboard under MIDI Inputs; selected VMS under MIDI Outputs; checked Automatically attach Inputs to Outputs.
(6) Played my keyboard (with its Master Volume turned all the way down) and VMS played the notes through my computer's speakers.

If you want to change programs, you'll need to send the desired BS (Bank Select) and PC (Program Change) information from MOX:

(7) MOX, View, Control Panel -- Check MSB and LSB boxes; enter desired MSB and LSB values; select Patch Change from Controller Event dropdown; enter desired PC value; click Send (or check Auto Send).

You'll need to look up the correct BS and PC values for the desired sound based on whatever values your soundfont of choice recognizes. The TOH soundfont recognizes GM program numbers as well as XG BS/PC numbers, but other soundfonts might be for non-GM sounds.

Thanks so much (to everyone who posted) for your time and help with this. I'll be testing out your suggestions later this week and will report back.
 
Last edited:
Hi All,

Reviving this thread with some follow up questions, as I think I've identified more specific problems that need to be solved.

I've got things figured out on the software end. The real issue that I'm having with any MIDI input into my computer is LATENCY. Specifically, latency caused by my Windows Realtek sound card.

Now, I've done some digging, and a lot of people are saying that this problem can be overcome by using a good MIDI audio interface. The thing is, every interface I've looked at only has a USB output. My keyboard's MIDI output is USB, so any interface I use would need a USB input, right? Or, would I simply use my keyboard's audio line out, and then the interface would convert this audio into MIDI data?

Now, assuming I can find an interface that works, is this likely to solve latency issues? Would using a dedicated MIDI controller on it's own (like the AKAII MPK Mini MKII) perform any better?

At the end of the day, I just want to play a keyboard that is triggering MIDI sounds as a live instrument (meaning no noticeable latency or delay) for overdubbing tracks.

Thanks again!
 
I'm at a loss as to why you are making this sooooo complicated. Installing all this software, tweaking the parameters, sorting out the latency and then a rather convoluted workflow to get sorted before you can even make any music. Why not just invest a few quid in one of the beginner Cubase (or the popular other brands) packages, that also have easy to use, nice sounding VSTi sample/synths and just 'work'? They also need effort of course, but they work logically, are pretty solid and upgradable if you get competent with them and outgrow them.

They also make access to the many MIDI functions far, far easier. They have decent editors for different types of music/instruments and you don't need to understand computers!
 
The USB thing can be drivers. I'm wary of devices show up as some USB device. The Realtek may not be so much a problem, but what kind of sounds are you pulling out of the computer ?

Whatever is serving as a MIDI sound module can be source of latency . And, the Operating Sytem may be getting in the way


Synthfont should still be around - runs stand alone

Anvil Studio is pretty good as a MIDI DAW

For me, I find it great to have extra gear to cross-check problems. For one, I do have a DIN-MIDI to USB cable from Turtle Beach that always works

If you use lots of USB, there might be a problem. Also try a different USB buss. Not easy on a laptop, but the cheap Toshiba from around 2008 has a port on the other side that is a different buss
 
The problem isn't MIDI latency per se, by which I mean that the latency isn't between the keyboard and the computer, therefore you shouldn't need to make any changes in the way you're connecting your keyboard to your computer-- you can leave that part alone.

Of course, if your keyboard has actual MIDI ports (rather than, or in addition to, a USB-MIDI port), and if you want to buy a USB audio interface with a nice external sound card, then you might want to try connecting your keyboard to the audio interface via MIDI cables-- although doing that won't make any difference as far as latency is concerned. Note that MIDI ports aren't included on all audio interfaces, so if you do want to go that route then be sure to choose an audio interface that does have MIDI ports.

The latency is really happening between the software and the sound card-- and it doesn't matter whether the sound card is inside your computer or in an external audio interface, because the location of the sound card isn't what causes the latency, and buying an audio interface won't by itself solve your latency problem.

The real problem is the driver that's being used with the sound card. If there's a low-latency driver such as an ASIO driver available for your sound card, audio software, or audio equipment, you can install that driver (if it isn't already installed) and select it on your software's audio configuration screen. If you don't have an ASIO driver, you can try downloading and installing the free ASIO4ALL driver. It's not a real ASIO driver, just an imitation of ASIO, but it might reduce the latency to where you can't notice it any more. There are other types of low-latency audio drivers besides ASIO, so you might check your system to see what's already available, if anything.

Also, it isn't as simple as just installing or selecting a particular driver-- you'll also need to tweak the driver's settings until you find the ones that give the best results on your particular system.

I should add that my own experience with audio drivers and audio interfaces is rather minimal, and if I've made any incorrect statements then I hope someone with knowledge and experience will post a correction. :) Also, I've deliberately simplified the topic of latency. Any signal takes time to travel from point A to point B, so MIDI connections do have a certain amount of latency-- but the latency you can notice is most likely coming from the audio driver.
 
I see that a number of posts were made while I was responding. :)

For what it's worth, I agree with Rob-- rather than muddling about with a lot of individual utilities and programs, it would be a lot simpler if you'd get a decent DAW that comes with a decent set of virtual instruments. Or get a free or inexpensive DAW that has no included virtual instruments of its own, but which can host third-party plugins.

By itself, a good DAW won't make your latency issues go away, but the DAW may include better audio drivers than what you're currently using. Also, if you do decide to buy an audio interface, there's a good chance that it will have bundled software that includes a free license for a DAW-- probably a "lite" version-- so you might want to get an audio interface first. The lite DAW (if one is included) might not be sufficient for your needs, but having the license for the lite version might entitle you to purchase an upgrade to a more full-featured version at a nice discount.
 
Just now on the Vista laptop/realtek and Magix Music Maker, I'm getting "good" latency with direct sound. Now, I'm mapped to tiMIDIty++ using Merlin_pro40.sf2(30Mb) and the USB on my Q25 keys.

I have several ASIO of the generic sort and the Magix 2011 works very well. On this old box, besides specific asio, there are three Magix, asio direcx, asio multimedia, & realroute asio.
 
Think of midi as the perforated paper/sheet music of a player piano. Once you think of it that way, everything should make sense.
 
Back
Top