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 >
Text File  |  1993-08-15  |  16KB  |  331 lines

  1.    BPM - A tool for measuring the tempo of recorded material. Written 
  2.       by Calvin A. Curtindolph.  Executable file, but not the source 
  3.       code, released into the public domain. 
  4.  
  5.    History
  6.    -------------------------------------------------------------------
  7.    Version 2.5 - 08/16/93:
  8.      The public release version.  Perhaps the last version, since I 
  9.        really don't have the time to put into this anymore.
  10.      Placed visual scale below BPM value and relocated position on screen.
  11.      Version number is displayed on R E A D Y screen and timing screen.
  12.      Added switches: /sample, /time, /noins, /nolog, /comma
  13.      Greatly reduced the amount of time necessary to get a stable 
  14.        tempo (generally 6 beats or 10 seconds) by rewriting a lot of 
  15.        code.
  16.    
  17.    Version 2.4 - 01/02/93:
  18.      Internal version.  Not publicly distributed.
  19.    
  20.    Version 2.3 - 07/14/91:
  21.      Internal version.  Not publicly distributed.
  22.    
  23.    Version 2.2 - 08/19/90:
  24.       Internal version.  Not publicly distributed.
  25.  
  26.    Version 2.1 - 07/01/90 - Improvements and changes:
  27.       Allow a . in place of the : in the song length field 
  28.         (i.e. - 04:31 may be entered as 04.31).  BPM will translate the 
  29.         dot and make it a colon.  The log will contain the time in the 
  30.         correct format.  Now the lazier of us don't have to hit the 
  31.         shift key when entering a time.
  32.       Added the F8 key to the keys in the record information form.  
  33.         This key will blank out the form (except the song length and 
  34.         BPM fields: these will be "00:00" and the computed BPM, 
  35.         respectively).
  36.       Corrected a minor bug: when the log file cannot be opened, the 
  37.         message stating so appears on it's own line.
  38.  
  39.    Version 2.0 - 06/10/90 - Improvements and changes:
  40.       Improved the data entry screen so that you can move back and 
  41.         forth between fields and edit fields more easily.  Artist, 
  42.         year of song, and a few other fields are now retained from 
  43.         song to song to ease data entry. 
  44.       New fields have been added to the record information collected: 
  45.         Length of song, Genre, Hit potential, Media format, 
  46.         LP/collection the song is from. 
  47.       The computed tempo may be overridden when song information is 
  48.         collected. 
  49.       The timing mechanism has changed.  Unfortunately, this did not 
  50.         improve the time to get an accurate measurement, as I had 
  51.         hoped.  Still working on that. 
  52.       Timing can be aborted mid-way by pressing the ESCape key.  
  53.         Obviously, you can no longer use the ESCape key to time a 
  54.         record now. 
  55.       You are asked to confirm whether or not you want to save (or 
  56.         forget about) song information. 
  57.       Hopefully, this documentation is better. 
  58.  
  59.    Version 1.0 - 11/12/88 - Initial release.
  60.  
  61.  
  62.    General Information
  63.    -------------------------------------------------------------------
  64.       BPM was designed to help disk jockeys and anyone else measure
  65.       the tempo (speed) of recordings.
  66.  
  67.       BPM works fairly simply. While the record you want to time is 
  68.       playing, tap a key - any key except ESCape - in tune with the 
  69.       record. After enough time or beats to get a stabilized tempo, 
  70.       the program will beep and then ask you for information on the 
  71.       song.  This info, along with the tempo, will be written to the 
  72.       log file, so you can build a database of songs. If you don't want 
  73.       to log a particular song, simply press ESCape within the 
  74.       information form. 
  75.  
  76.       
  77.    Starting BPM
  78.    -------------------------------------------------------------------
  79.    BPM may be invoked with the following parameters:
  80.    
  81.       BPM  /time m  /sample n  /noins  logfile  /nolog  /comma
  82.    
  83.    The /time switch must be followed by a number (m), which tells BPM
  84.      how many seconds to sample for a BPM estimate.  m must be 5 or 
  85.      greater, else BPM will use 10 seconds.
  86.    The /sample switch must be followed by a number (n), which tells BPM
  87.      how many beats to sample for a BPM estimate.  n must be 2 or 
  88.      greater, else BPM will use 6 beats.
  89.    If both /time and /sample are given, /sample will prevail.  If 
  90.      neither is specified, BPM will sample 6 beats.
  91.    
  92.    The /noins switch supresses the initial display of instructions.
  93.    
  94.    logfile is the name of the log file.  It may include a complete path. 
  95.    The /nolog switch supresses logging.  If it is specified along with a 
  96.      logfile, the logfile is ignored (the /nolog switch will prevail).
  97.    If neither /nolog or a logfile name is specified, a log will be
  98.      written to a file called RECORDS in the current directory.
  99.      
  100.    The /comma switch writes log entries in comma delimited format.  
  101.      The specifics of this format are detailed later.
  102.    
  103.    Each parameter is optional.  The parameters may be specified in any order.
  104.    
  105.  
  106.    The sequence of events in BPM
  107.    -------------------------------------------------------------------
  108.       After the initial opening screen, BPM will present the screen 
  109.       waiting for you to hit the first beat of your song.  The screen 
  110.       will say  R E A D Y  at this point.  If you press the ESCape key 
  111.       at this point, you will exit the program.
  112.  
  113.       After you have tapped a key to start timing a record, the screen 
  114.       will say  T I M I N G  in flashing letters.  The timing process 
  115.       usually takes 6 beats, but can be changed through the /sample or 
  116.       /time switches.  If you hit ESCape during timing, you will move 
  117.       on to the record information form.
  118.  
  119.       After timing is done or aborted, you will be presented with the 
  120.       record information form.  This form is described in detail below.  
  121.       The screen will display the computed tempo (or the last 
  122.       approximation, if timing was aborted).  There are two ways to 
  123.       exit this step: F2 will exit and record the information in the 
  124.       log file; ESCape will exit, but not record the information.
  125.  
  126.       Once you leave the record information form, you are returned to 
  127.       the  R E A D Y  step to time another song.  Again, if you want to 
  128.       leave the program at this point, hit ESCape at the  R E A D Y  
  129.       step.
  130.  
  131.  
  132.    The Log File, part I
  133.    -------------------------------------------------------------------
  134.       By default, the log file will have the name "records" and will 
  135.       reside in the current directory. You can specify an alternate log 
  136.       file on the command line, like so: 
  137.            BPM FILENAME
  138.  
  139.       The filename may be a complete path name.  A device name is ok, 
  140.       as well -- so you should be able to log directly to the printer 
  141.       with 
  142.            BPM PRN:
  143.       Note that in this example, you really should have your printer 
  144.       set for compressed print -- see the section on the layout of the 
  145.       log file for details.
  146.  
  147.       If BPM cannot open the log file (even the default file - records), 
  148.       a message to that effect will be printed, and logging will be 
  149.       skipped. The same will happen if there is a writing error (such 
  150.       as disk full) in the middle of logging.  If the log file already 
  151.       exists, new records will be appended to the end of the file. 
  152.  
  153.       The layout of the log file is spelled out later in this document.
  154.  
  155.  
  156.    Timing a record
  157.    -------------------------------------------------------------------
  158.       To time (determine the tempo of) a recording, simply start 
  159.       hitting a key in time with the music, starting at the screen 
  160.       that says R E A D Y.  The tempo will adjust, and stabilize to 
  161.       the correct tempo, as you watch.  BPM will arrive at the correct 
  162.       tempo in 6 beats (or in whatever time or beats you specify with 
  163.       the /time or /sample switches).  If you want to halt timing 
  164.       before then, you can press the ESCape button.
  165.  
  166.       In either case, when BPM finishes the timing normally, or when 
  167.       you hit ESCape, you will be presented with the record 
  168.       information form (unless logging is disabled).
  169.  
  170.  
  171.    The record information form
  172.    -------------------------------------------------------------------
  173.       Once you are finished timing a song (either by timing for 6 
  174.       beats, or by hitting ESCape), you are presented with the record 
  175.       information form.  The form looks similar to this:
  176.  
  177.  
  178. Title of Song: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒   Song length:  ▒▒▒▒▒
  179. Artist/Group:  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒   Type/genre:   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  180. Year released: ▒▒▒▒        Hit potential: ▒▒▒   Format:       ▒▒▒▒▒
  181. From LP/Collection: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ BPM:       ▒▒▒
  182.  
  183.  
  184.       You can move from field to field with the up/down arrow keys and 
  185.       the return key.  The PgUp key moves straight to the Title field, 
  186.       and the PgDn key moves straight to the BPM field.  The field 
  187.       you are currently editing will be highlighted. The F8 key will 
  188.       blank out all fields on the form (except the song length and BPM 
  189.       fields: these will be "00:00" and the computed BPM, respectively) 
  190.       and go to the Title field. It is impossible to move to previously 
  191.       timed records. 
  192.  
  193.       Within a field, you can use the left and right arrows to move 
  194.       from character to character.  The backspace key will delete the 
  195.       character to the left of the cursor.  The delete key will delete 
  196.       the character at the cursor.  The ^Backspace (Control-Backspace) 
  197.       key combination will blank out the entire field you are in.  The 
  198.       insert key will insert a space where the cursor is.  The Home 
  199.       key will move to the beginning of the field.  The End key will 
  200.       move to the end of the text in the field.
  201.  
  202.       The F2 key will terminate entry and write the data you've 
  203.       provided to the log file.  You will be asked to confirm that you 
  204.       want to do this.
  205.  
  206.       The ESCape key will terminate entry, but NOT write the data 
  207.       you've provided to the log file.  Again, you will be asked to 
  208.       confirm that you want to do this.
  209.  
  210.       Explanation of the fields
  211.       -------------------------
  212.       Title of Song:  You should enter the title of the song in this 
  213.       field.  It is 30 characters long.
  214.  
  215.       Artist/Group: You should enter the artist or group who performed 
  216.       the recording in this field.  It is also 30 characters long.  
  217.       Starting with the second song timed in a BPM session, this field 
  218.       will contain the same value as previously entered.  That way, 
  219.       you can time an entire album and not have to reenter the artist.  
  220.       You can override the artist if necessary by editing the field.
  221.  
  222.       Song length: You should enter how long the song is in this 
  223.       field.  A default value of 00:00 is offered each time a song is 
  224.       timed.  Validity checking is performed on this field.  It should 
  225.       be in the format 04:35 (4:35 would also be acceptable, but it 
  226.       will be converted to 04:35).  A dot (.) is acceptable in place of 
  227.       the colon (:).  BPM will convert the dot to a colon, though. If 
  228.       you do not know, or don't care to log, the length of the 
  229.       recording, just let the default of 00:00 stand. 
  230.  
  231.       Type/genre: What kind of song this is.  This field is 15 
  232.       characters long.  Like the artist, it is carried over from 
  233.       previous entries.  You can put anything you like here, but my 
  234.       vision are entries such as "R&B", "Rap", "Pop", "Disco", etc.
  235.  
  236.       Year released: The year the song was released.  Numbers only 
  237.       belong here, and BPM will enforce that.  Like the Artist field, 
  238.       it is carried over from record to record.  No range checking is 
  239.       performed, but 4 digits (or nothing) are necessary.  You can 
  240.       tell BPM that a song was recorded in the year 9595, if you like.
  241.  
  242.       Hit potential:  This can be a number from 0 to 999.  It should 
  243.       reflect your idea of the song's hit potential.  You can actually 
  244.       use any scale you want, such as from 0 to 10.  You may even 
  245.       leave the field blank if you wish (I often do).  If this field 
  246.       is blank, it will show up on the log as 0.
  247.  
  248.       Format:  I mean media format here, such as "12in", "LP", "CD", 
  249.       "Cass", etc.  You have 5 characters, and this field is not 
  250.       checked for anything special.  It is, like the Artist name, 
  251.       copied from record to record.  It can be blank, if you wish.
  252.  
  253.       From LP/Collection:  What LP is this song from?  Anything, even 
  254.       a blank, can go here.  This field is 30 characters, and it's 
  255.       copied from record to record.
  256.  
  257.       BPM: The default is whatever the program came up with.  This 
  258.       value can be overridden, as long as the value is 0 or greater 
  259.       (Yes, 999 will be accepted).
  260.  
  261.  
  262.    The format of the log file
  263.    -------------------------------------------------------------------
  264.       The log file is an ASCII file.  Hence, it may be manipulated 
  265.       with a word processor or a program such as Vernon Buerg's SORTF.  
  266.       The log file may also be easily imported into most database and 
  267.       spreadsheet programs.  I do not, nor do I ever plan to, have a 
  268.       utility which processes the log file.  For alphabetizing it, or 
  269.       arranging it in other ways, use one of the above mentioned 
  270.       programs.  If you do use the log file in a word processor, take 
  271.       note that it is far more than 80 columns.  Some word processors 
  272.       will immediately reformat the log file upon reading it.
  273.  
  274.       Records are written to the log file, one record per line, as 
  275.       follows:
  276.       
  277.       Columns    1 -  30 :   Title
  278.       Column          31 :             **BLANK**
  279.       Columns   32 -  61 :   Artist
  280.       Column          62 :             **BLANK**
  281.       Columns   63 -  66 :   BPM
  282.       Column          67 :             **BLANK**
  283.       Columns   68 -  71 :   Year released
  284.       Column          72 :             **BLANK**
  285.       Columns   73 -  77 :   Song length
  286.       Column          78 :             **BLANK**
  287.       Columns   79 -  93 :   Genre/Type
  288.       Column          94 :             **BLANK**
  289.       Columns   95 -  98 :   Hit Potential
  290.       Column          99 :             **BLANK**
  291.       Columns  100 - 104 :   Media format
  292.       Column         105 :             **BLANK**
  293.       Columns  106 - 135 :   From LP/Collection
  294.  
  295.       If it seems that I wanted the log file to be readable as is, you 
  296.       are right.  Also note that version 1 of this program produced 
  297.       the same format, up to column 71 -- the other fields were added 
  298.       starting with version 2.0.  If I add more fields, I will try to 
  299.       also tack them to the end of a line.  This way, if you have a 
  300.       procedure which depends on the line format, you will not be 
  301.       stuck reading the wrong fields (unless you make assumptions 
  302.       about the line length).
  303.  
  304.       If you use the /comma switch, each record will be written on one 
  305.       line with the fields in the same order as above, separated by 
  306.       commas.  Alphabetic fields will be enclosed in quotes (").
  307.       
  308.       
  309.    Epilogue
  310.    -------------------------------------------------------------------
  311.       Version 2.5 will most likely be the last version of BPM.  
  312.       However, if you have questions or comments, I'll be happy to 
  313.       listen.  I can usually be reached on the Executive 
  314.       Region BBS in Chicago (312-267-4749).  My CompuServe account 
  315.       (checked far less frequently) is 72060,3717. You can also mail 
  316.       comments or suggestions to: 
  317.  
  318.                    Calvin A. Curtindolph
  319.                    1340 N. Oakley Blvd.
  320.                    Chicago, IL  60622-3048
  321.  
  322.       I hope that you find this program useful. Note that BPM.EXE,
  323.       but not the source code for this program, is released into the
  324.       public domain.
  325.  
  326.       Enjoy!
  327.  
  328.       Calvin C
  329.  
  330.  
  331.