home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Elysian Archive
/
AmigaElysianArchive.iso
/
sound
/
midi
/
midi.zoo
/
EarPlay.doc
< prev
next >
Wrap
Text File
|
1989-01-16
|
4KB
|
75 lines
EarPlay, for ear training
This is a fairly simple, MIDI keyboard-controlled ear training program
that I wrote for myself in the interest of personal musical development.
I thought perhaps others might find it useful, too.
EarPlay currently gives practice in the recognition of melodic intervals
only, i.e. hearing and identifying intervals in sequence. Later, I'll
add harmonic practice. You have the option of selecting sequences of
one or more intervals to identify, and you may specify any number ("rounds")
of such sequences to practice with.
When you begin the actual practice, the program will play a sequence
of one or more intervals. After hearing the sequence, you should then
play on the keyboard the notes you think you heard. You should not
play the first note, though, as this is the reference note that the
intervals are built on. If you identify all the notes in a sequence
correctly, you should hear a quick beep from your synth. If you get
one wrong, though, you should hear two beeps, and the program will
then repeat the sequence. When you have completed all the rounds in
the session, the program will display an error figure, so that you
can monitor your progress.
When the program is started, the user should see a menu. Immediately
to the left of each menu item there is a letter (possibly with a '#')
that indicates the note to be played to select that menu item. It
does not matter in which octave the note is played. When the note
is recognized as a valid selection, further action takes place,
depending.
If the menu item implies a numerical input (e.g. set tempo),
a sub-menu will appear at the top of the screen. Playing the indicated
notes (again, octave is immaterial) will increment or decrement the
displayed numerical value, as shown in the sub-menu. Tweaking the
pitch-bend wheel/lever (hopefully, your keyboard has one) will register
the current value and return you to the main menu.
If the menu item puts up a new menu of specific options (e.g. scale
mode), simply play the note adjacent to the desired item, as with
the main menu.
You may type a ctrl-C on your Amiga's keyboard at any time to abort
the program.
There are a few problems which may occur due to synthesizer specifics.
The beep used to indicate a correct or incorrect response is played
at MIDI note 127. If your synth does not respond to a note this high,
you won't hear any beeps. I'm not sure what to do about this, except
perhaps to have the Amiga do the beeping. Also, the program sends
a MIDI "local off" message to the synthesizer, so that all note echo
is controlled by the program. If your synthesizer ignores this message,
you should disable local echo manually before starting the program.
One other thing: I suggest using a synth patch that has fairly quick
attack and decay times and is not too harmonically dense.
It's quite possible that I've missed something here, and that you will
have questions and/or suggestions. My Plink ID is UMM, and can be
reached on the arpanet at 'pmy@virginia.edu'. Have fun!
This program was written in JForth and target-compiled with JForth's
new target compiler, CLONE (coming soon with JForth ver. 2.0). All
MIDI management is handled by routines in version 2.0 of Bill Barton's
PD midi.library. You must have v2.0 to run this program.
--------------------------------------------------------------------------
Copyright (c) 1989 by Peter M. Yadlowsky, all rights reserved.
Permission to use, copy, modify, and/or distribute this software and its
documentation for any purpose and without fee is hereby granted, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation. This software is provided as is, without express or
implied warranty.
--------------------------------------------------------------------------