One way we can infer the Makam of the Teslim is by comparing its range of notes to the characteristic Makam ranges in Makam List for One Key Signature.mscz
First, the Teslim notes should be sorted from lowest to highest.
Then, these rising notes should be compared, backward and forward, to each Makam.
How well each Makam matches the Teslim is determined by calculating the sum of the absolute differences between the Makam notes and the reordered Teslim notes.
For example, the first measure of the Teslim in CT 1-2 would become the stream of notes (G, A, B, C), which would extend to (G, A, B, C, D) if a D note is played in a later measure.
As this will be one of the functions used in our standardized tester, it should:
take in a music21 Stream and a list of possible Makams (strings) for the Teslim
return a list of Makams (strings) in the order of most closely matching the Teslim to least closely matching the Teslim.
(The returned Makams of these functions should be a subset of the input list of possible Makams)
One way we can infer the Makam of the Teslim is by comparing its range of notes to the characteristic Makam ranges in Makam List for One Key Signature.mscz
For example, the first measure of the Teslim in CT 1-2 would become the stream of notes (G, A, B, C), which would extend to (G, A, B, C, D) if a D note is played in a later measure.
As this will be one of the functions used in our standardized tester, it should: