[linux-audio-dev] MIDI groove theory
Dave Robillard
drobilla at connect.carleton.ca
Tue Aug 10 19:20:51 UTC 2004
On Tue, 2004-08-10 at 13:48, 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.
>
> Another important part of the groove is offbeat syncopical notes
> ("what's missing is what makes it groove") and those ghost notes
> drummers like to play all the time (let the stick jump a bit).
>
> Ciao
So essentially what you're saying is "MIDI groove" isn't really a
well-defined thing, just a catch-all phrase for humanization/groove
techniques in sequencers and whatnot.
All the groove facilities (file formats, etc) in the major sequencers
seem to be very proprietary, so I figured as much. I suppose it's time
to get creative...
Thanks.
(Further ranting about MIDI timing stuff ensues)
The real question is whether it's possible to make a master clock
application that can do this sorta thing for all MIDI apps on the system
(MTC? MMC?). I'm already in desperate need of a master-BPM controller
for live performance, so I might as well do it right and get groove in
there.
As I understand MTC, it's just a byte sent so many times a quarter note,
so I think doing groove this way for all MTC speaking apps would be
feasible. (is that ever going to eat MIDI bandwidth though...)
As another related problem I need to make sooperlooper aware of when bar
divisions are (so looping is accurate and not prone to drift), and I
don't think MTC is adequate for that.. I think to really take control
of the entire system's timing a master time app will be needed that
speaks many different languages (MTC and probably jack transport,
others?)
Essentially I just need the best way to sync up seq24 and sooperlooper,
and get the BPM in to any app (ie synths and effects racks). Groove
would be nice though.
Thoughts?
-DR-
More information about the Linux-audio-dev
mailing list