JTuner - Instructions
What You Need
-
A Java 1.2 Plugin
- You need a Java plugin of at least version 1.2. It seems that
Microsoft's Internet Explorer still ships with version 1.1 by default and this doesn't have
the facilities for accessing the soundcard. Preferably, you should use version 1.4 (or
later) which has some bug fixes in the sound API. You can get the latest Java plugin here.
A Soundcard
- Any modern 16 bit soundcard should work.
A .java.policy file
(if you are running it in a browser) - Access to the soundcard is protected by the Java security mechanism. To allow the
applet to record sound, you need to have the following lines in your .java.policy file:
grant {
permission javax.sound.sampled.AudioPermission "record";
};
This file needs to be called .java.policy and it lives in your home directory
(on Windows 2000/XP this is:
\Documents and Settings\username
and on Windows 95 etc. its just:
C:\
If you don't already have one of these files, you can just download this one. You will need to re-start your browser after creating this file
for it to take effect (if this fails, you may need to re-start the computer).
A Mixer Program
- You need to use a mixer program to select the sound source being used (either
line-in or microphone) and to set the recording volume. Some sort of mixer program is
normally provided with the soundcard.
A Fast(ish) Computer
- The applet was developed on a computer with a 600MHz PIII which is fine under Linux
but too slow when running Windows 2000. The speed of the video card will also make a difference.
A Good Sound Source
- The signal needs to be reasonably loud with a minimum of noise. At the moment, the
applet works very well with an electric guitar plugged directly into the soundcard but I
have had no success so far when using the kind of microphone that comes with most
soundcards. See the section tips below on getting a good signal.
How To Use It
Set up your .java.policy file
- (see above).
Adjust your mixer settings
- select the correct sound source and adjust the input volume. You may need to play
around a bit to get the volume right.
Make sure nothing else is using the soundcard
- If some other program is using the soundcard then you the applet may give you an
error message, or it may just do nothing.
Adjust the soundcard settings
- these are the controls on the top line to the left of the 'on/off' button. You
shouldn't have to touch these, but if your sound source is coming in on one channel, you may
get a better signal by choosing 'stereo' and the correct ('L'eft or 'R'ight) channel. The
slider selects the sampling frequency and the higher the better. Most soundcards should be
happy with the default (48000Hz).
Click the 'On/off' button in the top right
- the text of the button should change to 'on'. If it doesn't, something's wrong and if
you're lucky then the applet will give you an error message. The most likely problem is that
the the policy file isn't set up correctly, or some other program is
using the sound card. If everything's working, you should also get a green light on the
horizontal traffic lights below the top display.
Select the note you want to tune
- There are six buttons E, A, D, G, B and E representing the strings on an ordinary
guitar. The buttons labelled E', A' etc. represent the frequencies one octave above. Click on
the button for the string you want to tune. You can select other frequencies by using the
slider above these buttons or by typing the exact frequency into the box where the frequency
is displayed.
Play the string
- The top part of the display will be centred on the note you are trying to tune to.
The aim is to get the red bar exactly in the centre. If the note you are playing is outside
the range of the display then the green arrow that lights up will show you which way you
should tune the string (arrow pointing right, tune upwards; arrow pointing left, tune
downwards). The horizontal traffic lights show you what the applet is doing: The green light
is lit when the applet is waiting for a note; the yellow one is lit when it has registered
that a note has been played and it is pausing to allow the signal to settle down; when the red
one is lit, then you should see a red bar in the top section of the display showing the
frequency of the note being played.
Auto Mode
- The buttons marked 'AG' and 'AC' select automatic mode. In this mode, the applet
tries to guess which note you are playing and sets the display accordingly. ('AG' restricts the
range to the standard guitar strings and their octaves, 'AC' allows for any semitone interval
as on a piano.) This is the easiest way to use the applet, but it requires a cleaner signal
than the non-automatic mode in order to work properly. When using this mode, it's important to
make sure the traffic light is on green before changing strings. Also, if it doesn't guess the
correct note first time, try again because the applet's ability to guess the note is affected
by the note that was played last.
Scaling
- The slider above the top part of the display on the left (below the soundcard controls)
changes the scale of the display. This can be varied between about 4 octaves and 1/5th of a
semitone. The scale is marked in hundredths of a semitone (cents) and with a good signal it is
accurate to better than half a cent which should be more than adequate for most guitars.
Damping
- The slider above the top part of the display on the right controls how much the
movement of the red bar is damped. Moving it to the left decreases the damping which means
that it will be more responsive as you change the tuning of the string, but is more likely to
skip about due to transient signals.
Waveform Display
The bottom half of the display shows a trace of the signal being measured. This is mainly so
that you can see whether or not you are getting a good input signal but some of the controls
around the display affect the way the tuner works as well.
Threshold
- This is controlled by the two sliders to the left of the lower display. The one
on the far left controls the attack threshold which is the sound level at which the tuner
recognises that a note is being played. The slider next to it controls the decay threshold
which is the the level at which the tuner decides that a note is no longer being played.
The values of these controls are represented by the two horizontal grey lines on the
display. If you have a very quiet signal you may need to reduce both. If you have a very
noisy signal you may need to increase them (but the tuner probably won't work very well if
this is the case).
-
Delay
- This is controlled by the slider above the lower display (below the note
selection buttons). This controls the delay between when a note is recognised (as it
reaches the attack threshold) and when the tuner starts working. This delay is there
because when a string is first struck, the waveform it produces can be very messy and it
takes a fraction of a second for it to settle down. The value of this control is
represented by the vertical grey line on the display (if it is in range). You shouldn't
need to alter this from the default value.
-
Vertical Scaling
- This is controlled by the slider to the right of the lower display and alters
the vertical scaling of the display. If you have a very quiet signal, for example, you
can move this upwards to see the shape of the signal better.
-
Horizontal Scaling
- There are two sliders below the lower display. The top one of these controls
the horizontal scaling of the display. Move it to the right to show more of the signal
being processed.
-
Horizontal Offset
- This is controlled by the slider right at the bottom. If you think of the
display as being a window onto the signal, moving this slider moves the window to show you
a different part of the sample.
Notes
Signal Level
If you don't see a clear trace of the signal (in green) on the lower display then the tuner
won't work. (This is the main reason that this display is there.) Either you are not getting
a signal at all, or it is too quiet.
If the tops and bottoms of the trace are flat, then the signal is so loud that it is
distorting but this doesn't necessarily stop the tuner from working.
If you find the tuner isn't working well, you can try some of the following:
-
If you're using a microphone, make sure there is no other noise in the room as this will
confuse the tuner.
-
Damp the strings that you are not tuning. If they are left free to vibrate they will add
components to the signal, even if you can't hear them.
-
Pluck the string in the middle rather than in the normal position. This tends to produce a
simpler waveform that is easier for the tuner to process.
-
Use the octave harmonic to tune the string, this also tends to produce a simpler waveform.
(To play the octave harmonic, place a finger lightly on the string just above the twelfth
(octave) fret. Pluck the string in the middle of what is left (i.e. a quarter of the way from
the bottom). If the note sounds dull, move the position of your finger slightly until you get
exactly the right spot which might not be directly above the fret depending on how your guitar
is set up.)
-
Watch the traffic lights. This should give you a feel for what the tuner is doing. Red
shows when the tuner is listening, yellow during the delay period and green when it is
actually measuring the frequency.
Tuning
The frequency values used by the selection buttons and the auto-select mode are, according to
my limited understanding, the 'standard' values used for the western musical scale. This scale is
based on a value of 440Hz for the A above middle-C and has a (logarithmically) constant
interval between each semi-tone and with each octave being exactly double the value of the one
below. The selection buttons are based on the 'standard' tuning for
a six-string guitar. If you want to use a different guitar tuning, or a different instrument
or even a different scale (e.g. tempered scale etc.) then send me an email with the names of the notes you want (together
with the frequency values, preferably to three decimal places, if from a different scale) and
I may be able to accommodate them in a future version of the applet.
The tuning of any instrument is a compromise and the 'correct' tuning is whatever sounds best
to the human brain, which can depend on the particular piece of music being played. Unless
you happen to have an implementation of the human brain written in Java, it's probably
impossible to produce an applet that will do the job that a virtuoso musician would do.
Having said that, as a less than competent musician, I have found this program very useful and
with the right input signal I believe it's at least as good as the kind of electronic tuner
you find in a music shop. There are some situations where the applet doesn't work optimally,
particularly when using a microphone, and hopefully this will be remedied in a future release.
Send Me An Email
If you've tried the applet, whether it worked for you or not, I would be
glad to get an email from you. If you can, please
include as much information about the computer and browser you are using so I can find out which
kinds of setup are causing problems. Please note that I may not be able to reply, as this is a
part-time project, but if you include a problem description, I may be able to do something to
cure it in a future release.
|