How to use your non-MIDI instrument along with your computer

Have questions? Just saying hello? This is the place.
No explicit, hateful, or hurtful language. Nothing illegal.
aria1121
Posts: 1505

Post by aria1121 »

How to use your piano or any other non-MIDI device along with Synthesia For Windows XP/Vista/7 x86/x64 computers.
With this project you can make your piano, voice or any other instrument that can't be connected to your computer (properly). Doing this will take about 5 minutes to set up. This project originally started here.
Also, you can use this method to play notes directly into other programs e.g. MuseScore or Anvil.

You'll need:
- A laptop or PC (If you have a piano, a laptop will be easier to put it on top of it)
- An external microphone (If you use a laptop, don't use the internal microphone (if any) because those don't record sound so good) or an audio cable (If your electrical instrument has audio out, you can connect that to the line in or the microphone port of your computer)
- LoopBe1 Virtual MIDI Driver (Download here)
- Cockos REAPER (Download here) It isn't free, but see what you can do with it so far. As of making these instructions, I am using version 4.0

Step 1
Prepare your workplace. Plug in the microphone to your computer and place it near the instrument to be recorded.
Tip If you have a piano, try to put the microphone in or behind it, just somewhere where the sound sounds the best
Another tip Use the audio cable to connect the audio out/headphones of your instrument to the line in/microphone of your computer instead of using a microphone, if your instrument actually has an audio out port.

Step 2
Download LoopBe1 and install it. Once installed, you should see a tray icon with a picture of a MIDI port.
Now also download and install REAPER. Open it.

Step 3
When you opened REAPER it may ask you to configure the audio settings, but we'll leave this for later.
Press [Ctrl]+[T] to create a new track. You should see some new buttons on the left of the window. One of the says "FX", now press on it. Two new windows will open, and you'll see a list. Under it there is a textbox called "Filter"; type in it "reatune" and you'll see in the list above one VST will remain that says "VST: ReaTune (Cockos)". Doubleclick it. The window will now disappear and you'll see some black boxes in the other window what still is open. Now do the following things:
- Use as Buffering Mode "Live input"
- Turn on "Send MIDI events when pitches"
- Window size "30"
- Overlap "8x"
- Reference "440" Hz
Now close the window.
Keep REAPER opened.

