Softbuz.Com Linux Multimedia Audio Virtual MIDI Piano Keyboard

Virtual MIDI Piano Keyboard 0.4.0 Virtual MIDI Piano Keyboard 0.4.0

Download Now
User Rating
0
  • Currently 0/5
Visitors Rating
2
  • Currently 5.00/5


OS Support: Linux, Linux Console, Linux Open Sour, Linux Gnome

version 0.4.0

Size 0.227Mb

Hits: 199 visitors

Downloads: 48

License: Other

Date added: 13 May 2012

Last Update: 05 Jun 2011

Read Full Add your review!

Virtual MIDI Piano Keyboard MIDI Piano Keyboard

Pedro Lopez-Cabanillas


Virtual MIDI Piano Keyboard 0.4.0 screenshot

Virtual MIDI Piano Keyboard is a MIDI event receiver and generator. It doesn't produce any sound by itself, but can be used to drive a MIDI synthesizer (either hardware or software, internal or external). You can use the computer's keyboard to play MIDI notes, and also the mouse. You can use the Virtual MIDI Piano Keyboard to display the played MIDI notes from another instrument or MIDI file player. To do so, connect the other MIDI port to the input port of VMPK.

VMPK has been tested in Linux and Windows, but maybe you can build it also in Mac OSX and SGI Irix. If you can compile and test the program in those systems, please drop a mail to the author.

The Virtual Keyboard by Takashi Iway (vkeybd) has been the inspiration for this one. It is a wonderful piece of software and has served us well for many years. Thanks!

VMPK uses a modern GUI framework: Qt4, that gives excellent features and performance. RtMIDI provides MIDI input/output features. Both frameworks are free and platform independent, available for Linux, Windows and Mac OSX.

The alphanumeric keyboard mapping can be configured from inside the program using the GUI interface, and the settings are stored in XML files. Some maps for Spanish, German and French keyboard layouts are provided, translated from the ones provided by VKeybd.

VMPK can send program changes and controllers to a MIDI synth. The definitions for different standards and devices can be provided as .INS files, the same format used by QTractor and TSE3. It was developed by Cakewalk and used also in Sonar.

MIDI concepts

MIDI is an industry standard to connect musical instruments. It is based on transmitting the actions performed by a musician playing some instrument to another different instrument. Musical instruments enabled with MIDI interfaces typically have two DIN sockets labeled MIDI IN and MIDI OUT. Sometimes there is a third socket labeled MIDI THRU. To connect a MIDI instrument to another one, you need a MIDI cable attached to the MIDI OUT socket of the sending instrument, and to the MIDI IN of the receiving one. You can find more information and tutorials like this one all around the Net.

There are also hardware MIDI interfaces for computers, providing MIDI IN and OUT ports, where you can attach MIDI cables to communicate the computer with external MIDI instruments. Without needing hardware interfaces, the computer can also use MIDI software. An example is VMPK, which provides MIDI IN and OUT ports. You can attach virtual MIDI cables to the VMPK's ports, to connect the program to other programs or to the computer's physical MIDI interface ports. More details about this coming later. You usually want to connect the MIDI output from VMPK to the input of some synthesizer which transforms MIDI into sound. Another common destination for the connection would be a MIDI monitor that translates MIDI events into readable text. This will help you to understand what kind of information is transmitted using the MIDI protocol. In Linux you can try KMidimon and in Windows MIDIOX.

VMPK doesn't produce any sound. You need a MIDI software synthesizer to hear the played notes. I recommend you to try QSynth, a graphical front-end to Fluidsynth. It is also possible to use the "Microsoft GS Wavetable SW Synth" that comes with XP. Of course, an external MIDI hardware synth would be an even better approach.

Keyboard maps and instrument definitions

VMPK can help you to change sounds in your MIDI synthesizer, but only if you provide a definition for the synthesizer sounds first. The definitions are text files with the .INS extension, and the same format used by Qtractor (Linux), and Sonar (Windows).

When you start VMPK the first time, you should open the Preferences dialog and choose a definition file, and then select the instrument name among those provided by the definitions file. There should be one instrument definitions file installed in the VMPK's data directory (typically "/usr/share/vmpk" in Linux, and "C:Program FilesVMPK" in Windows) named "gmgsxg.ins", containing definitions for the General MIDI, Roland GS and Yamaha XG standards. It is a very simple format, and you can use any text editor to look, change, and create a new one. You can find a library of instruments definitions at the cakewalk ftp server.

