Now I need to write the notes to a file, and determine when sessions start and end. This is pretty easy - I just see if any notes have been played in two minutes. If none, it's the end of a session and I can flush to disk.
PyGame.midi input events are arrays with two values: another data array, and a timestamp. I normalise the timestamps by subtracting the first timestamp from each subsequent one. The data array is: status, data1, data2, data3. For a note on, this is 144, pitch, velocity, channel. For a note off, my piano is sending 144, pitch, 0, channel.
MIDIUtil looked promising for saving this, but it handles the low level note-on/note-off business - data I already have, so I'd have to do complicated stuff to reverse that, pass it to the library which would then undo it. Something simpler is needed: mxm's midi writer.
Problem I need to access triple-store data for a work thing, but the data I have to test with isn't in their (sesame) triple store yet. There are RDF files, though. Solution Install 4Store on a pi (I had one with a default Raspbian running because it's the mumble server). sudo apt-get install 4store ...then I set up the 4store with instructions from here : sudo 4s-backend-setup saws sudo 4s-backend saws 4s-httpd saws then import the RDF files with a convoluted command: curl --verbose --header 'Content-type: application/rdf+xml' --upload-file MSH_Thales_Trans.rdf --url 'http://localhost:8080/data/http%3A%2F%2Fwww.purl.org%2Fsaws%2Fontology%23' (for each file - the url is the saws url encoded, the .rdf bit was done for each file). Then fix the RDF, because rapper rejects it all. To validate the RDF I used this: http://www.rdfabout.com/demo/validator/ Okay, now I can see things on the pi: http:// <pi ip address...
Comments
Post a Comment