Latest News

Well, after a long time with nothing happening, I've finally got back to doing some
work on Tete. It was kicked off by the creation of the Open JDK project, in
particular, Gervill which is now the detault synthesizer. Gervill is an open source,
pure Java implementation of the Java Sound API and includes a synthisizer which can use
SoundFont2, Downloadable Sounds, and plain audio files for is synthesis. It removes
the need to download the MIDI soundbank files from Sun. Hurrah! It hopefully gives
you a wider and more realistic set of instruments to play with while working
straight out of the box.

You can find compatible soundbank files around the net. Some examples are:

Along the way I've refactored some code, added bits and pieces here and there and
generally had a clean up. The About Box has been improved to show details of the
available MIDI devices that can be found on the box. In addition I've added a config
screen for setting up the synthesizer for playback.

Background

Tete is an open source ear trainer. Ear training involves learning to recognise
how different combinations of notes sound. It is useful for musicians to allow them
to differentiate between the different combinations of notes that make up music

Tete allows you to select intervals, chords, or scales and play
examples of the selected sounds in a random order. As each is
played it is highlighted in the list. Once you think you can
tell what is playing you can test yourself. A series of
sounds will be played, again at random, and you attempt to identify
what has been played.

You can control how each sound is played back by changing the midi
instrument, the octave range allowable, root note, and whether the
sounds are played ascending or descending. You can also
adjust the length of the notes and the extent to arpeggio the playback.

Why call it Tete?

I live in London, and we British have a terrible habit of dropping random letters from
words. It's just 'ow we are, init? So when I mentioned to a friend that I was training my ear
with a computer program she asked which ear trainer I was using. I replied, pointing
to my screen, "This ear trainer 'ere." It kind of stuck. I'm planning to use any donations
made to the project to hire some management consultants to re-brand it one day.

Installation

Prerequisites

Tete is written in Java and requires the Java Runtime Environment (JRE) version 1.5 or above
from Sun's website. It should run on any
PC running Microsoft Windows or Linux and should also run on most Macs.

If you wish to use the original Sun Synthesizer you will also require a midi soundbank file.
This doesn't come as standard with the JRE due to its size, but should be included with the
JDK if you have it. It can be downloaded
seperately. There are a number of versions of the file. The larger the soundbank file is
the better quality the playback will be. I personally use the
soundbank-delux.gm
file which has much better sounding instruments than the default file. To install this file follow the
instructions on Sun's site.

The program itself

Installint Tete is simply a matter of unziping the distribution file into a directory of your choice. On
Windows you might use c:\Program Files\Tete assuming your installation of Windows is on your
C: drive.

If you have associated jar files with the java runtime you will be able to double click on the tete.jar
file in the directory you unzipped the Tete files into.

Alternatively you can right click on the jar file and select Open with...
and select the java.exe from the JRE 1.5 bin directory which defaults to something like
C:\Program Files\Java\jre1.5.0_XX\bin

If none of the above works, you can use the command line: java -jar tete.jar

Technical Stuff

When I decided to write an ear training program Sun had just released version 1.5 of
the Java language and I had never written a Swing application. I decided to take the opportunity
to kill three birds with one stone, and write Tete using Swing and as many of the new features of
JDK 1.5 as I could squeeze in. There's no technical reason why it couldn't have been done using
JDK 1.4. That would have meant that more people could run it, but I didn't originally expect to
release it to the public. So my appologies to anyone who's inconvenienced, but there you are. It's
free, lighten up.