|
|
2.30b OS/2
: Example TONE (.TON) file All lines starting with non-alphanumeric characters are ignored. : We're going to set the timer count value (in milliseconds). The first word of the line must begin with a 'T' (not case sensitive). Following the 'T' word (or letter) must be some amount of white space (tabs or space) then a number to use for the timer count value. The default timer count value is 1 millisecond. Time 200 : The colons you see at the beginning of the comment paragraphs are not necessary. They are only used to visually separate comments from tone command lines. A space, tab, or any other non-alphanumeric character would work just as well. : Now we're going to display some text on the monitor using the 'V' (visual) command. The first word of the line must begin with a 'V' (not case sensitive). Some amount of white space must follow the 'V' word (or letter) then text to be displayed to the user. If you do not wish a new line to be automatically displayed, append a backslash (\) to the end of the line. Visual This is the beginning of our example TONE file. Visual This text will be displayed on the same line as \ Visual this text. : Now we're going to play some tones. Tones may be specified by note letter (and optional octave number) or exact frequency (in Hz). We'll begin with a natural 'a' (440Hz) for 1 second (1000 milliseconds). Tone lines have two parameters, the note (or exact frequency) and duration (in time counts). Since our time counter value is now 200, we will need a time count of 5 to produce a 1 second duration (5 counts multiplied by 200 milliseconds equals 1 second.) a 5 : The note is still playing right now and will continue to play until we make another tone, give a rest command, or give a quit command. : Notice that we used a lower case 'a'. Note letters ARE case sensitive. Lower case notes are naturals and upper case notes are sharps. : Now we're going to specify the same note by specifying the exact frequency (in HZ) of 440, for the same duration. 440 5 : There will be no audible change caused by the above command because we were already hearing the same frequency. What you will hear is a 2 second 'a', unaware that we actually played two 1 second 'a's. : To stop the note from sounding, we are now going to give a rest command. Rest commands can be specified with a word starting with the letter 'R' (not case sensitive) or by specifying a frequency of 0. Some amount of white space must follow, then a duration (in time counts). The following rest command is specifying 1 second of silence. Rest 5 : To produce an automatic sound-off or pause between notes, we must specify a stacato duration (in milliseconds). This helps the listener to distinguish between notes played of the same frequency. If you do not specify a stacato duration, the result is legato (smooth transition between notes). : The stacato command must begin with the 'S' character (not case sensitive) followed by white space then the duration (in milliseconds). The default duration is 0 (disabled). Stacato 10 : To play notes from octaves other than the default octave (4), you can either change the current default octave (with the Octave command) or specify the octave with the note. To play a low C for 1 second, we will use the following command: c1 5 : When we don't specify the octave number, the default octave is used. To change the default octave number, we can use the following command: Octave 3 Visual Now we will play a C major scale (octave 3): c 2 Comments can follow any command (except Visual) d 2 e 2 f 2 g 2 a 2 b 2 : To adjust the current default octave, we can use the plus (+) and minus (-) symbols: Octave +1 Visual Another C major scale (now in octave 4). c 2 d 2 e 2 f 2 g 2 a 2 b 2 Visual Rest a little Rest 5 : When specifying notes, the sounded frequency is based on a default pitch for middle C. The default starts at 523.50Hz but can be adjusted with the Pitch command. This is useful for created de-tuning or bend effects. The Pitch command can be used to specify a default pitch or adjust the current default pitch up (+) or down (-). Visual Now for a pitch variation example. : Lower timer count value and disable stacto for a smooth transition between pitches Time 40 Stacato 0 : Starting at a3 and ascend gradually. a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 Kind of repetitive, huh? a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 a3 1 p +.10 : Now descend quickly a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 a3 1 p -1.0 : Now we're going to set-up and play a song Visual The Entertainer pitch 323.50 All commands can be abreviated with just one character t 200 s 10 r 10 Rest before we begin :intro o 6 d 1 e 1 c 1 o -1 a 2 b 1 g 1 r 1 d 1 e 1 c 1 o -1 a 2 b 1 g 1 r 1 d 1 e 1 c 1 o -1 a 2 b 1 a 1 G 1 g 2 r 2 g5 1 r 1 : begin o 5 d4 1 D4 1 e4 1 c5 2 e4 1 c5 2 e4 1 c5 3 a3 1 r 1 g3 1 c 1 d 1 D 1 e 1 c 1 d 1 e 2 b4 1 d 2 c 1 r 1 g3 1 r 1 g3 1 r 1 d4 1 D4 1 e4 1 c5 2 e4 1 c5 2 e4 1 c5 3 a3 1 r 1 g3 1 r 1 a4 1 g4 1 F4 1 a4 1 c5 1 e5 2 d5 1 c5 1 b4 1 d5 1 r 1 g3 1 r 1 a3 1 r 1 d4 1 D4 1 e4 1 c5 2 e4 1 c5 2 e4 1 c5 3 a3 1 r 1 g3 1 c 1 d 1 D 1 e 1 c 1 d 1 e 2 b4 1 d 2 c 1 r 1 g3 1 r 1 g3 1 r 1 c 1 d 1 e 1 c 1 d 1 e 2 c 1 d 1 c 1 e 1 c 1 d 1 e 2 c 1 d 1 c 1 e 1 c 1 d 1 e 2 b4 1 d 2 c 1 r 1 g3 1 r 1 a3 1 r 1 : repeat d4 1 D4 1 e4 1 c5 2 e4 1 c5 2 e4 1 c5 3 a3 1 r 1 g3 1 c 1 d 1 D 1 e 1 c 1 d 1 e 2 b4 1 d 2 c 1 r 1 g3 1 r 1 g3 1 r 1 d4 1 D4 1 e4 1 c5 2 e4 1 c5 2 e4 1 c5 3 a3 1 r 1 g3 1 r 1 a4 1 g4 1 F4 1 a4 1 c5 1 e5 2 d5 1 c5 1 b4 1 d5 1 r 1 g3 1 r 1 a3 1 r 1 d4 1 D4 1 e4 1 c5 2 e4 1 c5 2 e4 1 c5 3 a3 1 r 1 g3 1 c 1 d 1 D 1 e 1 c 1 d 1 e 2 b4 1 d 2 c 1 r 1 g3 1 r 1 g3 1 r 1 c 1 d 1 e 1 c 1 d 1 e 2 c 1 d 1 c 1 e 1 c 1 d 1 e 2 c 1 d 1 c 1 e 1 c 1 d 1 e 2 b4 1 d 2 c 1 r 1 g3 1 r 1 c3 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.