Jump to content

Sridhar Raghavan

  • Posts

  • Joined

  • Last visited


33 Excellent

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. All Apologies If if this is already answered some where else. I am returning after a few months of being immersed in another front. I was able to figure out and solve the problems of Korg Style Selection/Control, Instrument Selection by inserting appropriate MIDI messages in a track. I will share a post on that, updating the topic from 6+ months ago. I can confirm that I do not need any updates to Korg Instrument file. So I am proceeding to create a convenient CAL script for inserting the Bank/Patch change message. 1) Does any one know if there is a CAL Script associated with that Menu command -- Insert-->Bank/Patch Change? So I can build on it? 2) I realized that CAL does not allow/support User Input of Strings (numbers are fine) and also does not support Operations on Strings. Can anyone confirm that I am right or that I am wrong? 3) Built-in CAL Variable Now gives the time/location of the Cursor. Nice. Is there a symbolic variable or some other method, to know what the Current Track is? (on which a user is invoking a Cal Script, a la here inserting Bank/Program change). 4) Also, as far as I can see, various properties can be set to a Track. But how does one read the properties of a Track? especially of the Current or Selected track? Just does not look right that Track info is Write-Only and Cannot be read. 5) How do I add a Cal Script to the menu system -- so I can run it by clicking.. instead of Run Script and selecting it. Thanks in advance Sri.
  2. Usr 905133: yes this also paves way for using MIDI tracks in Cakewalk for harnessing the full power of MIDI and External Synths through their Custom MIDI Sequences. (should also apply to VSTs). I hope Cakewalk addresses some of these issues discussed here and makes the application of unnecessary rules optional. INS file are, philosophically speaking, STATIC slow changing. But I create new Styles and Performance, like everyday - so they are pretty dynamic. This just means that I will just create PA600Style.INS with symbolic names, covering potentially all the references (Factory, User, Favorite categories, and within that Page Number (1-16) and Item Number (1-8). What is the approach you used/using for Roland Arrangers?
  3. Success!!! Quite excited that I can get Style Controls to Work now. Fine-Grained details still needs some attention, tweaking, and confirmation. I am able to send Bank/Program Change on Channel 16 and Select Change PA600 Style. But there is a problem with Insert->Program/Change menu as it does not seem to update the Channel number properly. I have to manually edit/set the channel number to 16 on the Midi Events view. I am sure this would behind me soon. Overall, I think, all the minor issues / idiosyncrasies can be fixed and a solid reliable working method/process can be put in place. I will share/update the final approach/process here, once I am done. P.S. I also believe that much of the issues I was observing before [for a few months] will go away once an INS file is associated with every channel. Will check these also for CAL scripts. Adding screen shot showing Channel 16->Korg PA600 mapping.
  4. A quick update. I noticed that Instrument Files need to be assigned every channel - and I had not mapped Channel 16 to Korg INS file. Sure there might be a way to assign INS file to all channels and Drumkit.INS to the drum channel. So some glitter of hope.
  5. As per MIDI Standard, any command that is received by a Synth, which it does not know/support will be ignored. Of course MIDI commands are expected to be VALID and consistent with MIDI standards. What Cakewalk does? a) It converts the MIDI events into something else - which it thinks it should be. Like over zealous Spelling/Grammar correctors. b) When I insert Bank/Patch change, it works only when you can pick from the drop down lists (which it builds from INS file). c) But even in (b) it does not allow adding a specific Bank/Patch to Channel 16 !! (Channel 16 is my control channel - and that is where I need to insert Bank/Program message for controlling Styles). See the screen shot. (May be, Cakewalk does not need to know it is a Control Channel. I will give that a shot). Sadly these are breaking the foundational / fundamental compliance with MIDI, for no sane reasons, It may also mangle valid MIDI files existing and/or created using other tools/methods and preventing them from being played correctly by target synths Furthermore.. Cakewalk does not display MIDI Events in the MIDI Events Viewer in simple Time, Status, Data1, Data2 format. A format that applies universally to all MIDI messages and extensively documented everywhere and in use for years. Cakewalk wants to displays events in its own way, supposedly for making the easier, but only obscures the real data by imposing its own lens. Cakewalk should at least give an option to display basic MIDI data format - which all MIDI programmers use. (I hope Cakewalk Staff are monitoring and putting some corrections and/or feature requests. I am writing these only with the intention that Cakewalk, as a tool, is robust, rigorous. standards compliant, and user empathetic). See the screen shot below. Notes area may not be readable in the screen shot. So I have cut/pasted it here. [Track 1 Channel is 1 Track 2 Channel is 16. I am able to add Bank/Program Change on Track 1 to Channel 1. But I cannot add Bank/Program Change to Channel 16. The Drop down for Bank is Empty. ]
  6. David Baay: you might have triggered a thought with "GM Files" - may be I need a way to change that to say "this is not GM". Thanks. Usr905133: I have been using PA600 and controlling it via MIDI since 2013. Comprehensively. As I have said before, I have tons of Python Code for generating MIDI files expressed in my simple specification language. I will post a sample of it, in case I have not already done so before, to give you a flavor. (Certainly not for any other reasons). Thanks you very much, both, for staying on the focus I requested.
  7. Preface: I have concluded that Cakewalk applies (unwanted, over zealous) rules and changes Midi Events (which are fully compliant with MID standards, but it does not know about) especially related to CC 00/32 and Program Changes. Please accept this, as I do not want to spend a lot of time showing/proving this. I have already written a lot about these before, and trust me I am quite competent with MIDI and I have also ramped to a significant level on Cakewalk. To the point Cakewalk has become my staple. Appreciate your thoughts/help with just the focused question below, rather than discussing the above preface (and/or other ways to accomplish the results). Context: Korg PA600, like most Keyboards/Synths, uses the MIDI events (CC 00/32, Program Change) for selecting Styles, Selecting Variations, Start/Stop/Break, Fills etc. These are standard MIDI events with channel number set to Control Channel, and MSB/LSB parameter values set as per their documentation. I have many MIDI files that use these and apply them, for changing Styles and Patches several times during a Song. These Midi Files play fine using any Midi Player. Question: How do I make Cakewalk load/play a MIDI play file as-is without changing the contents? Is there a configuration settings for this? Bit More.. I am going to explore/check if I can add those Style Control sequences as valid instruments in the .INS file. This will be an undesirable hack, even if it works. But I will find out.
  8. David Baay Thanks a lot for systematically and nicely addressing all the elements in my original post. Thanks for the names of the FX/Plugins and I am starting to look into them. I will look into what you said about input side processing -- selecting multiple channels or presets. if that works, especially selecting a list of channels, it would be great.
  9. bVideo I think you may be mixing monophonic with mono-channel. Monophony and Polyphony are terms used for number of simultaneous notes played in a channel. Channels -> Have notes and other channel specific events Tracks -> can have one or more channels. Putting envelopes or controller streams in a multi-channel track makes editing more complicated. It is just a Cakewalk decision, to provide the current [rather incomplete] Piano Roll View. It could have easily provided a UI for selecting one or more channels to show in the View (for viewing and/or editing). Many MIDI editors, even simple ones, like Seikaju provide this, for years. Also it would address an important need of making edits in the context of and keeping other channels in view. But for curiosity, where would a multi channeled data stream come from that would benefit a MIDI recorder to keep multiple channels and drop others coming from such a source? (no challenge implied, just curious) As I said in a previous note, please think "Music/Flow Design" in terms of the power of MIDI and not the power of DAW. Of course, it goes without saying, that your implementation environment (like DAW, other toolsets) will limit what/how you can do. For example, My Korg PA600 (and is true of most Synth/Keyboards) transmits midi data on 16 channels. Instead of having one track for each channel, I cluster them as follows for editing/mixing tasks: Melody/Lead Tracks: 1,2,3,4 Pad Tracks: 5,6,7,8 Drum: 9 Percussion: 10 Accompaniments: 11-15 Global/Control: 16 This way I can operate on them together or separately as/when needed. For example, exporting Audio tracks (grouped as above) for processing in Audacity - where I have more sophisticated environment for editing, syncing, and mixing. Also, remember, software programs and synths can also generate MIDI streams. I do have Python/C# programs that interface with Flight Simulator Joystick and generate sophisticated MIDI streams (one or more input ports).
  10. bitFlipper Thanks for your points and are well taken. It is interesting to read your expression "Epiphany of Discoveries". I will just share a bit more general/philosophical things triggered by your (as well by few others) notes. Though this might appear to be straying from the main thread, but hopefully generate some serendipity. Yes I have always been amazed at how the simple/old MIDI standard has contributed to music processing and automation. Yes, arguably some simple things are missing, but remain trivial incidentals. For example, Transpose, Loop points etc. Midi's overall success is indisputable. I have not yet tracked Midi 2.0 standards, as my hardware does not support it. Yes I am quite immersed in MIDI and I have been for years. All aspects of it: Midi File formats, Status-es, CC, RPN, NRPN, Sysex etc. Have plenty of custom Python and C# code. I have my own custom Midi Generators, Players, Processors etc. For example, I use MIDI Text Area for encoding advanced, custom commands, for specifying loop points, Tuning Type Selections, Style Control/Changes etc. We computer scientists, have always focused on specification/programming language machineries that are formal, unambiguous, and provide consistent building blocks with precise syntax and semantics. That enable developers to reliably express and execute what they would like to get done. This ushers in an unbounded imagination of possibilities, yet constrained to a well defined axiomatic system (notwithstanding undecidability aspects). MIDI, DSP, Audio and file Standards are the core underpinnings of all DAWs. I am deliberately stating the above to state my mindset and orientation. I think in terms of computational machineries of underlying standards, and my thoughts are not shaped/limited by a DAW and/or its product engineering tradeoffs. Product engineering should never "strangle" the fundamental power of the underlying standards machineries, but, unfortunately they do, by accident or by design. Product Enthusiasts and Die Hard fans (who are less exposed to computer science ways) often fail to see these and rush in defense of the "idioms" advocated by the products as if they are fundamental.
  11. I am sharing a comment I posted there, unbelievably Hideous. What we are discussing about things missing is so much saner.
  12. Just as an aside.. Akai was kindly responsive, but do not have any answers to the configuration process. Just use brute force set up on the hardware. So I ended created a new preset, and configured 100+ elements (as I wanted to fully harness all those elements for various things). I was horrified/appalled to see that Channel number has to be hardcoded on 100+ elements. I want the ability to use MPK249 to send MIDI input to different destination channels, and be able to change that trivially. Like setting a Default Channel in one place, and refer to that value in all the element configurations (override in few places as needed). This, even a beginner programmer, (and now the age for this has really gone down to Kindergartens) knows about Variables and assigning values to them and using them wherever needed. Truly Hideous!!
  13. Dear 57Gregy/bVideo Appreciate your comments. As you guessed I am long time passionate Musician and Computer Technologist. The latter is my career obsession and the former personal/Life obsession. Given my Life Stage, it would be rather unbecoming of me to share all my credentials, tantamount to showing off. I have always tried my best to pursue, and it is quite a challenging task, to embrace humility. I intend to maintain that. All I would say here is, that I am top league recognized computer scientist/technologist, and also spent years in academia as a Professor of Software Engineering/Management. I always inculcated intellectual rigor and discipline in my students as well as all my engineering teams. One of the reasons, probably, I do not warm up to complacent/cavalier approaches to doing things - as it only leads to unethical transfer of cost (apparent/phantom saving in costs for product organizations) to everyone else [users ..] bVideo you hit it on the head: But one thing is truly missing from Cakewalk documentation: MIDI signal flow. That was the point of my original post as well. Will just mention that I am intensely familiar with every aspect of MIDI (and I have created lot of custom code and algorithms, anchored on MIDI). So my question was not at all due to lack of understanding of MIDI or its idioms.. 57Gregy -> I see you have no questions about this; I would certainly question why you can't select specific input channels. You have included already the part of my post on this. I was asking just that i.e. why I cannot select a list of channels - a la Multiselect. Rather than OMNI or a specific channel. May be I should try again and will stand corrected if I missed the ability to Multi Select. 57Gregy -> Can you list your gear? Keyboard/controller, sound card or audio interface (if any), and how you're inputting data (mouse, recording keyboard). Maybe a screenshot or two of your Preferences re: MIDI settings, etc. This is not relevant to my question. You can also see the above comment. So I will ignore it without going into why it is so.
  14. Dear Michael Thanks for your suggestion. Unfortunately, I have gone through the guide(s) - at least two of them, at least a few times, and I refer to them often. They are highly slanted towards UI Mechanic, which I think does it pretty well, as most manuals do, but never bother to simple pictures and mental to basic concepts/underpinnings like I am looking for. If I have missed it, and it is quite possible, I would appreciate your focused bounded pointer(s) to any section. Better than that. I would appreciate your own [and others] accumulated insights on these.
  15. Preface All gurus/experts/enthusiasts, I have gone through the forum and other places as much as I could. But somehow essential/basic concepts/principles remain clouded/absent/elusive. As if they are trivial and/or common knowledge and so not worth discussing, with focus on "other complex exotic" things. Needless to say basic concepts and principles are the foundations through which one understands and deals with all the other things of the product. In the absence of which everything starts skewing towards becoming "Idioms". Trust me I am pretty functional and productive with Cakewalk, and already it has become my main staple. What I am highlighting is just one of the issues I have a compelling need to tackle. Appreciate your responses, tips and clarification anchored on the generic conceptual framework below, rather than digressing away from it. Thanks in Advance. --- Midi Track Basics Here is the Basic Mental framework of the elements/flow I have and trying to get a clearer picture. Most of it is common knowledge, and yet I am repeating it so there is clarity of context for the questions. (there may be many more. But let us keep them out for now). a) Input Source This specifies a source of MIDI events/data. Like a Midi Controller or output from some other MIDI track Note: There can be at the most only one source. Will not worry about where there is no Input Source. Questions: None b) Incoming Midi Events This specifies what MIDI Channel data will be selected as passed on for processing. OMNI - means all channels, N - a specific channel. Cakewalk does not allow a list of channels to be selected. For example, [2,3,16] Not sure why? Questions. None c) Input side preprocessing These are additional preprocessing of the incoming MIDI data. Further Filtering of MIDI events, Transforming MIDI Events Data, like param values as well as Channel numbers. Is this possible in Cakewalk? What are these elements called? Plugins, Effects?? How are these configured? d) Midi Track This is where data is recorded. Recording may be done in many modes. Overwrite. Means existing data is overwritten with New Data. Comping. Means existing data remains intact. New data is recorded in separate track lanes or versions. User can then select/combine these versions as desired. Sound On Sound. New data is recorded on top of existing data. So track data contains both the old and new data superimposed. UI is provided for seeing recorded data, as well as editing/updating/adding of events and transformation of events data. These are done through direct UI interactions, unlike in (c). e) Output side processing This is about post processing of track data while playing back. For example, changing channel numbers, transforming mid event parameter values etc. Applying effects etc. What are these elements called which does these post processing. FX, Plugins? f) Sending midi data to destination These specify the destination Synths - hardware or VSTs, or other tracks (or even other places) Can there be more than one Destination? Looks Like NO. So how does one accomplish this - without convoluted work arounds? Discussion Is the above picture an accurate basic representation of a Midi Track processing (leaving the complex details at bay)? Given this, my basic question is how to do the following? a) Input Preprocessing How do I change all events on Channel 1 to events in Channel 2? Is there a Plugin/Transformer that can help? How do I include only those MIDI Events that are on Channel 1 or 10? or a list of channels? Again are there any midi filter plugin that can help? How do I exclude Pitchbend events? or select CC events? Again are there filters, plugins that can help? b) Output Side How do I replicate MIDI events on, say, Channel 1 to Channel 3,4,5? Is there a plugin that can help?
  • Create New...