Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
dev:percussion [2016/01/01 14:52]
michael
dev:percussion [2016/02/05 23:15]
michael
Line 1: Line 1:
 ====== Percussion Notation ====== ====== Percussion Notation ======
-Now that I'm learning to play the drumsit's inevitable that will want to use Rosegarden to notate something.  Instead of trying to implement the entire spectrum of percussion notation, I want to begin by focusing on notation for a drum set.  This is basically four voices on one staff, with various special symbols.  Working backwards from LilyPond is the way to go here.  If LilyPond can't render it, we needn't bother.+===== Objective ===== 
 +As a new drummer and long-time Rosegarden user, I want to use the computer as an improvement aid to help my drumming.
  
-===== Clef ===== +My original plan was to add drum notation to Rosegarden.  After serious study and contemplation, I have concluded this is very impractical.  Rosegarden does all internal work using a MIDI-based system, and the existing editors allow you to move notes freely up and down the scale by MIDI pitch.  Height on staff and other factors are ultimately determined by the MIDI pitch.  Rosegarden can manage polyphonic notation, but poorly and awkwardly.  It is best to keep polyphony to a minimum.
-The usual way to decide where to draw a note involves using clef, key, and accidental information to choose a height on staff and presentation for a given MIDI pitch.+
  
-A standard clef won't work for percussion.  We need way of mapping the bass drum sounding pitch to the correct staff height for the bass drum.  This wants to be configurable and editable.  Are there three toms or four?  A cowbell?+Drum notes need to be written at one particular height by drum.  As drum kits are highly polyphonic; every height represents different instrument, and has to be notated within a separate segment.  Some drums can trigger a variety of different MIDI pitches from the same staff position, eg. snare head/cross stick/rim shot, ride edge/bell/bow, and open/closed hi-hat.  Some drums can trigger the same MIDI pitch from different staff positions, eg. the hi-hat pedal is notated toward the bottom of the stafffor the foot, and can play a note by itself, but it is also used with and sometimes notated in conjunction with the closed hi-hat sound that it triggers.  The drum score to "I Will Survive" by Gloria Gaynor comes to mind as an example where entering that as notated on the score would trigger duplicate closed hi-hat events.  Finally, drum notes need to export to LilyPond in a totally different way, like "hh4 bd bd hh."
  
-It shouldn't be too unreasonable to make the clef examine the pitchcompare to the table, and return the height in the usual fashion.+Added all together, Rosegarden needs something radically different to handle these requirements.  Rosegarden has stretched the limits of what can be done with notation in a sequencer-based applicationbut after stewing on all of this for a few weeks, I have to conclude that drum notation lies beyond those limits.  The only realistic way to go forward here is to invent a new event paradigm that is not MIDI-based, where it displays at pitch //x//, sounds at pitch //y//, and exports as pitch //z// There could be no way to go back and forth between that and standard Rosegarden events.  It would amount to doing a parallel, notation-driven system within the existing MIDI-driven system.
  
-===== Questions to Consider ===== +It feels tantalizingly possible to overcome all of these objectionsbut I have concluded that even if it could be done, it just wouldn't be anything to be proud to show off in the end.  It would be hacky and weird in the extreme.
-Drum kit notation is polyphonic notation.  By the nature of the notation and of Rosegarden, it's going to have to work as four (or more) totally independent segments.+
  
-Seems like a workflow to consider is loading a standard GM file with a percussion part you want to learn.  The Split function needs a new capability to split a segment such that each individual pitch ends up in a new segment. +I have determined that the best solution to my overall requirements is to switch to a notation-driven editor like MusE Score for notating drum parts.  Perhaps I will discover opportunities to improve workflow and integration with that application.
- +
-Some things will want to be combined.  There are at least three standard hi-hat sounds that will all want to translate onto the hi-hat line.  A smart function would notate each of them appropriately.  Closed hat gets the X note head, etc. +
- +
-How to handle the ride vs. ride bell in GM?  On my personal electronic drum kit, getting the bell sound is dependent on the drum kit used.  Some of them have layered patches, some of them don't, and on the layered ones, you get the bell sound by crossing a velocity threshold.  A smart function would take a GM ride bell and turn it into a ride with a suitably scaled velocity.  How much of that is general practice, and how much of that is hard coding things for Michael's particular cheap entry level starter drum kit? +
- +
-I'm done thinking for now.  I'm going to need to do lot of thinking and planning before I think about coding anything, and I don't know what odds I'd put on my actually getting this done. +
- +
-Random thought:  maybe the lookup table could exist in track parameters instead of being associated with the clef. +
- +
-Meh.  Sleepy now. +
- +
-Quick note to self:  As I learn and grow with the new drum set, the number one thing I'm in a hurry to do is load some classic MIDI file and use it to learn the pattern, via printed notation.  Before I go off and spend a month of free time writing a notation feature, I should go look at MusE Score for one thing, and see if there's something already on the shelf.  I'd rather spend time learning drums than writing code at this point.  I got into drumming to get my fat ass some exercise, and it's working! +
- +
-===== A Bazillion Standards ===== +
-So I got a couple of drum books from Hal Leonard.  To my surprise, there is no key to what line is which drum. +
- +
-Surveying what's what, it looks like they expect me to know this is that, because they follow the standard of the Percussive Arts Society.  Just at a casual glance, it's highly obvious that the scheme LilyPond supports by default is quite different from this.  Maybe it's an America vs. everyone else in the world kind of thing, like our weights and measures and our name for what every other country on the fricking planet calls football. +
- +
-Anyway, it's highly obvious that drum notation will have to be extremely configurable and flexible if it is to do anyone any good.  Failing that, I'll just implement it the same way as all these books, since that's what I'm learning.  (And getting the hang of to a rather satisfying degree.)+
 
 
dev/percussion.txt · Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki