Dirk Bertels

The greatest malfunction of spirit
is to believe things (Louis Pasteur)

Piano Groove Tutor - Web Version


Last updated on 20 February 2011

NOTE: This version has been superceded by 2 versions: The latest version Piano Groove Tutor v 0.7, and the earlier version Piano Groove Tutor v 0.5. This webstart version is still downloadable for those who want to experiment with webstart. There is also a page dedicated to the various coding issues encountered: See Piano Groove Tutor Coding issues.

This is the Test Bed for the Piano Groove Tutor. It helps you download the application and outlines some common issues you may encounter regarding Webstart and Midi on your system.

If you don't need all this, go straight to the Launch Button, and don't forget to leave a comment at the bottom of this page.

Before downloading ...

If your Java version is lower than 1.5, you will be prompted to update on clicking the Launch button. Don't hesitate to do this, it will make your browsing much more versatile in general.

The total download is about 1.3 MB. The first time 'round, there will be quite a long delay (half to whole minute) between when the application has downloaded and its start up, where nothing seems to happen.

If you find the download worked but you can't hear any sounds from the application, it possibly means that you need to download a soundbank from here. Once you downloaded the soundbank, you need to find the JRE, which on a Windows machine is usually located at something like

C:\Program Files\Java\jre1.6.0_03\lib

If there's no audio folder, create one, and stick the soundbank.gm file in there.

Once the application is downloaded, it will remain in cache and you can use it off-line (choose the 'save' option when webstart prompts you). Even when you're on-line and click 'Launch' again, it will still use your cached version (if you have one) unless a later version is available.

You can manage your web start cache files by clicking here.

This web version of the application includes 2 sessions containing 5 Funk grooves and 7 Salsa grooves.
A special thanks to Jonathan Wilson for letting me use his groovy funk licks and giving me support. You can find instruction piano video recordings of his and much more at his website.

There is a Comments section at the end of this page. If you have some spare time, please use it. I'm particularly interested in:

  • Your OS (XP, Vista, MAC, ...)
  • Your browser (Mozilla, Firefox, ..)
  • Whether you were prompted to download a newer Java version - and if so, did the update go well?
  • Did the download of this application go well?
  • Did you need to add a soundbank to your JRE?
  • General comments regarding the application.

Some general information on Web Start

Java Web start is a Java Program that can be executed directly on your computer. It is designed to be secure, and needs your permission to do even simple things like reading a file on your computer.

Web Start is a java technology that is integrated in most computers. As you may have gathered, it enables one to start programs downloaded from the web server. That of course has many advantages, the chief one being that only one version is needed. Web Start also takes care of updates and off-site operation - meaning once downloaded, you can use it without having the internet connected. To do that, just save the jnlp file instead of opening it.

Web Start is also supposed to take care of downloading the java engine in case you haven't got it installed. Don't hesitate to do that since it will be good to have anyway.

You can check if you have the java engine installed on xp, by going

	start -> run -> type: cmd -> in command window, type: java -version
It should give you a something like
	java version "1.6.0_03"
The JRE stands for 'Runtime Environment', which is the only part of Java that you need. Anything less than version 1.4 will give you problems. Web Start should prompt you to download the latest version in that case. If you have problems getting this going, please let me know in the Commenting Box below. These are the sort of issues I need to find out about.

Midi issues

Even if web start starts up ok, there's still the issue that your computer may not have its MIDI working properly. In that case you will find you can't open a .mid file in your media player.

The java 'jre' we mentioned before takes care of many of the midi functionalities. It has its own soundbank if needed, but as I understand, it uses the computer's sequencer and synthesizer. Again, most computers have all this stuff installed, but some may have problems there too.

Ironically, you may have trouble when you're a developer. Developers tend to use the Java Development environment (JDK) for writing code, which comes with its own 'Runtime environment' (JRE). For some crazy reason, the JDK still has old sound libraries present, named sound.jar (if I remember correctly). These need to be deleted since they are a remnant from days gone by and interfere with sound manipulation.


  • From: Ludo
  • Date: 2008-09-21 05:06:15
