Tim Cappello Posted Tuesday at 02:52 AM Share Posted Tuesday at 02:52 AM I've got my snare and kick in midi on one track and I want to separate the snare pitches from the Kick. How do I separate the pitches onto 2 separate tracks, kick on one track and snare on another. I know it's easy cause I've done it before but forgot Thanks Link to comment Share on other sites More sharing options...
Sergei Pilin Posted Tuesday at 07:41 AM Share Posted Tuesday at 07:41 AM (edited) You can select all kick notes in PRV by clicking on the appropriate piano key, then SHIFT + drag to the empty space the selected clip in the track view. A new MIDI track gets created with the selected kick notes. I needed a more advanced version of the same where a Superior Drummer MIDI track gets split into several MIDI tracks according to the instrument, so i.e. all different hi-hat notes end up on a separate track etc. Asked ChatGPT to write a CAL script and after a few attempts got a working script that does all this automatically. Edited Tuesday at 07:41 AM by Sergei Pilin spelling Link to comment Share on other sites More sharing options...
Promidi Posted Tuesday at 08:26 AM Share Posted Tuesday at 08:26 AM Acquire the note letter and octave of the drum hit you want to move, then you can do the following: · Select the entire track that contains the drum hits you want to move. · Use Menu > Edit > Select > By Filter to restrict the selection to just the drum hit you want to move. · Move NOW to the start of the first selected note. I have created a key binding that does this. · Cut. · Make the destination MIDI track active. · Paste. Link to comment Share on other sites More sharing options...
Chaps Posted Tuesday at 08:49 AM Share Posted Tuesday at 08:49 AM 5 hours ago, Tim Cappello said: I've got my snare and kick in midi on one track and I want to separate the snare pitches from the Kick. How do I separate the pitches onto 2 separate tracks, kick on one track and snare on another. I know it's easy cause I've done it before but forgot Thanks The way I've been doing it for years is to duplicate the MIDI track a couple more times than I need. So if all I have are kick and snare drum notes then I would duplicate the track 3 times. Then I rename the tracks to the instrument I want on it, then on each track I delete all the notes that I don't want there. On the kick track I delete all the snare notes and on the snare track I delete all the kick notes. I delete all the notes on the tracks I don't need at the time so I can add different drum instruments on them later and the tracks are already output to the synth I want. I label the unused tracks Perc 1, Perc 2, etc. and then label them for any new instrument I put on there. Is there a better and faster way to do it? Probably, but this way works for me. 1 Link to comment Share on other sites More sharing options...
David Baay Posted Tuesday at 05:26 PM Share Posted Tuesday at 05:26 PM Copy and delete as Chaps suggested is one way. You can easily select all notes of a specific note number(s) to be deleted by clicking/dragging in the keyboard/note names pane at the left of the Piano Roll View. You can also do a partial selection of the MIDI clip by this method, and then Shift-drag from the source clip to a new MIDI/Instrument track in the track view. Shift ensures the timing is constrained. Link to comment Share on other sites More sharing options...
AB99 Posted Tuesday at 05:56 PM Share Posted Tuesday at 05:56 PM If you want to process audio separately, a separate audio track can be added as well which points to a drum vst. For instance, you might want to add some reverb on the snare but not on the kick. You might want to eq the kick and snare differently, etc. 1 Link to comment Share on other sites More sharing options...
msmcleod Posted Tuesday at 06:14 PM Share Posted Tuesday at 06:14 PM I used to use a CAL script for this - best to read through the code and edit as required... it looks like you need to pre-create the 6 destination tracks first. ; clean up errors in sequence ; remove repeated notes (do (int noteTime 0) (int noteKey 0) (forEachEvent (do (if (== Event.Kind NOTE) (do (if (&& (== Event.Time noteTime) (== Note.Key noteKey)) (do (delete) (= noteTime 0) (= noteKey 0) ) (do (= noteTime Event.Time) (= noteKey Note.Key) ) ) ) ; do ) ; if ) ; do ) ; forEachEvent ; split drums into tracks (int bassDrum1 36) (int bassDrum2 35) (int rimShot 37) (int snare1 38) (int snare2 40) (int lowTom2 41) (int lowTom1 43) (int midTom2 45) (int midTom1 47) (int hiTom2 48) (int hiTom1 50) (int closedHat 42) (int pedalHat 44) (int openHat 46) (int crash1 49) (int ride1 51) (int china 52) (int ride2 53) (int splash 55) (int crash2 57) (int ride3 59) (int sourceTrack 0) (int destTrack 0) (getInt sourceTrack "Source Drum Track: " 1 255) (-- sourceTrack) (getInt destTrack "First Destination Drum Track: " 1 255) (-- destTrack) (int bassDrumTrack (+ destTrack 0)) (int snareTrack (+ destTrack 1)) (int tomsTrack (+ destTrack 2)) (int hatTrack (+ destTrack 3)) (int cymbalTrack (+ destTrack 4)) (int otherTrack (+ destTrack 5)) ; =============================== ; Clear Other Tracks ; =============================== (int curTrack bassDrumTrack) (while (<= curTrack otherTrack) (do (TrackSelect 0 -1) (TrackSelect 1 curTrack) (forEachEvent (delete)) (++ curTrack) ) ) ; =============================== ; Name tracks ; =============================== (TrackName "Bass Drum" bassDrumTrack) (TrackName "Snare Drum" snareTrack) (TrackName "Toms" tomsTrack) (TrackName "HiHats" hatTrack) (TrackName "Cymbals" cymbalTrack) (TrackName "MiscDrums" otherTrack) ; =============================== ; Copy events to tracks ; =============================== ; bassDrum (TrackSelect 0 -1) (TrackSelect 1 sourceTrack) (ResetFilter 0 TRUE) (SetFilterRange 0 0 TRUE bassDrum2 bassDrum1) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE bassDrumTrack) ; snare drum (SetFilterRange 0 0 TRUE rimShot snare1) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE snareTrack) (SetFilterRange 0 0 TRUE snare2 snare2) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE snareTrack) ; Toms track (SetFilterRange 0 0 TRUE lowTom1 lowTom1) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE tomsTrack) (SetFilterRange 0 0 TRUE lowTom2 lowTom2) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE tomsTrack) (SetFilterRange 0 0 TRUE midTom1 midTom1) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE tomsTrack) (SetFilterRange 0 0 TRUE midTom2 midTom2) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE tomsTrack) (SetFilterRange 0 0 TRUE hiTom1 hiTom1) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE tomsTrack) (SetFilterRange 0 0 TRUE hiTom2 hiTom2) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE tomsTrack) ; Hats track (SetFilterRange 0 0 TRUE closedHat closedHat) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE hatTrack) (SetFilterRange 0 0 TRUE pedalHat pedalHat) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE hatTrack) (SetFilterRange 0 0 TRUE openHat openHat) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE hatTrack) ; Cymbals track (SetFilterRange 0 0 TRUE crash1 crash1) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE cymbalTrack) (SetFilterRange 0 0 TRUE crash2 crash2) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE cymbalTrack) (SetFilterRange 0 0 TRUE ride1 ride1) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE cymbalTrack) (SetFilterRange 0 0 TRUE ride2 ride2) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE cymbalTrack) (SetFilterRange 0 0 TRUE ride3 ride3) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE cymbalTrack) (SetFilterRange 0 0 TRUE splash splash) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE cymbalTrack) (SetFilterRange 0 0 TRUE china china) (EditCopy From Thru TRUE TRUE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE cymbalTrack) ; Other Track (ResetFilter 0 TRUE) (EditCopy From Thru TRUE FALSE FALSE FALSE FALSE) (EditPasteToTrack From 1 1 TRUE FALSE FALSE FALSE otherTrack) ; delete notes that are present in other tracks (TrackSelect 0 -1) (TrackSelect 1 otherTrack) (forEachEvent (do (if (== Event.Kind NOTE) (do (if (== Note.Key bassDrum1) (delete)) (if (== Note.Key bassDrum2) (delete)) (if (== Note.Key rimShot) (delete)) (if (== Note.Key snare1) (delete)) (if (== Note.Key snare2) (delete)) (if (== Note.Key lowTom1) (delete)) (if (== Note.Key lowTom2) (delete)) (if (== Note.Key midTom1) (delete)) (if (== Note.Key midTom2) (delete)) (if (== Note.Key hiTom1) (delete)) (if (== Note.Key hiTom2) (delete)) (if (== Note.Key crash1) (delete)) (if (== Note.Key crash2) (delete)) (if (== Note.Key ride1) (delete)) (if (== Note.Key ride2) (delete)) (if (== Note.Key ride3) (delete)) (if (== Note.Key splash) (delete)) (if (== Note.Key china) (delete)) (if (== Note.Key closedHat) (delete)) (if (== Note.Key pedalHat) (delete)) (if (== Note.Key openHat) (delete)) ) ;do ) ; if ) ; do ) ; forEachEvent ) ; do Link to comment Share on other sites More sharing options...
Bristol_Jonesey Posted Tuesday at 06:34 PM Share Posted Tuesday at 06:34 PM (edited) 38 minutes ago, AB99 said: If you want to process audio separately, a separate audio track can be added as well which points to a drum vst. For instance, you might want to add some reverb on the snare but not on the kick. You might want to eq the kick and snare differently, etc. This for me has to be the way forward. When I want to edit the Midi, it makes total sense to edit a given event in context with all the others. For this reason I keep all my midi drum hits on the same Midi track Edited Tuesday at 06:36 PM by Bristol_Jonesey 3 Link to comment Share on other sites More sharing options...
Promidi Posted Tuesday at 07:53 PM Share Posted Tuesday at 07:53 PM 1 hour ago, Bristol_Jonesey said: This for me has to be the way forward. When I want to edit the Midi, it makes total sense to edit a given event in context with all the others. For this reason I keep all my midi drum hits on the same Midi track Same here... Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now