Don Johnson Posted March 9, 2022 Share Posted March 9, 2022 MIDI files are increasingly being used with mechanical pipe organs, which have different ranges of playable notes. The number of notes varies (20, 26, 31 etc), and so does the lowest playable. To create a suitable MIDI file with fewer notes from one with more can be achieved using Piano Roll in Cakewalk by SHIFT/Clicking on those not needed on the keyboard display, then using DELETE to remove all those which have changed colour. A different lowest note can initially be set using Track transpose - MIDI files for organs usually use just Track1 on MIDI Format 0. It would be very convenient if a pattern of playable notes could be applied to a tune, so that all those NOT within the pattern could be eliminated together. Is there any way that this is possible, or am I asking too much? Link to comment Share on other sites More sharing options...
scook Posted March 9, 2022 Share Posted March 9, 2022 MFX Event Filter maybe Link to comment Share on other sites More sharing options...
David Baay Posted March 9, 2022 Share Posted March 9, 2022 I use a Drum Map to pass only notes that can be played by a physical music box when composing for that instrument using a VSTi. Link to comment Share on other sites More sharing options...
Don Johnson Posted March 10, 2022 Author Share Posted March 10, 2022 (edited) 15 hours ago, David Baay said: I use a Drum Map to pass only notes that can be played by a physical music box when composing for that instrument using a VSTi. That sounds like what I want to do, but as a Cakewalk novice, can you give me some hints on how to go about it, please? Edited March 10, 2022 by Don Johnson Link to comment Share on other sites More sharing options...
Byron Dickens Posted March 10, 2022 Share Posted March 10, 2022 Posting your email address in an open forum like that is a monumentally bad idea. 1 Link to comment Share on other sites More sharing options...
musekamp Posted March 10, 2022 Share Posted March 10, 2022 If you want to delete notes outside a specific range, you can use the event filter. - select all the notes -- easiest way is probably to click on the clip header in track view - then choose Edit, Select, By Filter - in the dialog box uncheck everything except "Note" -- click the None button at the bottom and then check "Note" - then check "exc" and set Min and Max to the playable range - it should select everything outside the playable range which you can then delete If you're going to need this regularly you can save the criteria as a preset at the top of the dialog before you click OK. Link to comment Share on other sites More sharing options...
David Baay Posted March 10, 2022 Share Posted March 10, 2022 Given that you just want to be able to pass a contiguous range of notes in the center and save it as a preset filter that can be applied to multiple files, I second musekamp's approach. The drum map solution was needed in my case because the passed notes weren't a contiguous range, and I didn't plan to delete anything. I just wanted be able to hear what was missing, and then transpose/re-orchestrate to preserve as much of a performance as possible. Link to comment Share on other sites More sharing options...
Don Johnson Posted March 10, 2022 Author Share Posted March 10, 2022 14 hours ago, David Baay said: Given that you just want to be able to pass a contiguous range of notes in the center and save it as a preset filter that can be applied to multiple files, I second musekamp's approach. The drum map solution was needed in my case because the passed notes weren't a contiguous range, and I didn't plan to delete anything. I just wanted be able to hear what was missing, and then transpose/re-orchestrate to preserve as much of a performance as possible. Thanks for the replies, but I too do NOT have a contiguous range of notes - different organs use different selections of notes - they are not chromatic (if that is the correct term). Link to comment Share on other sites More sharing options...
scook Posted March 10, 2022 Share Posted March 10, 2022 In this case, something like the free NoteMapper from Code FN42 may be a good solution. It appears as a synth to the DAW. Pass the MIDI through this plug-in setting the probability to 100% only for the notes needed and use this plug-in as the input to the MIDI tracks for the organs. Link to comment Share on other sites More sharing options...
Don Johnson Posted March 10, 2022 Author Share Posted March 10, 2022 13 minutes ago, scook said: In this case, something like the free NoteMapper from Code FN42 may be a good solution. It appears as a synth to the DAW. Pass the MIDI through this plug-in setting the probability to 100% only for the notes needed and use this plug-in as the input to the MIDI tracks for the organs. The 'Filter out unwanted notes' option looks like what I am seeking. Thanks for the suggestion, which I will investigate. However, as a novice, like Captain Oates, 'I may be some time' ? Link to comment Share on other sites More sharing options...
Don Johnson Posted March 10, 2022 Author Share Posted March 10, 2022 Well, I must confess I'm stumped. I seem to have successfully installed the Note Mapper plugin into Cakewalk, but I cannot find any info' on using Note mapper in Cakewalk. I had hoped that I might be able to use this plugin without becoming fully conversant with Cakewalk, which I am using just to transpose and delete notes in a Piano Roll view - most of the rest in beyond me. I am also possibly hampered by not being a musician - I'm using a mechanical organ, not playing one! I was hoping to just pick out selected instructions for using the Filter function, but cannot even find general help anywhere. I'm grateful for the responses I have received so far, but unless I can find some sort of idiot's guide, I think this is all beyond me. I was involved in computing for about 30 years, but now my 82-year-old brain is struggling. Link to comment Share on other sites More sharing options...
57Gregy Posted March 10, 2022 Share Posted March 10, 2022 Often, when a plug-in has focus, clicking the computer's F1 key will open the plug-in's Help. Link to comment Share on other sites More sharing options...
scook Posted March 10, 2022 Share Posted March 10, 2022 NoteMapper may not be the solution. Since this is not about using the data in the DAW, I might use a different approach. If I had a bunch of MIDI files that I wanted to delete notes from I might create a CAL script for each filter then Load a MIDI file Select All using CTRL+A Process > Run CAL and select the CAL script filter to run Use "Save Copy As" to rename the filtered file If I had more than one CAL script, hit CTRL+Z to undo the first script then repeat steps 3,4 and 5 using the different CAL scripts until done with the MIDI file Close the MIDI file Repeat all steps until all the MIDI files are processed. Here is a sample CAL script that deletes all notes values above 77 deletes all notes value below 60 deletes all note values 61, 70 and 75 deletes all non-note events Quote ; this script deletes all non-note events, notes that are outside the high/low range in addition ; to the notes defined in the switch statement (do (int high 77) (int low 60) (forEachEvent (if (&& (== Event.Kind NOTE) (&& (<= Note.Key high) (>= Note.Key low))) (switch Note.Key 61 (delete) 70 (delete) 75 (delete) ) (delete) ) ) ) Copy the script and paste it into notepad or any text editor Adjust the high, low values (values in green) and add as many notes to delete in the switch statement (lines in blue) as necessary Save to "C:\Cakewalk Content\Cakewalk Core\CAL Scripts" with a meaningful name such as organFilter1.CAL The name can be anything but the ".CAL" extension is important Create as many scripts as needed adjusting the values for each organ. Link to comment Share on other sites More sharing options...
Don Johnson Posted March 11, 2022 Author Share Posted March 11, 2022 3 hours ago, scook said: NoteMapper may not be the solution. Since this is not about using the data in the DAW, I might use a different approach. If I had a bunch of MIDI files that I wanted to delete notes from I might create a CAL script for each filter then Load a MIDI file Select All using CTRL+A Process > Run CAL and select the CAL script filter to run Use "Save Copy As" to rename the filtered file If I had more than one CAL script, hit CTRL+Z to undo the first script then repeat steps 3,4 and 5 using the different CAL scripts until done with the MIDI file Close the MIDI file Repeat all steps until all the MIDI files are processed. Ah! This looks like something I would have used in my programming years, and although I do not know the language, the syntax is familiar. I did not mention that there may be notes outside the high/low range so the sample file looks ideal for removing those as well as unwanted ones within the desired range. My own 20 note organ uses these notes: F4 Bb5 C D Eb E F G A6 Bb C D Eb E F G A7 Bb C D so I'll substitute the MIDI numbers for those missing and the top and bottom notes BTW - I think that your line "delete all note values 60, 71 and 75" should actually read "delete all note values 61, 70 and 75" What's more - especially if the line above is correct - I DO understand it! ? and should be able to create scripts for any organ type. Thanks to you, scook, and all the others who tried to help. I look forward to writing some code again! Link to comment Share on other sites More sharing options...
scook Posted March 11, 2022 Share Posted March 11, 2022 55 minutes ago, Don Johnson said: Ah! This looks like something I would have used in my programming years, and although I do not know the language, the syntax is familiar. The scripting language looks like LISP but is very limited in what it can do. I use LISP mode in EMACS to handle syntax highlighting and paren matching. 55 minutes ago, Don Johnson said: BTW - I think that your line "delete all note values 60, 71 and 75" should actually read "delete all note values 61, 70 and 75" Yeah, it's a typo I'll fix it along with making the IF condition a little safer. BTW, once the scripts are created, it is possible to save some typing by binding the scripts to keyboard shortcuts. To bind CAL scripts to shortcuts use Preferences > Customization > Keyboard Shortcuts. The CAL scripts are near the bottom of the Global Bindings area functions list. Link to comment Share on other sites More sharing options...
scook Posted March 11, 2022 Share Posted March 11, 2022 Here are a couple of CAL resources CAL Editor - I am not a fan of dedicated tools like this but it comes with a very useful CAL reference in Windows help format (chm). CAL Programming Guide.pdf Link to comment Share on other sites More sharing options...
Don Johnson Posted March 11, 2022 Author Share Posted March 11, 2022 12 hours ago, scook said: Here are a couple of CAL resources CAL Editor - I am not a fan of dedicated tools like this but it comes with a very useful CAL reference in Windows help format (chm). CAL Programming Guide.pdf Thanks scook, I worked with many languages during my career, but at the age of 82, I don't think I want to start learning another - my memory is not what it was! I'm happy to just modify your sample script. Just to let you know, I have successfully modified your script to suit my organ and it did exactly what I wanted. I did have to play with the MIDI numbers since mechanical organs do not always actually play notes from the key that the music file contains, and it still confuses me - and lots of others - but I got there eventually after finding the correct number of 12's to add or subtract.. Link to comment Share on other sites More sharing options...
scook Posted March 11, 2022 Share Posted March 11, 2022 Glad it worked for you. Remember there is no one standard for mapping MIDI note numbers to pitches. There is a setting in CbB to adjust the pitch display called Base Octave for Pitches Usually, I just toggle the label frame (keyboard display) next to the notes pane in the PRV between note numbers and pitches Right-click the keyboard to display the Note Names dialog Select the "Use these Note Names Instead" radio button then Select 0..127 to display note numbers or Select Diatonic to revert to the keyboard Link to comment Share on other sites More sharing options...
Don Johnson Posted March 11, 2022 Author Share Posted March 11, 2022 I couldn't "remember there is no one standard for mapping MIDI note numbers to pitches" as I know so little I didn't know that! The display alternative setting guide would have been helpful, but although I may have actually stumbled on those options before, I never would never have guessed that 0..127 referred to MIDI numbers. But another thing shows how unfamiliar I am with Cakewalk in the fact that I had to use Google to find out that PRV meant Piano Roll View ? Doh! Link to comment Share on other sites More sharing options...
dayhu Posted April 11, 2023 Share Posted April 11, 2023 Just saw your question about removing unwanted notes. I am as well well over 80 and I don't need too much complication. What I use is a program called gnmidi you can do batch conversions of hundreds of files at one time There is a function called note replace. Just replace all The Unwanted notes with something very high for example midi numbers 100 to 127 . You can go back there into Cakewalk and delete all of those very easily 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