java midi

new version of midibridge supports midi out

Deprecated, please Chris Wilson’s WebMIDIAPI Shim

The midi bridge has been updated and midi out has been added. This version works on all platforms.

Windows: No known issues

OSX: Only Safari is supported. If you are on 10.5 please install Java update 6, if you are on 10.6 install Java update 1. You don’t need Humatic mmj anymore. More info on and on apple’s developer site, scroll down to Java Sound.

Linux: Konqueror is not supported

I made a sample app that you can see over here:

Code is available in several versions:

Please report back to me if it doesn’t work on your system.


animated gif generator

Thibault Imbert has created numerous amazing AS3 libraries! Last year i used his AS3 PDF generation library, and now i used his AS3 GIF Animation Encoding Library for an online gif89a generator.

It is built for player 10 so you can load local files directly in to the player, you can also capture images from your webcam. You can find it here:



java midi

midi bridge support for osx and vista 64bit

Deprecated, please Chris Wilson’s WebMIDIAPI Shim

Mac OSX and Vista 64bit are now supported, check the example!

Please download mmj first and place mmj.jar and libmmj.jnilib in your /Library/Java/Extensions directory.

Because the applet is loading the mmj library from your local system, the applet has to be signed and you have to trust it before it can run.

For Vista 64bit
Please go to Control Panel -> View 32-bit Control Panel Items -> Java -> Advanced -> Java Plug-in and deselect ‘Enable the next-generation Java Plug-in’.

In general
If the midi bridge loses its connection to your midi device, or the bridge isn’t responding at all anymore, please close your browser(s) completely. That means: close all running browser windows of all browsers that have been running the applet. This is to ensure that you kill the Java Plug-in process completely.

All midi bridge examples are updated and your platform should be detected automatically, so go ahead and test the bridge on your machine with the links in this post or in this post.

Please let me know if it doesn’t work on your system.

You can find the code at


midi bridge code updated

Deprecated, please Chris Wilson’s WebMIDIAPI Shim

As developers started to use the midi-to-flash bridge i realized that the organization of code was not flexible enough. So i rearranged the code rather drastically. The code is now split up into two pieces: the midi bridge and the midi client. The midi bridge comprises 3 parts:

  • a Java applet that receives the midi data from your system
  • some JavaScript code that enables 2-way communication between Java and Flash
  • a small Flash application that broadcasts the midi data to other Flash applications thru a LocalConnection

See the generated asdocs.

This is a sample of a midi bridge. You can set the bridge id and select the midi device that you want to connect to the midi bridge. These parameters can also be set as flashvars in the containing html file.

You can run multiple instances of a midi bridge at the same time, and you can connect each instance to different midi device.

Because a midi client receives midi data thru a LocalConnection it can be any type of Flash application: a swf running in a browser or in a standalone player, a projector or an AIR application.

dynamic sound generation flashplayer 10 java midi

midi-to-flash code published in google code

Deprecated, please use Chris Wilson’s WebMIDIAPI Shim Recently i have been asked several times for the code of the midi-to-flash bridge. It has always been my plan to publish the code but i could not find the time to do it. Finally today i have uploaded the code to Google Code, you can find the repository over here: It is published under new BSD license. Though this is a non-reciprocal license, it would be nice if you update me about your improvements. See the generated asdocs. You can compile the code with Flex SDK and with Adobe’s Flash IDE. Read more about compiling with the Flash IDE here. The code of the Chord Finder app uses the net.abumarkub.harmony package and has only been uploaded partly; currently i am busy implementing more chords and modi. In the code chords and modi are represented as 12 bits numbers to get the smallest possible response time when you play a chord on your keyboard. I’ll go into further detail in a future post.

dynamic sound generation popforge

audio/video sequencer

Pipslab is a very successful collective of multimedia artists and through Tim Hudson of Flashclub they have asked me to port a kind of audio/video sequencer from Director to Flash. Though Director has a rather steady internal timer, on older processors you’ll notice the same kind of sluggishness as the ENTER_FRAME event in Flash. So the challenge was to create a steady clock in Flash to sync both audio and video to.

dynamic sound generation flashplayer 10 java midi

midi in flash: a proof of concept

Deprecated, please use Chris Wilson’s WebMIDIAPI Shim

I have made a flash movie that is able to receive midi data from a midi device that is connected to your computer. This is accomplished by using a Java applet. The Java applet is receiving the midi data and passes it on to JavaScript and JavaScript sends it to flash via the ExternalInterface.

You can find a proof of concept overhere. You will need to have flashplayer 10 installed because i use the dynamic sound generation possibilities of player 10 for producing sounds when midi note-on data is received.

If you don’t want the hassle of installing flashplayer 10 you can find a flashplayer 9 version overhere. You won’t be able to enjoy the beautiful warm sinus tone generated by flash but you can see flash responding to your midi keyboard. The Release version of Flash Player 10 is now available from the Flash Player Download Center. However, the flashplayer 9 version is still online.