Thread Tools
Old 04-14-2011, 09:11 AM
Guest
Join Date: Apr 2000
Location: London
Posts: 1,950
Software for M-AUDIO KeyRig 49 keyboard?

I have just been given an M-AUDIO KeyRig 49 usb music (midi?) keyboard. I want it because I am trying to teach myself piano from this book and I wanted something to practice on when I can't get to my girlfriend's piano. What I don't have is any software to go with it - the donor has lost the disc it came with . It seems to have installed a driver ok when plugged in to my Windows 7 64 pc but I need some software to use with it - cheap or ideally free. I don't need anything fancy - just something which can make a reasonably piano-ish sound when I hit the keys. I have never used music software before so I don't really know what to expect.

Any suggestions or advice?
Old 04-15-2011, 01:53 AM
Guest
Join Date: Oct 2007
Posts: 269
There aren't any few free or low cost stand-alone piano modules available. You will have to put together separate pieces of software and do some configuring and setup yourself, but once you've setup everything properly you should be able to load and go.

First, you'll need something that contains a piano sound. 4Front Piano is a VST instrument (VSTi) that's free and sounds good.

Next, you'll need something that can load this VSTi. The simplest Windows VSTi host is SAVIHost. You rename the SAVIHost executable to match the VSTi plugin name (with the 4Front piano for instance, it's "4Front Piano.exe") and it will automatically load the plugin when launched.

Finally, if you don't have a professional soundcard with ASIO drivers, go get ASIO4All which will create an ASIO driver wrapper around your Windows soundcard. This is necessary if you expect to play with low latency on your built-in-the-motherboard Windows soundcard.

Start the renamed SAVIHost, go to the Devices menu, select your keyboard for MIDI input, ASIO4All for Wave output, then select Asio Control Panel to bring up ASIO4All. Select only your main audio output (usually something like "High definition audio device") and set your latency for as low as possible without getting clicks/pops/distortion.

Once you get everything working, just load the renamed SAVIHost whenever you want to play.
Old 04-15-2011, 05:22 AM
Guest
Join Date: Apr 2000
Location: London
Posts: 1,950
I found Anvil Studio, a restricted freeware app which does much more than I need right now. Despite a clunky interface I managed to do what I originally wanted - get it to play a piano-like sound when I hit the Midi keyboard - without recourse to the documentation.
Old 04-15-2011, 07:35 AM
Guest
Join Date: Jun 2002
Location: Cow Country, MD
Posts: 528
I was about to ask this exact question, thank you!
Old 04-16-2011, 05:25 PM
BANNED
Join Date: Jun 2006
Posts: 2,061
I used to love SAVIHost when I was trying out softsynths. At the time I was using it, it was the simplest way to test whatever you wanted without bothering to load a full audio sequencer.

IIRC, there's a free VSTi called "MrRay73" (or once was) that was a pretty good Rhodes piano instrument.

If ASIO4All doesn't work, you will need to pay for a soundcard with ASIO drivers, IMHO. I've used an inexpensive M-Audio USB 1.1 (can't remember the model number -- UA1EX I think) with good results, on an old box. Even slow USB worked fine for the audio for me on an ancient PC with under 200MB of RAM.

Gotta get that audio latency way down if you don't want to play a fugue, sit back, and hear it come out of your monitors a second after finishing the entire piece.

ETA: didn't see your update, ticker. Sounds like you're all set!

Last edited by Jaledin; 04-16-2011 at 05:27 PM.
Old 04-17-2011, 06:04 AM
Guest
Join Date: Apr 2000
Location: London
Posts: 1,950
I have found that the Java sound API is quite straightforward for java programmers. I was able to create a very simple app which connects my keyboard to a basic software synth in just a handful of line of code. Easier to use than the Anvil Studio and it should be fairly easy to extend to play other instruments other than the default piano.
Old 04-17-2011, 09:47 PM
Guest
Join Date: Sep 2000
Location: Los Angeles
Posts: 2,283
Quote:
Originally Posted by mikews99 View Post
There aren't any few free or low cost stand-alone piano modules available. You will have to put together separate pieces of software and do some configuring and setup yourself, but once you've setup everything properly you should be able to load and go.
I'm seriously not trying to turn this into a Mac/Windows debate thread (I hate those), and I realize this piece of advice is no help to the OP... but in case anyone else stumbles on to the thread with the same question, GarageBand is a pretty great piece of software that comes with every new Mac and works well with the M-Audio KeyRig.
Old 04-19-2011, 01:11 PM
Guest
Join Date: Aug 2008
Location: "Hicksville", Ark.
Posts: 33,064
Quote:
Originally Posted by ticker View Post
I have found that the Java sound API is quite straightforward for java programmers. I was able to create a very simple app which connects my keyboard to a basic software synth in just a handful of line of code. Easier to use than the Anvil Studio and it should be fairly easy to extend to play other instruments other than the default piano.
Would you provide the source? I'd love to see it. I do better with working code than guides,

My dream is to have a program that can take my Midi input, make certain modifications and send it back. Seeing how a programming language handles midi would be useful if I wind up eventually having to roll my own.

I'm also bookmarking this thread for the sound font when I will eventually try hooking up my new (to me) keyboard to my new (to me) laptop. (Best birthday presents I've ever gotten.)

EDIT: PM me if you don't want to share it with the Internet at large.