Another customization that you may want to tweak is the keyboard mapping. The default layout maps about two and half octaves for the QWERTY alphanumeric keyboard, but there are some more definitions in the data directory, adapted for other international layouts. You can even define your own mapping using a dialog box available in the Edit->Keyboard map menu. There are also options to load and save the maps as XML files. The last loaded map will be remembered the next time you start VMPK. In fact, all your preferences, selected MIDI bank and program, and the controller values will be saved on exit, and restored when you restart VMPK the next time.

MIDI connections and virtual MIDI cables

To connect hardware MIDI devices you need physical MIDI cables. To connect MIDI software you need virtual cables. In Windows you can use some virtual MIDI cable software, like MIDI Yoke, Maple, LoopBe1 or Sony Virtual MIDI Router.

MIDI Yoke setup process will install the driver and a control panel applet to change the number of MIDI ports that will be available (you need to restart the computer after changing this setting). MIDI Yoke works sending every MIDI event written to an OUT port to the corresponding IN port. For instance, VMPK can connect the output to the port 1, and another program like QSynth can read the same events from the port 1.

Using MIDIOX you can add more routes between MIDI Yoke ports and other system MIDI ports. This program also provides other interesting functionalities, like a MIDI file player. You can listen the songs played in a MIDI Synth and at the same time see the played notes (only one channel at a time) in VMPK. To do so, you can use the "Routes" window in MIDIOX to connect the input port 1 to the Windows Synth port. Also, configure the player's MIDI port to send to MIDI Yoke 1. And configure VMPK Input port to read from MIDI Yoke 1. The player will send the events to the out port 1, which will be routed to both the input port 1 and at the same time to the synth port.

In Linux, you have ALSA sequencer to provide the virtual cables. The ports are dynamically created when you start a program, so there is not a fixed number of them like in MIDI Yoke. The command line utility "aconnect" allows to connect and disconnect the virtual MIDI cables between any ports, being hardware interfaces or applications. A nice GUI utility for doing the same is QJackCtl. The main purpose of this program is to control the Jack daemon (start, stop and monitor the state). Jack provides virtual audio cables to connect your sound card ports and audio programs, in a similar way to the MIDI virtual cables, but for digital audio data.


Product's homepage

Requirements:



· Qt

What's New in Version



· This version adds touch screen support (multi-touch) for all platforms, if it is supported by the OS and hardware. New RtMidi classes have been merged, which includes Jack MIDI support and a new network MIDI driver (UDP multicast) compatible with ipMIDI and QmidiNet.

· A Symbian^3 port has been made.

· There are new translations to Dutch and Swedish.

· A bug crashing the program when changing the octave base has been fixed.




Changes on the new version:
What's new in Virtual MIDI Piano Keyboard 0.4.0: June 5th, 2011

· This version adds touch screen support (multi-touch) for all platforms, if it is supported by the OS and hardware. New RtMidi classes have been merged, which includes Jack MIDI support and a new network MIDI driver (UDP multicast) compatible with ipMIDI and QmidiNet.
· A Symbian^3 port has been made.
· There are new translations to Dutch and Swedish.
· A bug crashing the program when changing the octave base has been fixed.



What's new in Virtual MIDI Piano Keyboard 0.3.2: June 19th, 2010

· A new D-Bus interface has been added, exposing many program features to other D-Bus clients.
· The switch type extra control shows now much larger shapes when using the custom style.
· There is a new Simplified Chinese language translation and the German translation has been updated, including the program online help.



What's new in Virtual MIDI Piano Keyboard 0.2.5: June 1st, 2009

· Bender returns to zero when mouse is released
· Dialogs: help "WhatIsThis?"
· Updated spanish translation and help file
· Import Sound Font Instruments
· MIDI In always enabled on Linux and Mac
· Implemented RFE# 2779744 - keyboard window: always on top
· Fix for bug# 2790316 - startup crash in OSX when no MIDI port present



What's new in Virtual MIDI Piano Keyboard 0.2.4: April 6th, 2009

· merged RtMIDI 1.0.8
· overhauled preferences: removed channels, velocity, base octave
· implemented RFE #2488065 - online help
· applied patch #2490414 from Serdar Soytetir: Turkish translation
· build app bundle in Mac OSX
· version string = 0.2.4cvs
· better about dialog
· thru function: Send every incoming event to the output port, do not modify incoming channels. Process inside MIDI callback for better performance.



What's new in Virtual MIDI Piano Keyboard 0.2.3: December 30th, 2008

· fix for bug #2364787 Rosegarden renders vmpk input unusable
· optimization for Linux: do not create an ALSA queue





Version History
Version 0.4.0 added on: 13 May 2012


Popular related