Saturday, December 30, 2017

2017-12-31 status

Done

Administrivia

  • Secured $3000 Elizabethtown College Faculty Grant award with JB in late April.
  • Successfully defended prelim proposal in June.
  • Got a full-time job in September at UIC CCTS.

Data Collection

  • Repaired original Dactylize circuit damaged in move from NLP Lab.
  • Installed Dactylize system in JB's studio at Elizabethtown College in October.
  • Prototyped new glove assembly for Dactylize.
  • Obtained parts for repair and new Dactylize II system with grant funds and started circuit assembly.
  • Successfully loaded Survey III data from Qualtrics to new MySQL diii2 schema.
  • Loaded missing Survey I and II data in MySQL to new didactyl2 schema, so we can now perform queries across both data sets, as originally envisioned, and all of our fingering data are now in one place.
  • Defined procedure for data collection from performances using GitHub.

    Doing

    1. Updating Didactyl framework to recognize abcD format.
    2. Completing Parncutt model implementation in framework.
    3. Debugging Dactylize 88-key circuit.
    4. Collecting fingering data from JB performances in Elizabethtown.
    5. Implementing Sayegh model.
    6. Implementing "autocorrecting" evaluation method suggested by CR to compare models head to head.

    In Scope

    1. Completing Dactylize II circuit.
    2. Creating abcD for complete Beringer corpus.
    3. Enhancing Parncutt, following published techniques and pushing beyond them.
    4. Defining procedure for sanity test of production automatic data collector (including Beringer data).
    5. Defining corpora for Dactylize data collection (WTC, Beringer, ??).
    6. Implementing end-to-end machine learning experiment, using Beringer abcD data.
    7. Submitting papers to ISMIR 2018 (deadline not yet announced, probably in March). 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.

    Struggling

    1. Getting reacquainted with Python and music21.

    Wednesday, February 8, 2017

    2017-02-08 status

    Done

    Data Collection

    • Created initial table of contents for prelim proposal.
    • Debugged LaTeX conflict between color package and uicthesi class. Short answer: don't use color.

      Doing

      1. Drafting early chapters of prelim proposal.
      2. Drafting Elizabethtown College grant proposal, dove-tailing with Dactylize chapter in prelim proposal.
      3. Strategizing initial constraints for system--start with finger legato? Outlining planned evolution of model.
      4. Strategizing enhanced similarity measure. Minimum edit distance with all (weighted) substitutions? Pivot detector?
      5. Legato detector? "Phrase" detector?
      6. Debugging, and defining test cases for, post-processing code (dactylizer.pl).

      Back-burnered

      1. Creating abcD for complete Beringer corpus.
      2. Defining procedure for sanity test of production automatic data collector (including Beringer data).
      3. Defining procedure for initial data collection sessions (including Beringer data).
      4. Implementing end-to-end machine learning experiment, using Beringer abcD data.

      Struggling

      • So much grading, so little time.
      • Refinancing house?
      • Get a job, hippie.

      Wednesday, October 5, 2016

      2016-10-05 status

      Done

      Administrivia

      • Massaged resume.
      • Interviewed with Bank of America Merrill Lynch. It went okay, I think.

      Data Collection

      • Conducted two initial automatic data collection sessions with advanced pianist.
      • Identified key wiring connection problems, which we are attributing to non-conductive adhesive in aluminum foil tape.
      • Removed tape connections to 48 keys and cleaned key surfaces with Goo Gone.
      • Applied new copper tape substrate to posterior section of aluminum tape on white keys.
      • Rewired 48 keys with soldered connections to copper tape subsequently physically attached (taped) to copper substrate with conductive adhesive.
      • Identified further problems that appear to be primarily post-processing (software) issues.

         Doing

        1. Ordering fans and coffee for the lab from Amazon. Deliver to Department?
        2. Assembling materials for Chancellor's Graduate Research Award.
        3. Defining test cases for post-processing code (dactylizer.pl).
        4. Drafting email to invite Survey II subjects to participate in on-campus sessions.
        5. Creating abcD for complete Beringer corpus.
        6. Defining procedure for sanity test of production automatic data collector (including Beringer data).
        7. Defining procedure for initial data collection sessions (including Beringer data).
        8. Implementing end-to-end machine learning experiment, using Beringer abcD data.

        Struggling

        • Need to work on my interviewing skills, which are quite rusty.

        Wednesday, September 28, 2016

        2016-09-28 status

        Done

        Administrivia

        • IRB approved protocol amendment #4.
        • Submitted $400 ISMIR 2016 registration for reimbursement from BDE's ICR fund.

        Data Collection

        • Confirmed automatic data collection Oct 1 at 10 a.m.
        • Transcribed left hand notation for arpeggios and broken chords in Beringer (technical exercise) corpus.
        • Produced abcD to capture right and left hand fingerings for arpeggios and broken chords in Beringer corpus.
        • Produced abcD to capture right and left hand fingerings for major and minor scales in Beringer corpus.
        • Mounted Dactylize circuit boards on back of piano and removed excess wiring. 
        • Constructed more finger assemblies.
        • Performed initial sanity test with beginning and intermediate pianists.
        • Reproduced "slow start" problem in Dactylize system, where initial 50 or so notes in "monitor" sessions all have large numbers of missing or incorrect fingerings assigned. Then the system stabilizes and behaves perfectly. This needs to be debugged, but for the first session, we will just include a 50-note "preamble" for each session. 

           Doing

          1. Assembling materials for Chancellor's Graduate Research Award.
          2. Drafting email to invite Survey II subjects to participate in on-campus sessions.
          3. Creating abcD for complete Beringer corpus.
          4. Defining procedure for sanity test of production automatic data collector (including Beringer data).
          5. Defining procedure for initial data collection sessions (including Beringer data).
          6. Implementing end-to-end machine learning experiment, using Beringer abcD data.

          Struggling

          • Focus has been difficult this week, as I was laid off from my job on Monday after almost 17 years. The way forward is suddenly somewhat dim.

          Tuesday, September 13, 2016

          2016-09-12 status

          Done

          Administrivia

          • Submitted protocol amendment #4 to IRB on Sep 7. No word yet.

          Data Collection

          • First automatic data collection scheduled for Oct 1.
          • Transcribed left hand notation for Beringer (technical exercise) corpus.
          • Transcribed harmonic minor scales for Beringer corpus.
          • Implemented Dactylize circuit on breadboards for debugging.
          • Constructed more finger assemblies.

             Doing

            1. Assembling materials for Chancellor's Graduate Research Award.
            2. Drafting email to invite Survey II subjects to participate in on-campus sessions.
            3. Contemplating supporting multiple "tunes" in abcD. This would complicate abcDE.
            4. Creating abcD for Beringer corpus.
            5. Defining procedure for sanity test of production automatic data collector (including Beringer data).
            6. Defining procedure for initial data collection sessions (including Beringer data).
            7. Implementing end-to-end machine learning experiment, using Beringer abcD data.

            Struggling

            • Waiting for IRB approval to pull data from Survey III (WTC).

            Monday, June 13, 2016

            Dactylize build photos

            I set up a Google Photo album to track progress on the build. Enjoy as order is made out of chaos.

            Saturday, June 11, 2016

            Dactylize parts list

            Here are the items (and approximate costs) needed to reproduce the system I built, assuming you are working in a well-found electronics lab. These parts should be sufficient to produce the piano component and 6 hand assemblies (enough for three people):
            • A digital piano. (I used an aging Casio Privia PX-130, which I would value at about $300. The latest of this line of instruments, the PX-160, goes for about $500 new.)
            • Arduino Micro Pro equivalent. (Clones like those from Osoyoo can be had for about $9.) Any Arduino should do the job.
            • Two 74HC165 8-bit input shift register integrated circuit chips. Cost: $5.
            • Eleven 74HC595 8-bit output shift register integrated circuit chips like these. Cost: $10.
            • Eighteen carbon film 10k Ohm 1/4 watt resistors. Cost: $2.
            • 2 monolithic 0.1 uF 100 Volt capacitors. Cost: $1.
            • Through-hole protoboard for input shift register (finger) circuit. I used one of these. Cost: $5.
            • Large solderable breadboard like this for the output shift register (key) circuit. Cost: $12.
            • Four 40-position male header pins to be cut to various lengths (including eleven 8-pins for key inputs and four 4-pins for finger inputs, plus miscellaneous others). Cost $2.
            • Roll of 2-inch aluminum duct-work tape. Cost: $5.
            • Roll of 1-inch copper foil tape for black keys (optional). Cost: $15.
            • 88 12-inch male-female stranded jumper wires with 0.1 inch pre-crimped terminals. Sold in bags of 50. Cost: $36.
            • 32 36-inch female-female stranded jumper wires with 0.1 inch pre-crimped terminals. Sold in bags of 20. Cost: $36.
            • 86 (56 for keys + 30 for hand assemblies) 6-inch male-female stranded jumper wires with 0.1 inch pre-crimped terminals. Sold in bags of 50. Cost: $20.
            • 45 (11 + 4+4 + 7+7 + 12) 1x8-pin crimp connector housings. Add 2 such housings for each hand assembly you wish to, well, assemble. Get 5 bags of 10 to be safe. Cost: $5.
            • 12 1x4-pin crimp connector housings. Cost: $2.
            • 12 1x1-pin crimp connector housings. Cost: $1.
            • 25 feet of TechFlex Flexo braided cable sleeve (optional). Cost: $10.
            • Two 10-foot 16-conductor ribbon cables (or about 16 feet of the stuff). Cost: $10.
            • 10-foot 10-connector ribbon cable. Cost: $5.
            • 14 16-position right-angle female cable-mounted IDC connectors. Cost: $6.
            • Six-inch cable zip ties, pack of 100. Cost: $2.
            • Adhesive cable tie bases, pack of 100. Cost: $10.
            • 40 latex finger cots. Cost $3.
            • Three ounces DAP Wedgwood contact cement. Cost: $9.
            • Graphite lubricant. Cost: $6.
            • 6-foot USB-to-micro-USB cable. Cost: $8.
            • 6-foot USB 2.0 A-male-to-B-male cable (or equivalent MIDI cabling for your digital piano). Cost: $5.
            The total cost for materials is $271 plus the cost of the piano, which you should be able to restore to its original playing condition when finished with your Dactylize system.

            If you are starting completely from scratch, as I was, you will need the following essentials.
            • Multi-colored solid hook-up wire. Cost: $18.
            • Soldering iron. I strongly recommend the Hakko FX-888D soldering station. My experiences as a novice with cheap irons were extremely unpleasant. Cost: $100.
            • Solder. $10.
            • Solder wick. $7.
            • Solder sucker. $5.
            • Wire strippers. $11.
            • Needle-nose pliers.
            • Small wire cutters.
            • Auto-ranging digital multi-meter that beeps for connectivity testing. The Innova 3320 seems to be the cheapest option that ticks all of the boxes. $26.
            • Safety glasses.
            • Flat wooden board to work on.
            • Electrical tape.
            • Ice packs for burns.
            Also recommended: