**This is an old revision of the document!**


April 10, 2017

To Do

Work on alignment paper

  • Compute all the events to be aligned up front instead of recomputing them on the fly—duh
  • Make the computation more effective by linearly traversing data structure instead of repeatedly computing access point, too
  • Keep testing that correct elements are being aligned
  • Define scoring function as function of variable weights
  • Implement linear perceptron
  • Run regression

April 6-7, 2017


Work on alignment paper

  • Finish alignment module
  • Test that correct elements are being aligned

Process Qualtrics data

  • Download data
  • Find script to process data
  • Process accuracy and confusion matrix

Make Pop* run deterministically

  • Create a global random number generator seed in the program args or configuration setting
  • Find all random number generators and set the seed
  • If that doesn't work, fix each one individually
  • Check that it works to rerun multiple times with same output

Finish Doctoral Consortium Paper

  • Add 4 references
    • Pachet
    • Toivanen
    • Magenta
    • ??
  • Quick read-through for grammatical errors

Finish Grad Expo Poster

  • Finish layout
  • Add words
  • Polish

January 5, 2017

I have successfully established a pipeline that generates music xml files which are sung by HarmonyAssistant. I opted to switch the dependency order so that harmony and melody are generated before lyrics based on the following rationale:

Originally I'd thought that lyrics should come first because they determine rhythm. While the exact rhythms are dependent on the lyrics, the general melodic line is not determined by the lyrics and in fact is independent of the lyrics by virtue of the fact that you can have multiple verses on the same melody. Thus we generate melody first and then fine tune the melody to adjust to the rhythms dictated by the lyrics.

What needs to happen next?

  • Finish the data processing module to correctly handle D.S. al Fine/Coda.
  • Allow the generator to train models on the xmls (this needs to be done without loading all xmls into memory—train all models on one song, then go to next)
    • For each model, filter on appropriate criteria (e.g., english lyrics only for lyrics model)
  • Get something to show the 673 class
  • See about doing mixed-order markov
  • See about conditioning on more variables than just previous tokens (e.g., next note should depend on position in bar as well as previous notes)
  • Get data for melogen group
  • Alignment paper
  • Compare Human results on key recognition?
  • Human annotate rhymes in songs
  • Revamp key recognition paper?

Nov 4

My goals here are to:

  1. Fix human_readable syllabification of words in training MIDI files
  2. Render human-readable syllabification of new lyrics for new MIDI files
  3. Determine stress of syllables in both training and new lyrics

Note that the specific human_readable syllabification depends on which phonemes are selected for the word.

I need something that can

A) turn words into human readable syllables B)

Ceck out this book https://books.google.com/books?id=BrcQAwAAQBAJ&pg=PA184&lpg=PA184&dq=java+syllable+lookup&source=bl&ots=BQz-ikPO0d&sig=svLD6NiPnHm8CAmgxgJd4ZPdz6w&hl=en&sa=X&ved=0ahUKEwjE6sb24JDQAhUIi1QKHTkeC-AQ6AEIQjAG#v=onepage&q=java%20syllable%20lookup&f=false

Tuesday, October 25, 2016

After meeting with Dan today, the idea came that we should take advantage of the 673 class more. Instead of working my tail off to get them what they need, I just formulate the work that I need them to do. A trade-off of sorts. That will ease my burden a bit to not have to do all of that work. I just need to get the logistics of Pop* in place.

Some ideas:

  • I could have them go through the midi files and mark them with which tracks are the bass, drums, and other accompaniment tracks.
  • I could have them annotate the lyric sheets with rhyme scheme, segmentation, etc.
  • I could have them go through the midi files and mark them with genres for each song.

September 13, 2016

Finished annotating melodies in MIDI. Now, to do key inference:

  • Use only tracks with a single key signature, melody track, -1 comb track, non-neg lyr track, no chords in melody,
  • Extract track with melody line
  • Use only notes that have a volume greater than 0
  • Run it through the key inference pipeline to get accuracies

August 9, 2016

I discovered that there are some lyrics in the midi files that aren't lyrics and also don't just show up at the beginning. They're metadata that show up all throughout the (un-noted) intro. So what does this mean? Well, right now it means that I'm likely not pulling out the right melody track for the lyrics on at least a few of the songs. So that suggests I ought to go back and try doing some sort of alignment between lyrics and between melody events. That could be a cool application for my alignment paper.

For the moment I'm going to press forward like nothing happened, though. Finish off the pipeline to infer key signature and compare between methods.

I also need to address finding the key signature better inasmuch as there are songs with multiple key signature events in the midi file, but which don't actually appear to have multiple key signatures in the song. So I need to be smarter about which events I consider as far as key signature goes.

It appears also that many of the songs have the wrong key signature indicated. This is suggested by the fact that simply guessing the key of C always does decently, better even than more intelligent guessing. I could either go manually fix them, or I could ignore any of them that have the key of C, which is about 60% of the 292 songs, leaving me with just over 100.

July 21, 2016

Found some weird midi stuff today. Nifter's “are you lonesome tonight” starts at some completely random time such that when opened in Finale, the notes don't quite line up right (remember, MIDI doesn't say anything about the sheet music rendering, just the audio rendering). But when opened with MuseScore, it just starts the song from the beginning of the first note (it gets it right). I have a feeling that its making a lot of assumptions to get that far. Not sure what to think about it.

July 18, 2016

Today Chris Tensmeyer taught me a few things that could be handy. I can ssh into any machine in the lab that has ssh enabled and run jobs on it. screen is a program that allows me to essentially preserve state and login to a particular state from wherever I may be. The IP address for the lab is 192.168.29.*, with the * being the number specific to the machine. The machine across from me that I've been using has an IP address of ipconfig (or ifconfig on mac) tells the IP address. This is how you enable ssh on a mac.

mind/log-entries.1491606007.txt.gz · Last modified: 2017/04/07 17:00 by norkish
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0