A literal performance is one in which no aesthetic interpretation is given to a musical object. The function perform in fact yields a literal performance; aesthetic nuances must be expressed explicitly using note and phrase attributes.
There are many musical objects whose literal performances we expect to be equivalent. For example, the following two musical objects are certainly not equal as data structures, but we would expect their literal performances to be identical:
One of the most useful things we can do with this notion of equivalence is establish the validity of certain transformations on musical objects. A transformation is valid if the result of the transformation is equivalent (in the sense defined above) to the original musical object; i.e. it is "meaning preserving."
The most basic of these transformation we treat as axioms in an algebra of music. For example:
Axiom
For any r1, r2, r3, r4, and m:
To prove this axiom, we use conventional equational reasoning (for clarity we omit imap and simplify the context to just dt):
Here is another useful transformation and its validity proof (for clarity in the proof we omit imap and simplify the context to just (t,dt)):
Axiom
For any r1, r2, m1, and m2:
In other words, tempo scaling distributes over sequential composition.
An even simpler axiom is given by:
Axiom
For any r and m:
In other words, unit tempo scaling is the identity.
Note that the above proofs, being used to establish axioms, all involve the definition of perform. In contrast, we can also establish theorems whose proofs involve only the axioms. For example, Axioms 1, 2, and 3 are all needed to prove the following:
Theorem
For any r1, r2, m1, and m2:
![]() Figure 9: Equivalent Phrases
|
Many other interesting transformations of Haskore musical objects can be stated and proved correct using equational reasoning. We leave as an exercise for the reader the proof of the following axioms (which include the above axioms as special cases).
Axiom
Tempo is multiplicative and Transpose is
additive. That is, for any r1, r2, r3, r4,
p, and m:
Axiom
Function composition is commutative with respect to both tempo
scaling and transposition. That is, for any r1, r2,
r3, r4, p1 and p2:
Axiom
Tempo scaling and transposition are distributive over both
sequential and parallel composition. That is, for any r1,
r2, p, m1, and m2:
Axiom
Sequential and parallel composition are associative. That is,
for any m0, m1, and m2:
Axiom
Parallel composition is commutative. That is, for any m0
and m1:
Axiom
Rest 0 is a unit for Tempo and Trans, and a
zero for sequential and parallel composition. That is, for any
r1, r2, p, and m:
Exercise
Establish the validity of each of the above axioms.