Sunday, January 24, 2016

Czerny uber alles

I think we should develop a corpus of Czerny's published fingerings and use it as an initial source of ground truth. To assist in this effort we will first flesh out the ideas of editorial conventions and full specifications and use these principals to create an MDC5 (abcDE) with partial input and auto-complete features. Then we see how hard it is to annotate WTC.

Then Op. 821 and The Little Pianist.

Null hypotheses


  1. There is no correlation between gender and fingering preferences.
  2. There is no correlation between hand size and fingering preferences.
  3. There is no correlation between scale fingering preferences and fingering preferences of non-scale musical fragments.
  4. There is no correlation between fingerings of one Parncutt fragment and another.
  5. Editorial fingering suggestions have no effect on fingering preferences.
  6. There is no correlation between fingering preferences and Hanon practice.
  7. There is no correlation between fingering preferences and technical study practice.
  8. There is no correlation between the age of the pianist and fingering preferences.
  9. There is no correlation between average pivot count in subject fingerings and fingering "difficulty" (variability).
  10. There is no correlation between pitch span within a fragment and fingering "difficulty" (variability).

Wednesday, January 20, 2016

2016-01-20 status

Done

Data Collection

  • Created new feature-rich manual data collection tool (formerly MDC5 but now rechristened abcDE) to allow input of partial fingering information.
  • Created detailed help page for same.
  • Defined file format, abcD, and implemented its recognition by the new editor.
  • Defined abcDF grammar for fingering sequences.
  • Created parser for abcDF.
  • Defined public interface to abcDE JavaScript library.
  • Deployed abcDE to nlp.cs.uic.edu.
  • Completed initial descriptive statistics for survey data.
  • Wrote script to identify note-wise fingering "consensus" in Survey I data.

     Doing

    1. Drafting paper for ISMIR 2016 to describe abcDE.
    2. Performing Chi Square analysis of exploratory dataset to correlate abbreviated Parncutt fingerings with gender, reach, age, Hanon usage, technical practice, preparation actions, injury, etc.
    3. Looking at how well selecting fingering a in Exercise A predicts selecting fingering b in Exercise B. That is, do people have common patterns of fingering preference?
    4. Evaluating Tableau for easier (and richer) data visualization. (SQLite support missing for OS X.)

    Struggling

    • What? Me worry?

    Wednesday, December 16, 2015

    2015-12-17 status

    Done

    Data Collection

    • Closed out initial program advance in TEM.
    • Created a number of database views to make survey data easier to process.
    • Created 50 bar charts using R and LaTeX to describe distribution of answers to 50 survey questions.
    • Calculated "course-grained" mean agreement of Parncutt sequences in both Parncutt et al. and in our survey. (Think Fleiss's Kappa with each fingering representing a category, 191 annotators, one example to classify, and no need to worry about chance agreement. Anyway, it made sense to me while I was doing it.)
    • Split 191 complete responses into two datasets ("exploratory" and "validation") for out-of-sample testing in an effort to mitigate effects of data dredging if/when our quest for correlation runs amok.

       Doing

      1. Arranging with BDE for Alex to receive CS 398 credit next term for BowTIE work.
      2. Performing Chi Square analysis of exploratory dataset to correlate abbreviated Parncutt fingerings with gender, reach, age, Hanon usage, technical practice, preparation actions, injury, etc.
      3. Looking at how well selecting fingering a in Exercise A predicts selecting fingering b in Exercise B. That is, do people have common patterns of fingering preference?
      4. Analyzing "consensus" of finger choice that follows abbreviated Parncutt fingering. How arbitrary were these sequences? Can we identify more suitable sequences in our data?
      5. Doing more basic descriptive statistical analysis of survey data.
      6. Evaluating Tableau for easier (and richer) data visualization. (SQLite support missing for OS X. 

      Struggling

      • Can we legitimately treat fingerings as categories? 
      • How can we conflate the unpopular fingerings meaningfully? 
      • Not sure how out-of-sample testing will complicate contemplated ad hoc category definition.

      Data dredge

      As I am about to embark on my quest to find correlation in the data, I am chastened by fears of data dredging. So I propose we do randomized out-of-sample testing. Toward this end, we will split the data into two subsets of approximately equal size.

      The following query gives us the identifiers for subjects who completed both parts of the survey and for whom at least some fingering data were recorded:
      select response_id
      from well_known_subject s
      inner join
      (select distinct subject
      from finger where fingers != '') f
      on s.response_id = f.subject
      We save this query as the "complete_response_id" view. There are 191 such response_ids.
      So we load the "exploratory_response_id" table like so:
      insert into exploratory_response_id
      select response_id
      from complete_response_id
      order by random()
      limit 96
      The 95 response_ids  not included in this table are stored in the "validation_response_id" view:
      select c.response_id
      from complete_response_id c
      where not exists (select response_
      from exploratory_response_id e
      where e.response_id = c.response_id)
      The actual (scrubbed) profile data will remain in the "subject" table. We will create views to provide access to the appropriate data ("exploratory_subject" and "validation_subject"), which will leverage the subject_latexable view of the subject data to use camel-case column names. This makes it unnecessary to remap the column names in R.

      Wednesday, December 2, 2015

      2015-12-02 status

      Done

      Data Collection

      • Paid lottery winner for Survey II and notified UPAY1099 through PEAR of two payments to winners. Received confirmation of receipt from Amazon. 
      • Loaded data from Survey II to SQLite. 
      • Developed workflow to create charts in R and render them in LaTeX. 
      • Did some manual cleanup for "well-known subjects" (people who completed both parts of the survey), on whom we will focus our analysis. (In most conservative interpretation of the protocol, subjects who walk away at any point are discarded, except for two subjects from whom I obtained permission to retain their nearly complete submissions. I manually set the "finished_2" field in the database, so they would be included.) There are 199 such well-known subjects, of whom we have actual fingering data for 191. 

      BowTIE

      • Met with Jackson and helped get his Android "Hello World" working. 
      • Arranged for Alex to come to my meeting with BDE this week to discuss CS 398 credit next term. 

      Doing

      • Relearning R and LaTeX. 
      • Doing basic descriptive statistical analysis of survey data.

      Struggling

      • Upgrade to El Capitan at your peril. Root is no longer root in Mac Land. Broke Perl and LaTeX environment. 
      • Working with Sherice to close out $200 cash advance.

      Thursday, November 19, 2015

      2015-11-19 status

      Done

        Data Collection

        • Paid lottery winner for Survey I.
        • Invited two people who asked for a second chance at Survey I (fingering exercises).
        • Followed up again on Survey II, providing a 21 November deadline. Received 14 responses. So we have 198 full responses to date.
        • Found apparent problem with fingering collection script, so we are missing fingering data from 10 subjects. I suspect a browser incompatibility with the JavaScript code or something wonky in Qualtrics. 
        • Wrote and tested script to load data from Survey I to SQLite.

        BowTIE

        • Met with Jackson. He is going to work on "native" Java code for the performance component, as his programming experience is limited to Java.
        • Played around with more tutorials.

        Doing

        1. Analyzing survey data.
        2. Integrating MDC4 into draft Qualtrics survey for WTC, Book 1, Prelude 1.
        3. Adding file save and print features to MDC4.
        4. Adding support for non-exhaustive input in MDC4.
        5. Assembling prerequisites (JavaScript libraries, data layer) for BowTIE.
        6. Standardizing file format for fingering.

        Struggling

        • What to do with partial results from people who completed Part I, said they had time for Part II, but never finished? Protocol says we delete data from people who walk away.
        • Should we contact these people to try to rectify missing fingering data in Survey I? Ivana is one of them.
        • Should we offer small direct payment for Survey II in addition to lottery?
        • Should we offer larger payment to fewer people?
        • Should we give subjects in Phase II the option of photocopying their annotated scores and mailing them to us?