Last edited by BigT; 04-19-2011 at 01:12 PM.
Old 04-21-2011, 02:38 AM
Guest
Join Date: Apr 2000
Location: London
Posts: 1,950
Quote:
Originally Posted by BigT View Post
Would you provide the source? I'd love to see it. I do better with working code than guides,
Embarrassingly crude Java code to use Midi keyboard as simple piano:
Code:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.MidiUnavailableException;
import javax.sound.midi.Synthesizer;
import javax.sound.midi.Transmitter;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MiniMidi extends JFrame{
 
 private JLabel synthStatusText, transStatusText, connectionStatusText;
 private JButton connectButton, closeButton;

 private Synthesizer synth = null;
 private Transmitter transmitter = null;

 public MiniMidi(){
 super("Mini Midi Piano");
 buildWindow();
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 addWindowListener(new WindowAdapter(){
 @Override
 public void windowClosed(WindowEvent e) {
 tearDownMidi();
 }

 });

 }

 private void buildWindow(){

 setSize(200, 150);
 Container content = getContentPane();
 content.setLayout(new BorderLayout());

 // Buttons
 connectButton = new JButton("Connect");
 closeButton = new JButton("Close");
 JPanel buttonBar = new JPanel();
 buttonBar.setLayout(new FlowLayout());
 buttonBar.add(connectButton);
 buttonBar.add(closeButton);
 content.add(buttonBar, BorderLayout.SOUTH);

 closeButton.addActionListener(new ActionListener(){
 @Override
 public void actionPerformed(ActionEvent e) {
 MiniMidi.this.setVisible(false);
 MiniMidi.this.dispose();
 }
 });

 connectButton.addActionListener(new ActionListener(){
 @Override
 public void actionPerformed(ActionEvent e) {
 setupMidi();
 }
 });

 // Status display

 JPanel statusPanel = new JPanel();
 statusPanel.setLayout(new BoxLayout(statusPanel, BoxLayout.PAGE_AXIS));
 synthStatusText = new JLabel();
 transStatusText = new JLabel();
 connectionStatusText = new JLabel("no");
 statusPanel.add(statusLine("Synthesizer: ", synthStatusText));
 statusPanel.add(statusLine("Input device: ", transStatusText));
 statusPanel.add(statusLine("Connected: ", connectionStatusText));
 content.add(statusPanel, BorderLayout.CENTER);

 }

 private JPanel statusLine(String labelText, JLabel statusField){
 JPanel line = new JPanel();
 line.setLayout(new BoxLayout(line, BoxLayout.LINE_AXIS));
 line.add(new JLabel(labelText));
 line.add(statusField);
 return line;
 }

 private void setupMidi(){
 // Try to connect the keyboard to the default synth
 
 boolean devicesOk = true;

 // Check for a default synth
 try{
 synth = MidiSystem.getSynthesizer();
 synth.open();
 synthStatusText.setText("OK");
 }
 catch(MidiUnavailableException me){
 synthStatusText.setText("Not available");
 devicesOk = false;
 }

 // Check for a default transmitter - probably the keyboard
 try{
 transmitter = MidiSystem.getTransmitter();
 transStatusText.setText("OK");
 }
 catch(MidiUnavailableException me){
 transStatusText.setText("Not Available");
 devicesOk = false;
 }

 if(devicesOk){
 // Attempt to connect transmitter (keyboard) to synth
 try{
 transmitter.setReceiver(synth.getReceiver());
 connectionStatusText.setText("yes"); // That's it!!!
 connectButton.setEnabled(false);
 }
 catch(MidiUnavailableException me){
 connectionStatusText.setText("Unable to connect devices");
 }
 }
 }

 private void tearDownMidi(){
 if(synth != null)
 synth.close();
 if(transmitter != null)
 transmitter.close();
 }

 public static void main(String args[]){
 MiniMidi miniMidi = new MiniMidi();
 miniMidi.setVisible(true);
 }

}
Most of the code is concerned with the UI, only the functions setupMidi and tearDownMidi actually deal with the api at all. I am not sure how hardware dependant this is as it relies on there being a default synth available. Works on Windows 7 though.

There is fuller demo of the api - with source - here: http://java.sun.com/products/java-me...JavaSoundDemo/
Old 04-21-2011, 06:46 PM
Guest
Join Date: Aug 2008
Location: "Hicksville", Ark.
Posts: 33,064
Thanks. I've got it saved to my computer. I'll take a look at it later when I have the mind power to devote to it.
Old 05-20-2011, 08:48 AM
Guest
Join Date: Aug 2008
Location: "Hicksville", Ark.
Posts: 33,064
<oops>

Last edited by BigT; 05-20-2011 at 08:50 AM.
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 04:04 AM.

Copyright © 2017
Best Topics: key fobs autozone camel reds lanebryant size chart jack braking base six house autopsy joseph fiennes pronunciation pussy archive gay physique restore cedar chest index card printer merfolk names sure seal humidor twat pronunciation spamalot dvd horse clans madison casual encounter mbi clearance sideways engine hairy area moldable splint material winston niles rumfoord potusa lump a betty gimp pulp fiction whoppers junior standard city block mah ratings dr girlfriend eating eggshell sheerflow gutter screen esteban guitars how early to mow lawn white collared blue shirt clothing that starts with a proper use of alum how long can a cop follow you before it's considered harassment fiscal liberal social conservative a promise ring for my girlfriend how long do sandwiches last unrefrigerated what to do when pills get stuck in throat shoes that look like bowling shoes when did electric lights become common can you build on wetlands nobody cares about my birthday protect my id scam hydraulic vs mechanical clutch get rid of chipmunks in garage turn left on green can the supreme court reversed a decision left handed infielders in mlb blonde girl in pepsi commercial speed racer movie trixie iphone turn on ringer how long do burn blisters last revenge on ex boss does a bullet travel faster than the speed of sound how to make laxatives work quicker what is the best canned chili shirt with white collar nix check cashing fees the roof the roof the roof is on fire we don't need no water whipped cream vodka review who the hell is alice polka lyrics amazon heartgard for dogs