On Wed, 2013-12-04 at 08:23 +0100, Johan Vromans wrote: > Richard Shann <richard.sh...@virgin.net> writes: > > > Right now I have a new entry option nearly complete - playing on a MIDI > > keyboard and then entering the rhythm. > > By hitting a MIDI keyboard key in the desired rhythm?
Well, that is what is interesting: if you played in on a MIDI keyboard in perfect rhythm then you would be able to hit the "accept" key to accept the rhythm Denemo has computed. Indeed, if it was going to be perfect, you wouldn't need any second step, you could just go straight on to adding non-music features - repeat bar lines, rehearsal marks or WHY. What happens in practice is that the rhythm computed from your playing is full of "errors" and an artificial intelligence (AI) step is needed to get close to something that would be acceptable. (It has to be near perfect to make it worth giving to the user to check over, as fixing mistakes is far more costly than playing in the music). At the moment this AI step is the simplest possible, it goes through the durations that you played assigning them to the nearest note lengths using only whole-note ....1/256th note and dotted versions of them (no triplet values have been entered in the table of durations). There are then two ways to go: Write some Scheme procedures to work out what the user likely wants, asking for the user to intervene where necessary Let the user start typing in the actual durations (on the numeric keypad) and "learn" from the first few what the likely durations of the succeeding notes are. So, once you have covered the rhythmic variety that you have in the passage, you would be able to go over to just hitting Return to accept Denemo's idea of the rhythm. This could include stuff like staccato markings, so that once you had shown it what you mean by a certain duration it could guess between say, a quarter note, a staccato quarter note and an eighth note followed by eighth note rest. At the moment, you can type in the duration on the numeric keypad or hit Return to accept the suggested duration. The note is played as you do this, so you can actually hear the piece as you go through it if you keep time. You have to enter rests, staccato markings etc. yourself. I will need to gain more experience of this system before deciding where to go next. The stuff is in Denemo's git now though, if folk like to experiment. The table of durations and the decision calculation using it is not currently available to Scheme, but if someone with Scheme wants to start experimenting it could be made available without problem, just ask. The system also works with imported MIDI files, which can have perfect rhythm if machine generated. Richard _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user