nice one, bro.
using mozilla ff with XP
download went well, though comp stalled - prob coz winamp was playing at the same time.
Application was very slow, sometimes waiting minutes for response. Eventually managed to play first 2 funk grooves, but 3rd one faltered.
Could be coz it's all a bit much 4 my poor laptop. Anyway will try again later


  • From: Dirk
  • Date: 2008-09-21 06:52:56
Hmm - I just tried using it with media player in the background and it doesn't seem to affect it. But then I have a professional audio/midi interface. Without that maybe Winamp would use most of the audio resources on the system. Though I think the problem might be elsewhere. This app really shouldn't take up much in the way of resources.

Would be interesting to see how your computer handles it next time without media player. Also, what did the system check tell you (at the top of the page)?

  • From: ludo
  • Date: 2008-09-21 10:59:20
It stalled even after I went out of winamp
system check has text missing after 'not available, you nee' .....
ur right, I didn't notice text above this space

  • From: Per
  • Date: 2008-09-21 16:14:10
Hi Dirk, here are the results from the Belgium jury, Gent department:

Running a Sony Vaio portable (VGN-FZ31M), ie. very basic sound capabilities.

1) Linux (ubuntu Hardy (ie. 8/04))
~$ java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)

Without the java plugin for FF, but with Java (jre as well as sdk); FF was caught in a loop, creating a bunch of directories in $HOME/.java/deployment/cache/6.0/ (64 to be exact, named 0 through 63, all empty)
Check your logs for possible overload.

Then I installed the plugin ;-)

