File:  [Synchronet] / sbbs / tone / example.ton
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:37:52 2018 UTC (8 years, 3 months ago) by root
Branches: digitaldynamics, MAIN
CVS tags: v3_00c, v2_30b, HEAD
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



unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.