denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Denemo-devel] Importing MIDI


From: Richard Shann
Subject: [Denemo-devel] Importing MIDI
Date: Wed, 12 May 2010 18:15:31 +0100

The immediate problem that prompted this email is that when converting a
midi recording in denemo the notes get progressively further adrift.
This is because the adjustments aren't compensated for (that is if a
note is made to start a bit earlier, it should not affect a judgement
about when the next note starts). This is because the recording is being
made against the precise playing of denemo, so no drift in tempo should
be allowed for.

This means that in the snippet (from importmidi.c) that says

 duration = round2granule(duration);
 AddNote(ppqn, event->midi_buffer[1], duration);

the duration having been rounded should not then cause all the
succeeding notes to be moved.

I have done some looking about the internet for information on
"importing MIDI" (that is, guessing at a form of notation that someone
might want to represent a MIDI performance).
It is very much a research topic still from what I can see. So I don't
think we should be thinking of denemo doing anything general - trying to
import live performances of unknown (and slightly variable) tempo etc. 

 I wonder if there are *some* things we might usefully do, though.
The sort of thing I have in mind is that you could notate some sample
accompaniment and then play it into Denemo using the Record mechanism.
You then have very good information to base a guess about what a new
accompaniment means in terms of notation. (The new accompaniment would
be played in live while Denemo plays the piece so that its relationship
to the beats in the measure is always known).
I could imagine looking at groups of notes close in time and assigning
them to chords or rhythmic patterns based on information got from the
training piece.
This could be done in scheme, given a few primitives to get the on/off
timings normalized to the tempo used.
Comments?
Richard





reply via email to

[Prev in Thread] Current Thread [Next in Thread]