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/04 09:00]
michael
dev:percussion [2016/02/05 23:15]
michael
Line 1: Line 1:
 ====== Percussion Notation ====== ====== Percussion Notation ======
 ===== Objective ===== ===== Objective =====
-Now that I'm learning to play the drums, I find it is not that easy to find written drum part for a particular song I want to learn.  I have many of these songs available as standard MIDI filesand I want to use Rosegarden to turn those into written drum notation I can read while in front of the kit.  Any other objectives I achieve in this are secondary to this primary goal.  Furthermore, I am focused on functionality much more than ease of use or shiny looks, and this is likely to be hacky rather than pretty.+As 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 systemand 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 notationbut poorly and awkwardly.  It is best to keep polyphony to a minimum.
-In this implementation, the two-bar clef will be effectively the same as the treble clef.  This is purely for my own convenienceas I think in treble clef.+
  
-===== Handling Polyphony ===== +Drum notes need to be written at one particular height by drum.  As drum kits are highly polyphonic; every height represents a different instrument, and has to be notated within a separate segment.  Some drums can trigger 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 positionseg. the hi-hat pedal is notated toward the bottom of the staff, for 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 "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."
-Drum kit notation is fundamentally polyphonic notation.  While the beats sometimes line up in such way that split-and-tied chords would work, I am going to take an approach that requires drum parts to be polyphonic 100% of the timewith separate segments for each type of drum played.+
  
-===== Drum Splitter ===== +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 application, but 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 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.
-Toward the ends of converting existing parts to written notation and of handling polyphonythe first thing need to implement is a drum-oriented split function.+
  
-The function shall: +It feels tantalizingly possible to overcome all of these objections, but I have concluded that even if it could be doneit just wouldn't be anything to be proud to show off in the end.  It would be hacky and weird in the extreme.
-  * for each pitch 0 to 127 +
-  * search the segment for this pitch +
-  * if the pitch is foundcreate a new segment for this pitch, taking the label from the percussion key map +
-  * for known pitches (eg. snare) transpose the segment such that the pitch sounds suitably and the note is rendered at the correct height (eg. middle space C) +
-  * for known pitches (egclosed hi-hat) notate using correct note heads automatically+
  
-etc.? +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 will discover opportunities to improve workflow and integration with that application.
- +
-meh...  think I'll implement a rudimentary splitter to get started, and see where it all goes once my sleeves are rolled up.  I don't have a firm plan for a number of issues, including: +
- +
-  * hi-hat, crash, ride, and snare can all trigger a variety of different samples via different pitches, and all but a handful of these pitches need to be notated on the same line +
-  * our handling of rests in polyphonic parts is really bad, and this drum stuff will showcase the absolute worst of it, absolutely all the time, and this needs gone through and sorted out+
 
 
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