Jump to content

Cakewalk Midi Track Basics Flow and Few Questions


Recommended Posts

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?

  • Thanks 1
Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

12 hours ago, Sridhar Raghavan said:

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

I see you have no questions about this; I would certainly question why you can't select specific input channels. I think everyone else can.
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.
Your queries suggest you're an experienced computer musician and are baffled by the simplicity of Cakewalk and/or MIDI basics, or are a complete neophyte, which I don't think you are.
I'm not the most knowledgeable guy here, but I get on okay. I'm sure you will, too. Lots of folks here that can help. 

Link to comment
Share on other sites

It may be fair to say that Cakewalk and Sonar have not made a big practice of educating it's users on the basics of MIDI. There are certainly primary sources available that would be better for learning the MIDIoms, and that is quite sensible. MIDI in Cakewalk reflects the patterns developed in the original mission of MIDI 40 years ago. Computerization of MIDI (e.g. GUIs, event-processing plugins, soft synths, tracks and lanes, controller "envelopes" replacing series of controllers, etc.) has been (mostly) gently integrated with the basics over the years. Old hands from the 80s don't usually have problems grasping what any DAW MIDI implementation has done.

But one thing is truly missing from Cakewalk documentation:  MIDI signal flow. How can we possibly know: meters, mute and solo buttons, channelizing, merging input with recorded events, track gain, clip gain, track volume, where MIDI FX fit in, etc. That fitting together of basic elements is truly idiomatic to Cakewalk, and can't be fully derived by the logic of MIDIoms (Cf. my pet peeve: mute and solo) or even by the logic of audio. It's been my experience that audio software and hardware always comes with some kind of diagram showing signal flow. Why not MIDI in Cakewalk? It's complicated.

  • Like 1
Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

It's completely normal that whenever you learn something informally there will be annoying gaps in your knowledge. I'd been using MIDI for years before finding out about SysEx dumps and suddenly realizing what I could do with them. Discovering hidden features of a synth via NRPNs. The revelation that MIDI plugins existed. MIDI over a UART and 5-pin DIN made perfect sense, while MIDI over USB made no sense at all, and I'm still not entirely sure why it even works. Finding out that I could record CC events on a separate track from the notes was an epiphany. Finding out that I could program lighting with MIDI, ditto. 

Being a technologist and a software guy, you might do well to attack MIDI like you've probably approached other technologies: from the bottom up. Just the opposite of how subjects are usually presented in books and academic settings. Download some formal specifications for the MIDI standard and MIDI file formats. Lots of good information at The MIDI Association's website

  • Like 1
Link to comment
Share on other sites

15 hours ago, Sridhar Raghavan said:

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.

Cakewalk does not have the ability to assign another track's output as an input. But you can select more than one port and/or channel for Input using input 'Presets'. 

 

15 hours ago, Sridhar Raghavan said:

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]

Yes it does, see the Manage Presets option in the Input selection menu.

15 hours ago, Sridhar Raghavan said:

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?

Cakewalk only allows filtering what is echoed and/or recorded. It does not support transforming events between input and recording.

15 hours ago, Sridhar Raghavan said:

d) Midi Track

This is where data is recorded.
Recording may be done in many modes...

Everything you wrote here is essentially correct.

15 hours ago, Sridhar Raghavan said:

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?

Events can be transformed non-destructively in real time at the output by MIDI FX. MIDI FX can also be destructively 'applied' to a clip/track. Some MIDI fX are shipped with Cakewalk and many others are available from 3rd parties, often free. 

15 hours ago, Sridhar Raghavan said:

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?

That's correct. The best and simplest workaround I know of is to use one of the VSTi FX plugins (not MIDI FX) from CodeFN42 (e.g. MIDIChFilter) which appear as Soft Synth targets for the Output of a MIDI track and echo the MIDI (with or without transformation) to a virtual port that can be selected as an Input for other tracks. There are other plugins and 'virtual MIDI cable' solutions available, but they are rother more 'invasive' and/or introduce transmission delays that the CodeFN42 plugins do not.

15 hours ago, Sridhar Raghavan said:

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?

As noted the CodeFN42 plugins can perform various transformations in real time and act as Inputs to other tracks such that the transformed data can be recorded. Otherwise your limited to destructive options like  Process >Find/Change and the MIDI Event Inspector in the Control Bar or using MFX on the output.

Edited by David Baay
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

