They actually didn't create a NoteEncoder (the codebase was much less extensible 2.5 years ago). They wrote a preprocessing script that turned the MIDI song file into a scalar input stream. I don't remember the details, and their codebase is lost now. But I do remember that they needed to remove the "rests" from the input.
--------- Matt Taylor OS Community Flag-Bearer Numenta On Fri, Oct 9, 2015 at 3:15 AM, Jos Theelen <[email protected]> wrote: > Yes, I know it and looked at it. I wondered how they made a NoteEncoder, I > am still struggling with that. Nupic says that notes that are "close" to > each other should have the most overlapping bits. But what is "close" in > music? > > 1) a scalarencoder, where the number of the note is encoded. In this case > "close" means almost the same frequency. > 2) 2 scalarencoders, one for the note and a different one for the octave. > This because a note sounds almost the same as that same note an octave lower > or an octave higher. > 3) a typical noteencoder and a scalarencoder for the octave. The noteencoder > should take the notes in the following cyclical order: > C,G,D,A,E,.....Es,Bes,F,C, each a quint apart. In this case notes that are > close together sound better together. C-G sounds better together than C-Cis > > Probably I should make all 3 encoders, just to test. > > greetings: Jos Theelen > > On 2015-10-08 15:14, Marek Otahal wrote: >> >> Hi Jos, >> >> On Thu, Oct 8, 2015 at 3:06 PM, Jos Theelen <[email protected] >> <mailto:[email protected]>> wrote: >> >> I am working on a model, that reads melodies and chords from >> midifiles, mainly chorales from JS Bach. When the model is given a >> new melody without chords, it should find the chords, that sound >> correct, conform what it learned from the midifiles. >> >> Nice, I love classical music and music related examples :) >> You probably know, but just in case: check out nupic.audio project and a >> former hackathon submission that composed song on trained MIDI music. >> >> >> greetings: Jos Theelen >> >> No virus found in this message. >> Checked by AVG - www.avg.com <http://www.avg.com> >> Version: 2015.0.6140 / Virus Database: 4435/10780 - Release Date: 10/08/15 >> > >
