Linear Recurrence Relations in Music
Download
Report
Transcript Linear Recurrence Relations in Music
Linear Recurrence Relations
in Music
By Chris Hall
The Aim of My Project
• The goal was to take a composition by
Beethoven and generate a linear
recurrence relation that best represents
the tonality of the music.
• Sonata No. 1, Op. 12 in D Major
Linear Recurrence Relations
• xn= a1xn-1 + a2xn-2 + … + akxn-k
Premises
• only the melodic line was used; no chords. This
allows the counting of only a single note at a
time.
• The range of notes used was restricted to the
audible range as determined by MIDI: Z128.
• The value of a single note was determined by
MIDI format with middle C being 60. All notes
were sequentially valued based on their pitch
relative to the pitch of the notes immediately
above and below (i.e. if E is 20, D# is 19 and F
is 21).
What was investigated
•
•
•
•
The degree of the recurrence relation
The range for coefficients
The best algorithm for finding the relation
The best-fit solution
Establishing the quality of results
• The standard deviation of the original set of notes was
considered the maximum allowable error for the notes
being generated by the relation.
• The calculated errors considered for comparison were
the square errors of the generated notes from the
original notes.
• The average square error of all the notes generated was
then compared to the standard deviation of the original
note set. Only those errors below the standard deviation
were considered acceptable.
• The highest quality results were considered to be
acceptable results with the farthest distance from the
standard deviation.
The Method
• The first avenue taken was to consider the same number
of equations as unknowns, where the unknowns were
the coefficients of the recurrence relation.
• Like all following methods, MATLAB was used to
generate notes, errors and comparisons.
• The MATLAB program was written to allow the user to
enter in their desired degree of relation (which
corresponds to the number of unknowns). For the sake
of comparison, more than one degree could be entered
at a time.
• The program then produces a series of average square
errors on a graph that correspond to the number of
equations used, the theory behind which will be
discussed a bit later.
The First Program
Using more equations
• In order to vary the number of equations
used, the least squares method was used.
• Because the rank of each matrix was full,
a unique solution could be obtained.
• Moreover, since the function considered
was the sum of the square errors, the
Hessian Matrix of the function was always
a multiple of the product of the matrix with
its transpose.
A simple 4x2 example
fc1 ,c2
a3 c1 a2 c2 a1 2
a4 c1 a3 c2 a2 2
a5 c1 a4 c2 a3 2
a6 c1 a5 c2 a4 2
Take the gradient and solve for zero:
c 1 a 22 a 23 a 24 a 25 c 2 a 1 a 2 a 2 a 3 a 3 a 4 a 4 a 5 a 2 a 3 a 3 a 4 a 4 a 5 a 5 a 6
c 1 a 1 a 2 a 2 a 3 a 3 a 4 a 4 a 5 c 2 a 21 a 22 a 23 a 24 a 1 a 3 a 2 a 4 a 3 a 5 a 4 a 6
Which is:
a 22 a 23 a 24 a 25
a 1 a 2 a 2 a 3 a 3 a 4 a 4 a 5
a 1 a 2 a 2 a 3 a 3 a 4 a 4 a 5
a 21 a 22 a 23 a 24
c1
c2
a 2 a 3 a 3 a 4 a 4 a 5 a 5 a 6
a 1 a 3 a 2 a 4 a 3 a 5 a 4 a 6
A Ac A b
T
T
The Least Squares Solution
Other definitive information
• I know that the point zero is a local
minimum because the Hessian Matrix of
my original function is positive definite.
2
a 22 a 23 a 24 a 25
a 2 a 1 a 3 a 2 a 4 a 3 a 5 a 4
a 2 a 1 a 3 a 2 a 4 a 3 a 5 a 4
a 21 a 22 a 23 a 24
since it is
2A T A
The Discreet Case
• The next path for investigation was to analyze
coefficients with discreet rather than continuous
ranges.
• It should be noted that these ranges included
but were not limited to finite fields.
• Since the notes themselves were elements of
finite range (remember, Z128 ) the ranges for the
coefficient vectors investigated were covered by
the range of the notes
The Discreet Case cont’d
• Another MATLAB program was written that allowed the user to input
a desired range of coefficients and the desired number of equations.
• For reasons to be discussed shortly, only degrees two and three
were used.
• In the degree two case, the square errors were calculated in arrays
for all possible combinations of the range of coefficients and then
stored in a square matrix that was Range(C)xRange(C) for
comparison. The output is the coefficient vector along with the least
square error. A graph is also generated that compares the original
note set along the total number of notes use with the generated
notes.
• The difference in the degree three case was in the storage of the
square errors. In this case, three dimensional storage was required.
The Discreet Program
Output for Range 3 with 10
Equations
Output for Range 3 with 10
Equations
Testing With an Actual Recurrence
Relation
• An actual recurrence relation was written
to test the program.
• When the chosen range covered the range
of the original coefficients, the program
generated the sequence exactly.
Otherwise, it produced a best
approximation.
Test with [1,4,6] as the Coefficient
Vector and a Range of 5 with 7
Equations
Test with [1,4,6] as the Coefficient
Vector and a Range of 7 with 7
Equations
Test with [1,4,6] as the Coefficient
Vector and a Range of 7 with 7
Equations
Future Work
• For more discreet analysis, writing a MATLAB
program that allows for the continual expansion
of the degree should be done.
• Applying the same methods to other, perhaps
less complex, pieces of music (portions of
Pachelbel’s Cannon in D Major, for instance).
• For musical analysis, writing a MATLAB program
that would export the generated notes, replacing
the originals in the original MIDI file. We might
not be producing Beethoven, but it might still be
musically interesting.
References
• Steven J. Leon, Linear Algebra With Applications. 7 ed.
pp.51, 382-383,234-244 (2006).
• C.W. Groetsch and J. Thomas King, Matrix Methods &
Applications. pp.115-118, 283 (1988).
• Carla D. Martin, PhD, James Madison University.
• Ken Schutte, Massachusetts Institute of Technology
• Mei Chen, PhD, The Military College of South Carolina