From: steveha@sco.COM (Steve Harris)
Subject: Digital Percussion Idea
Organization: The Santa Cruz Operation, Inc.
Date: Sat, 14 Nov 1992 00:44:43 GMT
Followup-To: rec.music.makers.percussion
Keywords: Digital Dead Drum




Ok, here goes...mind you, I've recently been thinking 
about doing this, should you try an implement it without
me though, PATENT PENDING.


The idea here is for a percussion machine to enhance
students' ability to learn, composers' ability to compose,
and ultimately drummers' ability to JAM! (and I do mean
JAM!!!)

If anybody has any input here, please do not hesitate to post
it or send it to me.

Thanks.

=======

Use drum pad inputs, preferably with sensitivity 
to accents.

Two algorithms are fundamental.  One is used to 
track and "interpret" the input drum patterns, the         
other is used to "generate" drum patterns.

A third algorithm is used to "unify" the two 
others...i.e. the patterns generated (output) are 
based on the patterns played (input).

Breakdown:

        Algorithm #1:
                + Reads and interprets timings, 
                  and recognizes pre-programmed
                  rhythm patterns.

        Algorithm #2:
                + Plays back pre-programmed rhythm
                  patterns and other beats when 
		  instructed.

        Algorithm #3:
                + Decides which pre-programmed 
                  patterns are to be played back, 
                  based on which patterns are 
                  being input.


Data Flow:

        ___________                        SOUND!!!
       | drum pads |                         /|\   
       |___________|                          |
             |                            ____|_____
             |__________________________\|generator | 
             |                          /|__________|    
             |                               /|\
        ____\|/____                       ____|_____
       |interpretor|____________________\|reconciler|
       |___________|                    /|__________|



Functionality:

        + = basic functions required
        * = additional enhancements

        + Use 3 sets of drum sounds:
                - Beats generated solely by the computer.
                - Beats generated solely by the drum pads.
                - Beats that match.
          Thus the sound would be a beat pattern from the 
                machine, a beat pattern from the pads, and
                a beat pattern from synchronicity.

        + Only increase the complexity in the reconciler
                when the "student" has "got it", i.e. use
                a parameter to determine the number of 
                measures of required "on"ness (another
                parameter) before additional patterns will
                be generated.

        + Decrease complexity almost immediately when the
                "student" has "lost it", i.e. remove additional
                polyrhythms until they've "gotten it" again.

        
        * Allow detailed algorithmic progressions of patterns.
                i.e., when you've gotten 3/8 on 4/4, let's try
                something harder instead...

        * Allow recognition, retention, and playback of the
                "natural" rhythms of the drummer.

        * Interpolate rhythms.
                - adjust less fundamental polyrhythms to fit
                    on differing "backbeats".
                - adjust tempos
                - combine the above to interpolate different
                        rhythmic lines in different ways.

        * Recombine cross rhythms (for jamming, not learning).
                - Recognize continuous cross rhythms which
                    are synchronous with one or more rhythmic
                    lines, none of which have the needed level
                    of "onness" and replace the multiple line
                    with one line.



Footnotes:

It seems possible to me that if just such a system were developed,
it might be possible to play entire rhythmic lines by "hinting" at
their consistency, if the database were populated properly....

perhaps AI could be used to "teach" the various rhythms to the
database.  This would make this set-up usable for virtually every
form of drumming, from drum-corps, to free jazz, to the Grateful
Dead.

You might even be able to create a "robo-drummer" that responds to
other instruments as if they were drums and comes up with it's own
rhythms to back the "band".



Newsgroups: rec.music.gdead