On Tue, Aug 10, 2004 at 07:48:22PM +0200, Frank Barknecht wrote:
Hallo,
Dave Robillard hat gesagt: // Dave Robillard wrote:
Does anyone know of a page somewhere that
explains just what (on a
developer level) MIDI "groove" is? I want to implement it in a
sequencer, but all I can find is user documentation pages with useless
information.
Is it as simple as each note having a time offset (ie snare is early .5
ms, hi-hate late 1ms, etc.) or something more?
This classic Masters-At-Work house music shuffle swing thang is just
delaying every second (8th rsp. 16th) note a bit. I do this in my Pd
sequencers using percentage values (like delay notes by 66 percent of
the straight note lenght) and it's quite groovy afterwards. I also
apply some gaussian randomness to the notes' onset times to simulate
human error (which I think should be distributed gaussian, shouldn't
it?) I'm not sure I can actually feel/hear that, though.
Hydrogen has a slider for each ("swing factor" and "human time"),
and I love the grooves I can get out of that app.
"human time" is just a small amount of randomness.
Might be worth a look at the code in libhydrogen
(it's mostly in src/Hydrogen.cpp afaict).
The "human time" feature can really help the feel, I think it's
because it makes "simultaneous" attacks slightly off from each other.
--
Paul Winkler
http://www.slinkp.com