[linux-audio-user] [ANN] ALSA MIDI Humanizer v0.0.1

Dave Phillips dlphillips at woh.rr.com
Fri Jul 7 07:21:46 EDT 2006


Greetings:

  Ah, one of my favorite threads. I compose a lot with MIDI, and 
sometimes I like to try making the results sound at least a little more 
human. A few (probably obvious) notes :

    No human player can play two notes in a row with exactly the same 
precision, it's simply not possible. Small-range random changes to 
velocity at least help shake up the flatness of MIDI parts. However, if 
the range of variation is too wide the randomizations sound pointless.

    No human players play with metronomic accuracy, nor is such a thing 
desirable from human players. However, the range of variation is a 
significant consideration. Set drummers often play the bass drum, snare, 
hi-hat, and cymbal in slightly different tempo relations, creating the 
various grooves and feels that underlie musical styles.

  A "groover" would be a cool piece of software, i.e., something that 
shapes the existing music into another rhythmic style, but I don't think 
it would be easy to get right.

  IMO the best way to humanize MIDI parts is to hand-code their 
velocities, note by note where necessary, which means the coder must 
have a practical knowledge of performance factors. I also routinely add 
a tempo track that loops an asymmetric group of fluctuating tempo 
values, like a very narrow-range LFO applied to tempo. Again, if the 
width of the range is too great the looseness becomes sloppy, destroying 
the intended effect. Usually I keep a range of +/-4 clicks, e.g. 
120-121-122-121-120-119. If these values are applied to tempo events at 
the level of 16th-note triplets they'll have a nice "upsetting" effect 
on the rigidity of the sequencer's tempo.

  Dynamics and tempo relativities are profound aspects of any engaging 
performance, whether a player plans them in advance or they occur as an 
improvised response to the music (and possibly to the other players).

  Just some thoughts for further consideration.

Best,

dp




More information about the Linux-audio-user mailing list