Using FireFox Firefox/3.0.1
- The webpage displays correct java version information
- The "play sound" does what it says
- When clicking on the webstart button, download starts, java webstart starts, but the application does not launch. (probably security constraints; ff does not have write rights or s'thing like that)

Then I downloaded it to the local file system and started from there:

- The app starts up
- Loaded up the Session "Funk - Jonathan - 16" and played and looped all grooves, no problems, everything seems to be in sync
- Loaded up the Session "Salsa 1" and played and looped all grooves, no problems, everything seems to be in sync

General remarks
- The app does not retain the play settings when switching grooves
- I'm not a big fan of Swing interfaces, it's my believe that UI's should be OS dependent as to not surprise the user.
- Might be nice feature if a cursor was to loop through the notes also.
- Overall impressed.

We're having guests over, if I find the time I'll take it for a testrun on Vista (this requires a reboot, and I'm not a big fan of reboots :-) Yes, I should virtualize my Ubuntu and run it in a VM... Haven't got around doing that yet.)

PS: revisiting the piano tutor web page to leave this comment, I got an "Applet system check bail" in the status bar...
When I closed the piano tutor and reloaded the page, this was working fine again.
(Could've been a temporary glitch or something, will check it back from time to time and let you know if this persists.)

  • From: Per
  • Date: 2008-09-21 19:05:35
Windows Vista

Running on the same portable with an almost standard Vista install:

C:\Users\per>java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

Download, run loops etc, all working ok, all in sync

Internet Explorer:
The piano tutor only displays until the "System Check" heading, nothing beyond that.
The check page does say I have "Java version: 1.6.0_07", it also says "Midi sound: not available, ..."

No idea what's wrong here...

Google Chrome
This one needs Java 1.6 update 10, I'll have to get back to that some other time.

  • From: Dirk
  • Date: 2008-09-21 23:11:35
Per, I knew I could trust you to give me such a comprehensive report. Thanks for that, it helps me a lot.

This cache overload thing - I noticed those 64 folders in my cache too but did not realise that it might have been my application causing it - which surely must say something about me. I assumed that the cache just allowed for a maximum of 64 entries and initialised the folders for these.

From your report and Ludo's, I think I will get rid of the 'system check' which is using an applet - possibly not a good idea for both the Applet and Web Start to access the same resources, such as the soundbank.

This Java Web application shouldn't have any security issues since it all runs in a sandbox and I'm not accessing any ... ehrr maybe i do .... I'm not accessing files and the like, but if java soundbank isn't included in the JRE (in the lib/audio folder), it will be trying to look for another one, which is where the security problems may occur.

Also did you read the comment I made (you didnt, did you) regarding the JDK's JRE still using old sound.jar files which need to be removed because they're interfering with the newer java.sound API.

At the end you have different results with FF and IE, could it be that they're using different JREs?

For now, unless someone (like, you) convinces me otherwise, i will
1 - get rid of the system check - Web Start should prompt for the correct JRE anyway.
2 - give feedback on the soundbank check in the application itself and ...
3 - somehow make sure people use the java soundbank included in the JRE they are working with.
4 - sign all my jars so Web Start can ask for permission if a security problem occurs

I will fully digest your findings and no doubt get back to you. This cache overload is a worry ):|

One last thing - it sometimes happens there is a long delay between finished download and the application starting up ...

  • From: ludo
  • Date: 2008-09-22 06:29:50
had same experience as Per re display with explorer:stops after system check (as I mentioned in email)

  • From: Dirk
  • Date: 2008-09-22 08:50:05
Ok, so I got rid of the system check - and updated the page to give more information on how to download a soundbank which seems necessary in most cases (since the later JREs don't come with soundbanks anymore).
This of course doesn't make this a very user-friendly download (i mean, you've got to be quite desperate).
Still need to fix the cache overload and update the application itself to handle the soundbank download.

  • From: Per
  • Date: 2008-09-22 16:16:44
Hi Dirk,

Just to clarify; I'm not at all at home in the Java world (doing mainly Python now, and some PHP).

I retried the app today (on aforementioned Ubuntu environment), it worked as it should, I didn't need to download the .jnlp first. Guess I probably suffered from the long delay between downloading and starting up that you've mentioned (Dunno exactly, but I waited around a minute or 2).

On the cache, I might have jumped to premature conclusions; when I now checked the cache dir, all 64 subdirs' timestamp were updated. No new directories were created, so I think you were right on Java pre-creating those 64 directories.

I uninstalled the java plugin again, to double check:
No more directories are being created, just the 64 with the timestamp of the previous load. But, FF still seems to be caught in some Request/Response loop, I'm sending you a screenshot so you can get an idea of FF's behaviour.

imo, getting rid of the system check applet is a good thing.

  • From: Dirk
  • Date: 2008-09-22 22:51:53
<reply to Per re flashing of Firefox "connecting to ..." message at bottom left of FF's window>

There is only one thing I can think of that may be causing this: There is some javascript code on top of my page's source which handles the JRE version check - this is just a straight copy from Sun so i trust it to be ok. But looking at it, it has the following lines:

// Spin quietly, waiting to launch the app from the original window
launchTID = setInterval('launchJNLP("<my jnlp URL>")', 100);

Looks like this line may be at the heart of our problem.

  • From: Per
  • Date: 2008-09-23 21:26:03
Hey Ploe,

Regarding the slowness of the app on your laptop; could it be that the laptop was running on battery power only?

Laptops go into a conservative power mode when running on batteries.

I had a similar issue a while back when running a Swing Java app on my laptop on batteries.

  • From: Barrington Top
  • Date: 2008-12-03 10:52:17
Absolutely awesome, what a wonderful tool. Have you anymore music. It would be perfect if you could get Jonathon Wilson and other internet tutors to publish their stuff like this and then so much of this great music and talent can be shared around so easily. Bring on more.

Cheers mate


  • From: Dirk
  • Date: 2008-12-03 23:50:09
Thanks, glad someone comments on the actual software.
I am currently working on some more music for this, I don't mind people using this software once I'm happy with the stand-alone version (the web start version creates too many problems as you may have gathered from the comments).

  • From: Larry
  • Date: 2008-12-27 17:10:48
Hi Dirk,
Windows XP-Pro, Firefox 3.0.5, Java JRE Version 6

I downloaded the application and the soundbank. Everything is great except for the oversized screen. Only 2/3 of the score is visible and no slide bar to see the other 1/3. Other than that I think the application is great, especially the looping capability and adjustable tempo. I can listen to the loops until I get it right or my ears fall off! Which ever comes first. MORE PLEASE!



  • From: Dirk
  • Date: 2008-12-27 20:49:40
I agree, a good little loop can have a magical effect.
Concerning only part of the screen being visible, this app was written for a 1280 X 1024 window size - so I'm now making it resizable to account for smaller sizes.
I'm also making a stand-alone version and working on many more grooves. I will announce it here when ready.

  • From: Larry
  • Date: 2008-12-27 21:57:18
Thanks for the quick response and I look forward to your additional app versions and grooves.

One nice future feature you might want to consider (it's easy for me to suggest it because I wouldn't have to program it) is a key transposition feature. Many of the grooves and riffs would be great to learn in other keys as well. Just a thought.


  • From: Johannes
  • Date: 2008-12-27 23:27:45
hi,i am awaiting eagerly your new version of the groove tutor. if you need a beta tester (regardless of which state the software has already come) i would like to apply for it to help you in finding bugs.


  • From: Larry
  • Date: 2009-01-08 21:05:21
Just wanted to let you know that the piano tutor works great with my PC & Firefox, but I can't get the tutor to work with my iMac. I keep getting a

"java.lang.UnsupportedClassVersionError:Bad version number in .Class file"

I have a new iMAC with OSX 10.5.6 and all the latest updates. I also tried to use both Safari and Firefox with the same end result plus loaded wvm to see if that would work - no luck with any of them. It wouldn't be such a big deal, except I use the iMac for my keyboard and the PC is on the other side of the room.

- Help -

On the bright side, I'm really using the app to get down the funk grooves by slowing them way down to begin with. I look forward to your continued development of this application and please let me know if you need further info.


Larry McNiff

  • From: Dirk
  • Date: 2009-01-08 21:38:04
Thanks for your interest. I had a quick look at this problem (though I don't own a MAC myself ...)
There seems to be a problem with the MAC's Java MIDI implementation. One blog on http://lists.apple.com/archives/coreaudio-api/2004/Apr/msg00214.html says:
Although the pure Java standard classes (javax.sound.midi.*) were implemented on the Mac, Apple had neglected to write the necessary midi service provider class(es). This meant that Pure Java programs could not actually "see" and interface to any Midi I/O devices.

and also a solution:

Plum Stone is a free midi service provider which fills in this gap and enables pure Java programs to run on the Mac. Download it from http://www.mandolane.co.uk/swPlumstone.html

Installation is a doddle - just drag and drop the supplied jar file to /Library/Java/Extensions and that's it! When you run your pure Java programs, they'll see all your midi devices (including MidiKeys) and be able to talk to them. You probably won't even need to re-compile.

I'm interested to find out if this works ...

  • From: David Skeie
  • Date: 2009-01-20 14:06:43
I use XP + IE. Everything went smoothly, no download needed.
Excellent application, and thank you very much for helping me with those 16' !!! I would never have figured it out..

An improvement would maby be a way of setting a stop-point, and maybe a way of setting up a loop.
And it goes back to default setting a bit to often.

David Skeie, Norway

  • From: krzemian
  • Date: 2009-06-27 13:54:33
I find the application really useful, but there is no slider over the notes to indicate the place that is currently being played, so that's a bit confusing.
However, I'd love to see the option of using an outside hardware (like my Korg SP-250 plugged to the computer) and let Piano Groove check whether I'm playing correctly. Anyway, there's still Synthesia on synthesiagame.com that can do so.

Add your comment (no html):

(will never be published)
Copy this code:
Your Comment:

back to top