kasiminicholsraphaelautomaticfingering libre

2
A SIMP GENERATIO Alia Al Kasimi Dept. of Computer Science Indiana Univ. [email protected] ABSTRACT We present a novel method for assign in a polyphonic piano score. Such a “fingering”) is of great use to accommodate performers’ unique han our method relies on a simple, u function. We use dynamic programm space of all possible fingerings for th under this cost function. Despite the algorithm we achieve reasonable and u 1. INTRODUCTIO Several different algorithms have recent decades for automatic gene instrument fingerings [1,2,3,4,5]. We this previous work in two ways. Firs the nature of most piano music, our polyphonic input – the lack of a polyp the literature is lamented in [2]. Sec the solution in an elegant manner th implementation and computation. 2. AUTOMATIC FINGERING 2.1. Representation of Solution Space Beginning with a symbolic represent score, we generate a trellis graph 1 w each time point where a note begins each layer a set of nodes represe fingerings for the notes sounding at th Figure 1. Trellis Graph of Sol 1 A trellis graph is a multilayer dire where nodes are only connected betwe © 2007 Austrian Computer Society (OCG). PLE ALGORITHM FOR AUTOMAT ON OF POLYPHONIC PIANO FING Eric Nichols Chris Dept. Of Computer Science Indiana Univ. [email protected] Scho In craph ning fingers to notes mapping (called a o performers. To nd shapes and sizes, user-adjustable cost ming to search the he optimal fingering e simplicity of the useful results. ON been proposed in eration of musical propose to build on st, in keeping with r algorithm handles phonic algorithm in cond, we formulate hat facilitates rapid G ALGORITHM tation of a musical with one layer for s or ends, and for enting all possible hat time point. lution Space ected acyclic graph een adjacent layers. The numbers correspond to fin the thumb and ‘5’ is the little possible fingerings as follows: 1. Within each node, fing from lowest pitch to highest pi 2. The same finger must persists (no finger substitution 3. Each finger may only de Each path from ‘start’ to the ‘e solution. A weight (cost) is as between nodes in the graph, a used to compute the optimal fi Previous monophonic fin used a cost function based o between two notes. We call th extend it to the polyphonic introduce the vertical cost qua fingers involved in playing a of transitioning between two horizontal and vertical costs. 2.2. Vertical Cost The vertical cost depends on t that are present at a given poin always rewrite polyphonic m chords by using the tie symbol Figure 2. Excerpt from Au op.12) by Schumann Figure 3. Vertical analysis To compute the vertical c decompose the fingering in th of notes. For example, in the associated fingering 1-3-5, we A (1-3) and A-C (3-5). Each pa which two fingers are involved the two notes being played, yie c v (p,d) gives the cost for playi distance d with a particular pai i v n Cost ) ( TIC GERINGS stopher Raphael ool of Informatics ndiana Univ. [email protected] ngers, where ‘1’ represents e finger. We constrain the : gers are assigned in order itch (no crossover). be used as long as a note n is allowed). epress one note. end’ is a possible fingering ssigned to each connection nd the Viterbi algorithm is ingering sequence. ngering approaches have on the stretch in the hand his the horizontal cost and c case. Additionally, we antifying the spread of the particular chord. The cost nodes is the sum of the the combination of pitches nt in time. Note that we can music as a collection of l (Figures 2 and 3): ufschwung (Phantasiestuck of the same excerpt cost of a node, we first he node into adjacent pairs F Major triad F-A-C with e consider the two pairs F- air’s cost is determined by d and the distance between elding the node cost: (1) ing two notes separated by ir p of fingers. = = pairs k k v d P c # 1 ) , (

Upload: chkven76167

Post on 01-Oct-2015

213 views

Category:

Documents


0 download

DESCRIPTION

scientific paper

TRANSCRIPT

  • A SIMPLGENERATIO

    Alia Al Kasimi Dept. of Computer Science

    Indiana Univ. [email protected]

    ABSTRACT We present a novel method for assigniin a polyphonic piano score. Such a fingering) is of great use to accommodate performers unique handour method relies on a simple, usfunction. We use dynamic programmspace of all possible fingerings for theunder this cost function. Despite thealgorithm we achieve reasonable and u

    1. INTRODUCTIOSeveral different algorithms have brecent decades for automatic geneinstrument fingerings [1,2,3,4,5]. We pthis previous work in two ways. Firsthe nature of most piano music, our polyphonic input the lack of a polypthe literature is lamented in [2]. Secthe solution in an elegant manner thimplementation and computation.

    2. AUTOMATIC FINGERING 2.1. Representation of Solution Space

    Beginning with a symbolic representascore, we generate a trellis graph1 weach time point where a note beginseach layer a set of nodes represenfingerings for the notes sounding at tha

    Figure 1. Trellis Graph of Solu

    1 A trellis graph is a multilayer dire

    where nodes are only connected betwe 2007 Austrian Computer Society (OCG).

    PLE ALGORITHM FOR AUTOMATION OF POLYPHONIC PIANO FING

    Eric Nichols ChrisDept. Of Computer Science

    Indiana Univ. [email protected]

    SchooIn

    crapha

    gning fingers to notes a mapping (called a to performers. To and shapes and sizes, user-adjustable cost

    mming to search the the optimal fingering the simplicity of the d useful results.

    ION e been proposed in neration of musical e propose to build on irst, in keeping with ur algorithm handles lyphonic algorithm in econd, we formulate that facilitates rapid

    G ALGORITHM

    ntation of a musical with one layer for

    ins or ends, and for senting all possible that time point.

    olution Space

    irected acyclic graph ween adjacent layers.

    The numbers correspond to finthe thumb and 5 is the littlepossible fingerings as follows:

    1. Within each node, fingfrom lowest pitch to highest pit

    2. The same finger must persists (no finger substitution

    3. Each finger may only deEach path from start to the esolution. A weight (cost) is asbetween nodes in the graph, anused to compute the optimal fin

    Previous monophonic fingused a cost function based onbetween two notes. We call thiextend it to the polyphonicintroduce the vertical cost quafingers involved in playing a pof transitioning between two horizontal and vertical costs.

    2.2. Vertical Cost

    The vertical cost depends on tthat are present at a given poinalways rewrite polyphonic mchords by using the tie symbol

    Figure 2. Excerpt from Aufop.12) by Schumann

    Figure 3. Vertical analysis o

    To compute the vertical cdecompose the fingering in theof notes. For example, in the Fassociated fingering 1-3-5, we A (1-3) and A-C (3-5). Each pawhich two fingers are involvedthe two notes being played, yie

    cv(p,d) gives the cost for playidistance d with a particular pair

    iv nCost )(

    ATIC NGERINGS

    ristopher Raphael hool of Informatics

    Indiana Univ. [email protected]

    fingers, where 1 represents ttle finger. We constrain the s:

    ingers are assigned in order pitch (no crossover).

    be used as long as a note on is allowed). depress one note. end is a possible fingering assigned to each connection , and the Viterbi algorithm is fingering sequence. fingering approaches have on the stretch in the hand this the horizontal cost and nic case. Additionally, we uantifying the spread of the a particular chord. The cost o nodes is the sum of the

    n the combination of pitches int in time. Note that we can music as a collection of

    l (Figures 2 and 3):

    ufschwung (Phantasiestuck

    is of the same excerpt

    l cost of a node, we first the node into adjacent pairs e F Major triad F-A-C with e consider the two pairs F-

    pairs cost is determined by ed and the distance between

    yielding the node cost:

    (1)

    aying two notes separated by air p of fingers.

    =

    =

    pairs

    kkv dPc

    #

    1),(

  • 2.3. Horizontal Cost

    The horizontal cost between two nodes is defined to be the average transition cost taking into account all pairs of notes consisting of one note from each chord:

    =ba njnihbah djicNnnCost

    ,

    ),(1)( (2)

    Specifically, in Figure 4, the horizontal cost ch(p,d) is the sum of the costs for transitioning from C to F, C to A, E to F, E to A, G to F, and G to A, divided by 6.

    Figure 4. Horizontal cost example

    One might expect that ch and cv are equivalent after all, playing an ascending third (e.g. C up to E) with fingers 1 and 3 is just as easy as playing C and E simultaneously. However, there are two situations where this is not true. First, hand motion is allowed between the notes in horizontal cost. Second, if the direction of motion is reversed, a crossover occurs and difficulty increases.

    In our implementation we ignore the first of these problems, and set ch=cv. In the case of a crossover situation, however, ch is defined by a separate function. Crossovers involving the thumb are assigned lower cost.

    2.4. User Specification of Cost Functions

    In order to generate fingerings tailored to a specific user, we ask the user a series of questions about the difficulty of playing various intervals with particular pairs of fingers. The responses are used to define cost functions cv and ch for each pair of fingers. Each cost function has the same general shape as the example in Figure 5, which represents all possible costs of stretches involving fingers 2 and 5. In this example, the user has specified the following information:

    The smallest interval that is easily playable by fingers 2 and 5 is 4 half steps (smaller intervals result in uncomfortable compression of the hand).

    The comfort zone lies between 4 and 7 half steps. After eleven half steps the stretch is nearly

    impossible.

    Figure 5. Cost function cv for finger pair 2,5

    3. RESULTS

    We tested our system on several different music excerpts and considering the simplicity of the approach we are pleased that this algorithm generates quite plausible polyphonic piano fingerings. Additional improvements would include allowing finger substitution during a sustained note and modelling the difference between white and black keys. We also would like to extend the system to determine which hand (left or right) should play each note. See Figure 6 for sample output.

    4. REFERENCES

    [1] Hart, M., Bosch, R., & Tsai, E. (2000). Finding Optimal Piano Fingerings. The UMAP Journal, 21(2), 167-177.

    [2] Lin, C. And Liu, D. An Intelligent Virtual Piano Tutor. Proceedings of VRCIA 2006. 353-356. Hong Kong, June 14-17, 2006.

    [3] Parncutt, R., Sloboda, J. A., Clarke, E. F., Raekallio, M., & Desain, P. (1997). An Ergonomic Model of Keyboard Fingering for Melodic Fragments. Music Perception, 14(4), 341-382.

    [4] Radicioni et. al. A segmentation-based prototype to compute string instruments fingering. Proceedings of the Conference of Interdisciplinary Musicology (CIM04). Graz, Austria, April 15-18, 2004.

    [5] Sayegh, S. (1989). Fingering for String Instruments with the Optimal Path Paradigm. Computer Music Journal. 13(3), 76-84.

    Figure 6. System output: Excerpt from Ellmenreichs Spinning Song

    Cost of Stretch Between Fingers 2 and 5

    02468

    1012

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    Distance in Half-Steps

    Cost

    t