PLAYSCORE(1) — UNIX Programmer’s Manual
NAME
playscore − play a scorefile
SYNOPSIS
playscore -fqd -c <soundfile> -w <soundfile>
DESCRIPTION
Plays the specified scorefile on the DSP and MIDI. If the scorefile isn’t found in the current directory and it isn’t given as a full path name, the following directories are searched:
~/Library/Music/Scores
/LocalLibrary/Music/Scores
/NextLibrary/Music/Scores
OPTIONS
−f Fast; normally, playscore reads the entire scorefile before playing; with the f option, notes are played as soon as they are read from the file. This reduces start up time, but can also cause playback to be less reliable.
−q Quiet; error and warning messages are suppressed.
−d Debug; allocate space (on the DSP) for the DSP debugger.
−w <soundfile>
Write as samples; the DSP sample output is written to the named soundfile. The ’.snd’ extension is automatically appended to the file name.
−c <soundfile>
Write as commands; the DSP commands are written to the named soundfile. The ’.snd’ extension is automatically appended to the file name.
−r <repeatCount>
Repeat; play the file <repeatCount> times.
INSTRUMENTS
The playscore program has access to the following instruments:
Pluck Plucked string synthesis.
Wave1i
Wave table synthesis.
Wave1vi
Wave table synthesis with vibrato.
DBWave1vi
Wave table synthesis with vibrato and access to the timbre data base.
DBWave2vi
Like DBWave1vi, but with interpolation between two wave tables.
Fm1i Frequency modulation synthesis with arbitrary waveform.
Fm1vi
Frequency modulation synthesis with arbitrary waveform and vibrato.
DBFm1vi
Frequency modulation with vibrato and access to the timbre data base.
Fm2pvi
Frequency modulation with two parallel modulators and vibrato.
Fm2cvi
Frequency modulation synthesis with two cascaded modulators and vibrato.
Fm2pnvi
Like Fm2pvi, but with an additional noise modulator.
Fm2cnvi
Like Fm2cvi, but with an additional noise modulator.
Wave1, Wave1v, DBWave1v, Fm1v, Fm1
These are like the corresponding patches described above, but they use a non−interpolating oscillator. This allows more simultaneous voices, but at lower sound−quality.
Simp The simplest instrument: a single, non−interpolating sine wave oscillator.
midi0 MIDI output on serial port A.
midi1 (midi)
MIDI output on serial port B; "midi" is a synonym for "midi1"
THE SCOREFILE INFO STATEMENT
playscore decides which instrument to use, as well as other configuration information, based on the info statements in the scorefile. The following scorefile info statement parameters are recognized:
headroom
Headroom is a fractional number in the range -1 < = f <= 1 that determines how DSP resources are allocated. As the headroom is decreased, the DSP becomes "bigger" but at the cost of decreased reliability (generally heard as degraded rhythmic integrity). Increasing the headroom makes synthesis more reliable, but you may decrease the number of simultaneous voices (the DSP becomes "smaller"). The default is 0.
samplingRate
This should be 44100 or 22050. The default is 22050.
tempo
The tempo is in beats per minute; the default is 60.0.
midiOffset
This is a time offset in seconds for notes that are sent to an external MIDI synthesizer. It’s used to adjust synchronization between MIDI and the DSP. Its value can be negative (shift MIDI notes ahead with respect to DSP synthesis) or positive (delay MIDI vis a vis the DSP)..
THE PART INFO STATEMENT
Part info statements provide information that’s applied to a particular part in the scorefile. The following part info statement parameters are recognized:
synthPatch
This sets the instrument for the part; you must quote the instrument name, as taken from the instrument list given above. For example,
synthPatch:"Pluck"
synthPatchCount
This is the number of preallocated instruments (simultaneous voices); if it’s omitted, the instruments are allocated as they’re needed. The SynthPatch count is significant for DSP instruments only.
midiChan
This is the MIDI channel on which the part’s notes are sent. The value must be an integer between 1 and 16, inclusive. The MIDI channel is significant for MIDI instruments only.
FILES
Example scorefiles are found in /NextLibrary/Music/Scores. You may copy these files to your directory and modify them with a Music Kit program or a text editor. There are two types of files. Files of the form Examp∗ or ∗Examp∗ are tutorial examples which illustrate the use of the software instruments. Other files, such as Emma.playscore and Gamelan.playscore are short demo pieces.
SEE ALSO
See the "Sound, Music and the DSP" manuals for general information about scorefiles, DSP software instruments, and MIDI.
DIAGNOSTICS
Exit status is 0 on success, 1 if there is a problem opening the DSP or parsing the file.
BUGS
Large chords (exactly simultaneous notes) may cause timing problems. It’s better to separate them by some small amount of time. This is particularly true when doing wave table synthesis. Frequent changes of wave tables can cause the music to become uneven. Very fast musical passages may also be problematic. In some cases, putting a one-beat rest at the start of the scorefile may be helpful. Playback may become unreliable if your computer is heavily loaded with other tasks. For scores that are too dense or complex to play in real time, try using the −c or −w flag and then play the resulting soundfile.
4th Berkeley Distribution — 11 April 1990