home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio 4.94 - Over 11,000 Files
/
audio-11000.iso
/
msdos
/
sndbords
/
sndblstr
/
bpm25
/
bpm.doc
< prev
next >
Wrap
Text File
|
1993-08-15
|
16KB
|
331 lines
BPM - A tool for measuring the tempo of recorded material. Written
by Calvin A. Curtindolph. Executable file, but not the source
code, released into the public domain.
History
-------------------------------------------------------------------
Version 2.5 - 08/16/93:
The public release version. Perhaps the last version, since I
really don't have the time to put into this anymore.
Placed visual scale below BPM value and relocated position on screen.
Version number is displayed on R E A D Y screen and timing screen.
Added switches: /sample, /time, /noins, /nolog, /comma
Greatly reduced the amount of time necessary to get a stable
tempo (generally 6 beats or 10 seconds) by rewriting a lot of
code.
Version 2.4 - 01/02/93:
Internal version. Not publicly distributed.
Version 2.3 - 07/14/91:
Internal version. Not publicly distributed.
Version 2.2 - 08/19/90:
Internal version. Not publicly distributed.
Version 2.1 - 07/01/90 - Improvements and changes:
Allow a . in place of the : in the song length field
(i.e. - 04:31 may be entered as 04.31). BPM will translate the
dot and make it a colon. The log will contain the time in the
correct format. Now the lazier of us don't have to hit the
shift key when entering a time.
Added the F8 key to the keys in the record information form.
This key will blank out the form (except the song length and
BPM fields: these will be "00:00" and the computed BPM,
respectively).
Corrected a minor bug: when the log file cannot be opened, the
message stating so appears on it's own line.
Version 2.0 - 06/10/90 - Improvements and changes:
Improved the data entry screen so that you can move back and
forth between fields and edit fields more easily. Artist,
year of song, and a few other fields are now retained from
song to song to ease data entry.
New fields have been added to the record information collected:
Length of song, Genre, Hit potential, Media format,
LP/collection the song is from.
The computed tempo may be overridden when song information is
collected.
The timing mechanism has changed. Unfortunately, this did not
improve the time to get an accurate measurement, as I had
hoped. Still working on that.
Timing can be aborted mid-way by pressing the ESCape key.
Obviously, you can no longer use the ESCape key to time a
record now.
You are asked to confirm whether or not you want to save (or
forget about) song information.
Hopefully, this documentation is better.
Version 1.0 - 11/12/88 - Initial release.
General Information
-------------------------------------------------------------------
BPM was designed to help disk jockeys and anyone else measure
the tempo (speed) of recordings.
BPM works fairly simply. While the record you want to time is
playing, tap a key - any key except ESCape - in tune with the
record. After enough time or beats to get a stabilized tempo,
the program will beep and then ask you for information on the
song. This info, along with the tempo, will be written to the
log file, so you can build a database of songs. If you don't want
to log a particular song, simply press ESCape within the
information form.
Starting BPM
-------------------------------------------------------------------
BPM may be invoked with the following parameters:
BPM /time m /sample n /noins logfile /nolog /comma
The /time switch must be followed by a number (m), which tells BPM
how many seconds to sample for a BPM estimate. m must be 5 or
greater, else BPM will use 10 seconds.
The /sample switch must be followed by a number (n), which tells BPM
how many beats to sample for a BPM estimate. n must be 2 or
greater, else BPM will use 6 beats.
If both /time and /sample are given, /sample will prevail. If
neither is specified, BPM will sample 6 beats.
The /noins switch supresses the initial display of instructions.
logfile is the name of the log file. It may include a complete path.
The /nolog switch supresses logging. If it is specified along with a
logfile, the logfile is ignored (the /nolog switch will prevail).
If neither /nolog or a logfile name is specified, a log will be
written to a file called RECORDS in the current directory.
The /comma switch writes log entries in comma delimited format.
The specifics of this format are detailed later.
Each parameter is optional. The parameters may be specified in any order.
The sequence of events in BPM
-------------------------------------------------------------------
After the initial opening screen, BPM will present the screen
waiting for you to hit the first beat of your song. The screen
will say R E A D Y at this point. If you press the ESCape key
at this point, you will exit the program.
After you have tapped a key to start timing a record, the screen
will say T I M I N G in flashing letters. The timing process
usually takes 6 beats, but can be changed through the /sample or
/time switches. If you hit ESCape during timing, you will move
on to the record information form.
After timing is done or aborted, you will be presented with the
record information form. This form is described in detail below.
The screen will display the computed tempo (or the last
approximation, if timing was aborted). There are two ways to
exit this step: F2 will exit and record the information in the
log file; ESCape will exit, but not record the information.
Once you leave the record information form, you are returned to
the R E A D Y step to time another song. Again, if you want to
leave the program at this point, hit ESCape at the R E A D Y
step.
The Log File, part I
-------------------------------------------------------------------
By default, the log file will have the name "records" and will
reside in the current directory. You can specify an alternate log
file on the command line, like so:
BPM FILENAME
The filename may be a complete path name. A device name is ok,
as well -- so you should be able to log directly to the printer
with
BPM PRN:
Note that in this example, you really should have your printer
set for compressed print -- see the section on the layout of the
log file for details.
If BPM cannot open the log file (even the default file - records),
a message to that effect will be printed, and logging will be
skipped. The same will happen if there is a writing error (such
as disk full) in the middle of logging. If the log file already
exists, new records will be appended to the end of the file.
The layout of the log file is spelled out later in this document.
Timing a record
-------------------------------------------------------------------
To time (determine the tempo of) a recording, simply start
hitting a key in time with the music, starting at the screen
that says R E A D Y. The tempo will adjust, and stabilize to
the correct tempo, as you watch. BPM will arrive at the correct
tempo in 6 beats (or in whatever time or beats you specify with
the /time or /sample switches). If you want to halt timing
before then, you can press the ESCape button.
In either case, when BPM finishes the timing normally, or when
you hit ESCape, you will be presented with the record
information form (unless logging is disabled).
The record information form
-------------------------------------------------------------------
Once you are finished timing a song (either by timing for 6
beats, or by hitting ESCape), you are presented with the record
information form. The form looks similar to this:
Title of Song: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Song length: ▒▒▒▒▒
Artist/Group: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Type/genre: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒
Year released: ▒▒▒▒ Hit potential: ▒▒▒ Format: ▒▒▒▒▒
From LP/Collection: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ BPM: ▒▒▒
You can move from field to field with the up/down arrow keys and
the return key. The PgUp key moves straight to the Title field,
and the PgDn key moves straight to the BPM field. The field
you are currently editing will be highlighted. The F8 key will
blank out all fields on the form (except the song length and BPM
fields: these will be "00:00" and the computed BPM, respectively)
and go to the Title field. It is impossible to move to previously
timed records.
Within a field, you can use the left and right arrows to move
from character to character. The backspace key will delete the
character to the left of the cursor. The delete key will delete
the character at the cursor. The ^Backspace (Control-Backspace)
key combination will blank out the entire field you are in. The
insert key will insert a space where the cursor is. The Home
key will move to the beginning of the field. The End key will
move to the end of the text in the field.
The F2 key will terminate entry and write the data you've
provided to the log file. You will be asked to confirm that you
want to do this.
The ESCape key will terminate entry, but NOT write the data
you've provided to the log file. Again, you will be asked to
confirm that you want to do this.
Explanation of the fields
-------------------------
Title of Song: You should enter the title of the song in this
field. It is 30 characters long.
Artist/Group: You should enter the artist or group who performed
the recording in this field. It is also 30 characters long.
Starting with the second song timed in a BPM session, this field
will contain the same value as previously entered. That way,
you can time an entire album and not have to reenter the artist.
You can override the artist if necessary by editing the field.
Song length: You should enter how long the song is in this
field. A default value of 00:00 is offered each time a song is
timed. Validity checking is performed on this field. It should
be in the format 04:35 (4:35 would also be acceptable, but it
will be converted to 04:35). A dot (.) is acceptable in place of
the colon (:). BPM will convert the dot to a colon, though. If
you do not know, or don't care to log, the length of the
recording, just let the default of 00:00 stand.
Type/genre: What kind of song this is. This field is 15
characters long. Like the artist, it is carried over from
previous entries. You can put anything you like here, but my
vision are entries such as "R&B", "Rap", "Pop", "Disco", etc.
Year released: The year the song was released. Numbers only
belong here, and BPM will enforce that. Like the Artist field,
it is carried over from record to record. No range checking is
performed, but 4 digits (or nothing) are necessary. You can
tell BPM that a song was recorded in the year 9595, if you like.
Hit potential: This can be a number from 0 to 999. It should
reflect your idea of the song's hit potential. You can actually
use any scale you want, such as from 0 to 10. You may even
leave the field blank if you wish (I often do). If this field
is blank, it will show up on the log as 0.
Format: I mean media format here, such as "12in", "LP", "CD",
"Cass", etc. You have 5 characters, and this field is not
checked for anything special. It is, like the Artist name,
copied from record to record. It can be blank, if you wish.
From LP/Collection: What LP is this song from? Anything, even
a blank, can go here. This field is 30 characters, and it's
copied from record to record.
BPM: The default is whatever the program came up with. This
value can be overridden, as long as the value is 0 or greater
(Yes, 999 will be accepted).
The format of the log file
-------------------------------------------------------------------
The log file is an ASCII file. Hence, it may be manipulated
with a word processor or a program such as Vernon Buerg's SORTF.
The log file may also be easily imported into most database and
spreadsheet programs. I do not, nor do I ever plan to, have a
utility which processes the log file. For alphabetizing it, or
arranging it in other ways, use one of the above mentioned
programs. If you do use the log file in a word processor, take
note that it is far more than 80 columns. Some word processors
will immediately reformat the log file upon reading it.
Records are written to the log file, one record per line, as
follows:
Columns 1 - 30 : Title
Column 31 : **BLANK**
Columns 32 - 61 : Artist
Column 62 : **BLANK**
Columns 63 - 66 : BPM
Column 67 : **BLANK**
Columns 68 - 71 : Year released
Column 72 : **BLANK**
Columns 73 - 77 : Song length
Column 78 : **BLANK**
Columns 79 - 93 : Genre/Type
Column 94 : **BLANK**
Columns 95 - 98 : Hit Potential
Column 99 : **BLANK**
Columns 100 - 104 : Media format
Column 105 : **BLANK**
Columns 106 - 135 : From LP/Collection
If it seems that I wanted the log file to be readable as is, you
are right. Also note that version 1 of this program produced
the same format, up to column 71 -- the other fields were added
starting with version 2.0. If I add more fields, I will try to
also tack them to the end of a line. This way, if you have a
procedure which depends on the line format, you will not be
stuck reading the wrong fields (unless you make assumptions
about the line length).
If you use the /comma switch, each record will be written on one
line with the fields in the same order as above, separated by
commas. Alphabetic fields will be enclosed in quotes (").
Epilogue
-------------------------------------------------------------------
Version 2.5 will most likely be the last version of BPM.
However, if you have questions or comments, I'll be happy to
listen. I can usually be reached on the Executive
Region BBS in Chicago (312-267-4749). My CompuServe account
(checked far less frequently) is 72060,3717. You can also mail
comments or suggestions to:
Calvin A. Curtindolph
1340 N. Oakley Blvd.
Chicago, IL 60622-3048
I hope that you find this program useful. Note that BPM.EXE,
but not the source code for this program, is released into the
public domain.
Enjoy!
Calvin C