Step 4
Press [Ctrl]+[P] to open the preferences.
Once opened goto Device (in the list left). I personally use as Audio System "WASAPI" but for you is most likely "WaveOut" the best option.
Now be sure your microphone is connected and placed properly. Choose as Input Device "External Microphone" or any other microphone you connected (I don't know your settings).
As Output Device, select "Speakers", or any other speakers that you want to use.
Now go to "MIDI Devices" (in the list left). Below you will see by "MIDI outputs ..." a list, and in there should be "Microsoft GS Wavetable Synth" and "LoopBe Internal MIDI". If next to the is written that they are disabled, doubleclick it and hit "Enable output to this device" and then "OK".
Now just click OK. to close the preferences
Keep REAPER opened.

Step 5
On the track you've created (the grey square with the FX-button in it) click the black "I/O" button. Now do this:
- Disable "Master/Parent send"
- Choose as MIDI Hardware Output "LoopBe Internal MIDI"
- Close the window.
- Activate loops by pressing [R]
- In your track, there is a small round red button with a circle in it, next to "I/O". Press it.
- Below the FX-Button, there is a small speaker-button, press that. You may hear some random notes played.
Keep REAPER opened!

Step 6
Open Synthesia and go to "Keyboard Setup". Choose as input device "LoopBe Virtual MIDI" and as output "Microsoft GS Wavetable".
Note NEVER use LoopBe as your input and output device at the same time, as this may loop the notes causing LoopBe to crash.
Now play notes using your voice or instrument, as they should be heard in Synthesia.

Congratulations, you've made your non-MIDI instrument work with Synthesia.
If you want to shutdown your computer, save this as a REAPER project before you close it so you can open it later again if needed.
In case you didn't do things correctly, see below.


Troubleshooting
- My computer plays too much wrong notes or almost no notes as I play.
Goto the FX screen of your track, then set the "Window Size" lower/higher. Test out which one is better.

- My instrument is off-pitch
Goto the FX screen of your track, then set the "Reference" to another nuber around the 440.
My instrument was off-pitch too, it was like 413,9 (that's just a half key)
You should play the [A4] on your instrument the see how far it is from the 440 Hz

- I hear too much latency
Yes, this is normal when using Microsoft GS Wavetable. Try finding out yourself how to solve this.
Note BASSMIDI, if installed, may disappear from your MIDI configuration when using LoopBe. If so, uninstall BASSMIDI. Then download and install BASSMIDI v2.0 from here.

- I get a tooltip saying that I shouldn't use LoopBe as input and output in one application and stopped working
Right-click its icon and click "Mute" after you've changed the settings. You should never use LoopBe as input and output, that is just wrong.

- The computer plays wrong notes when I strike multiple keys at the same time
This is normal. You have, most likely, only 1 microphone installed. The microphone only records the sound, and REAPER makes 1 note out of all recorded sound. It is almost impossible to this, also because you most likely have enabled "Send MIDI events when pitches" so notes are only sent once the volume is killed or the pitch changes. You can try using multiple microphones with multiple tracks. Doing so may require you to use multiple hardware configurations for the microphones.

- I have an other error not described above or my piano already has a MIDI port but my computer doesn't
If your computer doesn't have a MIDI port, buy a MIDI to USB converter (Reference). If you still want to connect your (non-)digital instrument and failed with the method above or have suggestions, just post it below.

If you have a problem, suggestions, etc. make a post below.
Additional information about audio > MIDI conversion in REAPER
Last edited by aria1121 on 07-27-12 5:32 am, edited 9 times in total.
aria1121
Posts: 1505

Post by aria1121 »

Afcourse, when I play on my piano an [A4] (what should be 440 Hz), my computer recognizes it as an [Ab4] (on 414 Hz), what made me change these settings:
aria1121 wrote:- My instrument is off-pitch
Goto the FX screen of your track, then set the "Reference" to another nuber around the 440.
My instrument was off-pitch too, it was like 413,9 (that's just a half key)
You should play the [A4] on your instrument the see how far it is from the 440 Hz
But this only affects REAPER and its outgoing notes. Synthesia and Microsofts' Wavetable still play the off-pitch note. To prevent this, you should set all tracks in Synthesia as "You play, notes muted. Because; Piano Plays and REAPER Records (to remind it).
Raymond
Posts: 528

Post by Raymond »

I just tried it using my MIDI keyboard. (all going through the computer. no mic.)

And I get like 200ms of lag time.
Setup:
Keyboard --> Flowgraph --> BASEMIDI #1
BASEMIDI --> ~mic~ (Sound card directly routes sound from Output to Input)
~mic~ --> REAPER (REAPER picks it up from sound card input.)
REAPER --> MIDI on sound card #2

There is about a 200ms lag time from the time I hear #1 and #2. So it's not realtime but is fun to mess with anyways. (gonna hookup my mic and mess with it sometime.)

Also it plays some odd things when you have music playing. :lol:
aria1121
Posts: 1505

Post by aria1121 »

I had this too, but I tried this with a crappy microphone on my not-so-good-laptop and so my expectations; I got a lag, a huge lag - like 250 ms!
I don't recommend using a cable from WaveOut to MicIn because you can use exactly the same settings in REAPERs' settings. But it is really your last hope to try using a piano. Maybe this is also fun using your voice to record sound.
aria1121
Posts: 1505

Post by aria1121 »

Maybe this is of this:
Mic > REAPER > LoopBe1 > Synthesia (you play) > Microsoft GS
Maybe because of Microsofts' wavetable, but sometimes BASSMIDI disappears when you need it...
Raymond
Posts: 528

Post by Raymond »

aria1121 wrote:I don't recommend using a cable from WaveOut to MicIn
I have it routed with my sound card.
aria1121 wrote:Maybe this is of this:
Mic > REAPER > LoopBe1 > Synthesia (you play) > Microsoft GS
Maybe because of Microsofts' wavetable, but sometimes BASSMIDI disappears when you need it...
I have mine routed to my hardware synth where there is neer 0 lag.

But I am pretty sure most of that 200ms lag is REAPER. So we just gotta tweak the settings until we get less.

Iv seen some other realtime audio to midi programs, but they don't output any midi they just record it..
Raymond
Posts: 528

Post by Raymond »

Yeah if we want less lag. It is nice being able to do it though. ;)
Raymond
Posts: 528

Post by Raymond »

Not that I know of.
aria1121
Posts: 1505

Post by aria1121 »

I reïnstalled it and now it works. Now just set in Synthesia input as LoopBe and output to BASSMIDI.
Edit: A bug may occur. This is now being investigated.
aria1121
Posts: 1505

Post by aria1121 »

I also forgot to mention that if you have any instrument with no MIDI ports but with an audio port, you can directly attach it to your computer instead recording it using a microphone. This reduces latency and improves output quality.
aria1121
Posts: 1505

Post by aria1121 »

Also the link to BASSMIDIDRV seems dead and I can't find any alternate links.
User avatar
DC64
Posts: 830

Post by DC64 »

Wierd. It also says that in the VG Music forums. Try mudlord's site:
http://www.mudlord.info/crap/audio/
"And now for something completely different."
eivl
Posts: 2

Post by eivl »

Is this possible to do under OS X?
Nicholas
Posts: 13132

Post by Nicholas »

There are a few solutions (that I'm not very familiar with), but it doesn't come up nearly as often because the built-in Quicktime synth is already so nice. There isn't as much demand because it's already very low latency and sounds really good.
aria1121
Posts: 1505

Post by aria1121 »

All of the above is possible, but the only thing I can't find is an internal MIDI connection and a software synth. You can live without a better software synth on Mac, because Quicktime sounds quite nice IMO but you don't need a new one, because there is one already there, and it's pretty hard to find one. I couldn't find an internal MIDI thing for Mac, otherwise I also made a version for Mac. Until then you'll have to wait.
eivl
Posts: 2

Post by eivl »

Thanks, but i am not sure how to get the quicktime thing to show up in reaper under midi device.
could you clarify this for me please?
aria1121
Posts: 1505

Post by aria1121 »

Sorry I have no experience on how to do above on a Mac. You may need other software, but I'll search a way to do this for Mac.
Post Reply