Starship Krupa Posted March 7, 2019 Share Posted March 7, 2019 I went and did it again. Every so often, not often enough it seems, for me to remember how to get myself out of it, I create a MIDI Black Hole. A spot in the Piano Roll from which no sound can ever emanate. There's a note on the grid in the correct place, I can right click on it to get its properties and there's nothing about it that indicates anything weird. I can delete it and re-enter it and still, no sound. I delete the previous note to make sure it's not the note-off screwing things up. If I nudge the note a little late it will happily sound, but then it will sound too late. It's a cursed spot on the Piano Roll, a place of no velocity, no note value, no sound, just silence. It sucks sound in and none comes out. But aha! This time I think to look in the Event List, and yes! It shows that in addition to the note I have entered, there is also a Zero Zero at that same start time, appearing right before it in the list. Apparently in the MIDI spec, in the event of such a collision, it's like a 4-way stop, the first note there wins. So I zoom and I zoom and sure enough, eventually there's a little speck visible at the leading edge of my non-playing note. I delete this and all is normal and no more MIDI Black Hole on my Piano Roll. I post the above for the amusement and education of anyone who has suffered from the same phenomenon or may in the future. Also: combing zero-length (and/or zero velocity) notes out of a project seems like a useful task for a CAL script. Does anyone know of such a script or where I might look for one? Or maybe there's already an easier way to ferret them out than by poring over the Event List, then zooming in and zapping them? 3 Link to comment Share on other sites More sharing options...
msmcleod Posted March 7, 2019 Share Posted March 7, 2019 This will do that: (forEachEvent (if (&& (== Event.Kind NOTE) (&& (== Note.Vel 0) (== Note.Dur 0))) (delete) ) ) 1 2 Link to comment Share on other sites More sharing options...
Starship Krupa Posted March 7, 2019 Author Share Posted March 7, 2019 Thank you Mark. Now I just need to figure out what to do with that elegant bit of code! I've yet to run a CAL script. This will be my first. Good opportunity. Link to comment Share on other sites More sharing options...
msmcleod Posted March 7, 2019 Share Posted March 7, 2019 29 minutes ago, Starship Krupa said: Thank you Mark. Now I just need to figure out what to do with that elegant bit of code! I've yet to run a CAL script. This will be my first. Good opportunity. deleteBlackHole.CAL Put this in your CAL directory (default is C:\Cakewalk Content\Cakewalk Core\CAL Scripts ) Select your clip, then press CTRL+F1 and double click on this CAL script. 1 1 Link to comment Share on other sites More sharing options...
Starship Krupa Posted March 7, 2019 Author Share Posted March 7, 2019 Success! Thank you, Mark. It got all of them but one that has a duration of 0 and a velocity of 80. I can pick it off manually. For future encounters, I think it will do exactly what I want if it just looks for (== Note.Dur 0), but I have no reference for CAL of course, and I don't want to take chances with a script that deletes notes.? Does that pair of ampersands in "(&& (== Note.Vel 0) (== Note.Dur 0))" mean that both of those have to be true in order to execute "(delete)"? I notice in the other scripts that there are a lot of doubled-up ampersands, but I can't quite figure out what they do. Link to comment Share on other sites More sharing options...
msmcleod Posted March 7, 2019 Share Posted March 7, 2019 The && operator only works on two expressions, which is why they're nested, as there's 3 conditions: So if you change "(&& (== Note.Vel 0) (== Note.Dur 0))" to "(== Note.Dur 0)", it should pick out all notes of a duration of zero. You still need the (== Event.Kind NOTE) as you only want it to affect notes. So the adjusted code would look like: (forEachEvent (if (&& (== Event.Kind NOTE) (== Note.Dur 0)) (delete) ) ) 2 Link to comment Share on other sites More sharing options...
InstrEd Posted March 7, 2019 Share Posted March 7, 2019 Thanks for the information Mark Link to comment Share on other sites More sharing options...
Craig Anderton Posted March 7, 2019 Share Posted March 7, 2019 If you don't need the specificity of Mark's CAL script, there's always the Process > Deglitch menu (aka "the MIDI guitarist's best friend"): BTW Mark - good job on the sampled piano!! 2 2 Link to comment Share on other sites More sharing options...
Larry Jones Posted March 9, 2019 Share Posted March 9, 2019 On 3/7/2019 at 4:13 AM, Starship Krupa said: I create a MIDI Black Hole. A spot in the Piano Roll from which no sound can ever emanate. Long way around in describing this, but it was a good read, so you're forgiven. Also, good to read the solution. I might need it someday. Link to comment Share on other sites More sharing options...
RBH Posted March 9, 2019 Share Posted March 9, 2019 Craig - I never knew there was a function like that - thanks for pointing this out, probably been there for 20 years too. Link to comment Share on other sites More sharing options...
John Vere Posted March 9, 2019 Share Posted March 9, 2019 Funny Craig pointed it out and beat me too it. And yep I have used that dialog I think since Sonar 6? And for sure it was because of my attempts at recording my Roland GR 50 to make bass parts. It also comes in handy with my Yamaha DTX drums as the hi hat pedal is glitchy. Those pesky hidden notes are always an issue. I get them a lot when I create a midi track from a real bass track with Melodyne. For me the dead giveaway is when a note does not sound or cuts out prematurely. So I grab the dead note and move it up or down to reveal the hidden note. Zooming in helps if they are that small. Link to comment Share on other sites More sharing options...
InstrEd Posted March 9, 2019 Share Posted March 9, 2019 It is funny that these DAW's that have been around for over 20 years are very deep and we tend to forget that. Link to comment Share on other sites More sharing options...
John Vere Posted March 9, 2019 Share Posted March 9, 2019 Cakewalk has very deep MIDI editing and I'm not sure people realize how deep. After all it started life as a midi editor/sequencer so all those original feature, some of them not even really needed anymore, are still there. Link to comment Share on other sites More sharing options...
abacab Posted March 9, 2019 Share Posted March 9, 2019 50 minutes ago, Cactus Music said: Cakewalk has very deep MIDI editing and I'm not sure people realize how deep. After all it started life as a midi editor/sequencer so all those original feature, some of them not even really needed anymore, are still there. That's probably one of the main reasons I plan to keep it around! Studio One can't do that sh*t!!! 1 Link to comment Share on other sites More sharing options...
Starship Krupa Posted March 10, 2019 Author Share Posted March 10, 2019 17 hours ago, Larry Jones said: Long way around in describing this, but it was a good read, so you're forgiven. Thanks. I was having fun, and in good humour, having found a way out. And thanks to Mark and Craig for the reminders of how many ways there are to hammer MIDI problems in this program. Link to comment Share on other sites More sharing options...
Starship Krupa Posted March 10, 2019 Author Share Posted March 10, 2019 8 hours ago, Cactus Music said: it was because of my attempts at recording my Roland GR 50 to make bass parts. It also comes in handy with my Yamaha DTX drums as the hi hat pedal is glitchy For me, it's more like: 1. Practice keyboard part until I flow like Liberace sans candelabra 2. Arm MIDI track 3. Press R 4. Stagger around on keys like a sedated kitten for 3 or 4 takes until I realize it's not going to get any better 5. Quantize 1 Link to comment Share on other sites More sharing options...
John Vere Posted March 10, 2019 Share Posted March 10, 2019 48 minutes ago, Starship Krupa said: For me, it's more like: 1. Practice keyboard part until I flow like Liberace sans candelabra 2. Arm MIDI track 3. Press R 4. Stagger around on keys like a sedated kitten for 3 or 4 takes until I realize it's not going to get any better 5. Quantize Ya, that's exactly where hidden notes come from. I know real keyboard players don't quantize for this very reason. But my keyboard and drum chops would never be heard in public without the magic of midi cheating like h--l . Long live midi editing and especially quantizing. Link to comment Share on other sites More sharing options...
Starship Krupa Posted March 11, 2019 Author Share Posted March 11, 2019 20 hours ago, Cactus Music said: real keyboard players The thing that baffles me is what happens between steps 1 and 4. ? Am I just kidding myself about the results of step 1? Is it performance anxiety? Link to comment Share on other sites More sharing options...
Grem Posted March 11, 2019 Share Posted March 11, 2019 1 hour ago, Starship Krupa said: Is it performance anxiety? Gotta be. I suffer from it too!! 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