Friday, February 16, 2018

2018-02-18 status

Done

Administrivia

  • Found ISMIR LaTeX template.

Model Building

  • Modified music21 code base to ignore ornaments and had pull request accepted.
  • Moved to the alpha release of music21 (with some trepidation)
  • Set up grammar, parser, and convenient Abstract Syntax Tree (AST) for fingering language (abcDF) in Python.
  • Leveraged new parser to implement evaluation methods.
  • Implemented Hamming evaluation method for strike fingers.
  • Implemented "natural" evaluation method for strike fingers.
  • Implemented "pivot" evaluation method for strike fingers.
  • Implemented first (striking) finger constraint for Hart model.
  • Drafted "reentry" evaluation method for strike fingers.

    Doing

    1. Debugging and testing "reentry" evaluation method. 
    2. Creating more test cases for "infrastructure" code.
    3. Studying TensorFlow paradigms for connectionist models.
    4. Implementing Sayegh  model (via TensorFlow or from scratch).

    Struggling

    1. The otherwise slick parser module I am using (TatSu) produces an immutable AST. This is cramping my style and promises to get worse as we move along.
    2. The Parncutt code is a disaster under Python 3. Lot of rework needed here.
    3. Generally pulling hair out debugging the "reentry" code, which should be trivial. I am doing something stupid.

    In Scope

    1. Re-implementing Parncutt model in framework. (The graph class I was using does not seem to exist in Python3, so this needs to be reworked.)
    2. Debugging Dactylize 88-key circuit.
    3. Collecting fingering data from JB performances in Elizabethtown.
    4. Completing Dactylize II circuit.
    5. Developing method to align performance data with symbolic data. I think this is going to be essential if we are to use Dactylize data moving forward and a key part of its proof of concept. I plan to have something for this at the ISMIR demo session (September 22 deadline).
    6. Creating abcD for complete Beringer corpus.
    7. Moving Beringer corpus to MySQL database.
    8. Enhancing Parncutt, following published techniques and pushing beyond them.
    9. Defining procedure for sanity test of production automatic data collector (including Beringer data).
    10. Defining corpora for Dactylize data collection (WTC, Beringer, ??).
    11. Implementing end-to-end machine learning experiment, using Beringer abcD data.
    12. Submitting papers to ISMIR 2018. Abstracts due March 23. Papers due March 30. Ideas: a follow-up demo paper describing Dactylize data collected; a full-length paper describing application of evaluation method to models developed; a full-length description of enhanced and/or novel models, demo of method to align collected performance data with symbolic score.