About the selection of list of channels: I think there is a historic idea that the receiver of the output side is the element most concerned with the disposition of channelized data, not the source, and not the recorder (as an intermediate).  The synth receiving from a multi-channeled track would be programmed to deal with channels, presumably sending some of them to their assigned voices and ignoring others. Also, the general paradigm in Cakewalk for audio and MIDI is to record as received, with little or no provision for modifying the data before it gets recorded. Recorded data can then be edited, and output data can be modified on the fly (FX). For MIDI, the obvious exception is that a track can be configured to drop all but a single channel during recording. That panders to the notion of a monophonic synth. Also, it allows data coming from a single source, like a sequencer, to be easily recorded to separate tracks, divided by channel, again with the notion of monophonic synths.

Setting aside the presence of monophonic synths, it's usually just easier to deal with single-channel tracks. For example, the control widgets in track view can only affect a single channel. Putting envelopes or controller streams in a multi-channel track makes editing more complicated.

But for curiosity, where would a multichanneled 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)

You've picked up on that gap in Cakewalk such that there is no simple way to direct a single recorded stream to multiple synths (your 'f)'). It's easy with audio. It's been requested for MIDI. "MIDI aux tracks, please."

[monotimbral is a better word than monophonic here]

Edited by bvideo
better word
  • Great Idea 1
Link to comment
Share on other sites

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.    

  • Thanks 1
Link to comment
Share on other sites

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).

Link to comment
Share on other sites

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. 

Edited by Sridhar Raghavan
some edits/adds
Link to comment
Share on other sites

If you're interested, the Cakewalk PRV allows displaying multiple tracks. When one track of a multitrack PRV is focused, that track's notes are highlighted, and the others are not. You can configure presets (called "filters") to define groups of tracks to quickly call up for displaying and editing together. It is just another idiom for multichannel editing, but it favors having one channel per track. The event view and staff view use a similar paradigm, but different GUI ops. In this way, Cakewalk aims to address the wish to do coordinated editing on multiple channels on multiple synths.

It would be a bit limiting to depend on a conventional sequencer track for use as containing a unitary multitimbral group while it doesn't really accommodate multiple ports or synths. For that purpose, a track would need to be able to address multiple output ports / synths, not just multiple channels. Over years, Sonar & Cakewalk evolved ways to group tracks for purposes of grouping voices or other concepts (cf. folders and views), apparently instead of generalizing the track concept. The DAW world is pretty competitive. They sure don't all work the same, or have the same strengths, but they all have to try to keep up, while evolving in their own ways. The Cakewalk manual covers most of what we are talking about, but it's pretty big and maybe not organized to everyone's taste. From the old days of a standalone MIDI sequencer and multiple synths, the Cakewalk manual picks up pretty well.

  • Like 1
Link to comment
Share on other sites

22 hours ago, Sridhar Raghavan said:

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. 

Ultimately, I think you'll find life is a lot easier if you just have one track per instrument, record everything as channel 1, and use the forced output channel assignment in the track as necessary to determine which instrument in a multitimbral synth responds to that track. Non-multitimbral synths can all be on channel 1 since they each present a  separate virtual MIDI port to the DAW.

Link to comment
Share on other sites

  • 1 month later...

Bonjour Messieurs,

...je commencerai ici par quelques pointillés, car, beaucoup de sujets évoqués ici,  voir tous, sont tellement d'un grand intérêt. 

Aussi, en ce sens, après  vos éclaircissements  respectifs, ..., questions, affirmations, réponses, etc, il me semble très  clair que dans nos démarches,  soyons toutes et tous convaincus de l'intérêt  de ces forums, des différentes docs ou"user manuals" que nous pouvons trouver en cherchant bien, vous même,  en cherchant mieux...

Merci, votre, vos, aides sont précieuses  !

Je terminerai simplement en affirmant des choses que nous savons déjà, ou que l'on ose pas où peu mettre en questions ou, mettre en avant, ...,  comme vous l'évoquiez ici, ... :  L'informatique, toute musicale soit-elle, est un monde merveilleux, au sein duquel on peut trouver, rencontrer, ..., tant de merveilleuses personnes ! Et, je pèse mes mots ici.

Encore merci.

AlBan (P.In P. : ... Process In Progress,  un passionné  en quêtes de pistes, de solutions,  references, et autres topic. )

Thanks. GOOD JOB "MESSIEURS" !

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...