MIDI Happenings

Alex: Some of the things you are describing is already possible using “underlays”. Any number of tracks can be used as backgrounds for an existing track. I agree it should be possible to have several channels in one track, highlighting the active channel so you don’t have to have 16 independent ardour tracks to have 16 voices.

Dave: Implementation wise this could be done by filtering the active channel and showing it in the visible streamview, then create ghost regions of the inactive midi channels and then show them as underlay.

Interesting Audun. I haven’t explored underlays as much just yet.
Your response brings a question.
If i were to employ 16 ‘underlays’, how would i cycle quickly through them?
Because if the top layer was ‘16’ channel capable, with the ability to assign specific mchas’ to notes AFTER they’d been inputted, then one layer would seem to suffice?

Or do i have the wrong end of this somewhere? (Which may well be highly likely.)

I’m keen to reduce the number of tracks wherever possible., and if i have multiple articulations for one instrument or section, it would make sense to keep all the relavent work and input in one track, or a minimum number of tracks.

Alex.

Alex: The idea isn’t developed yet. What’s possible now is you have e.g. midi track 1-5; disregarding channels, you can display midi track 2, 3, 4 and 5 under track 1, using the same vertical range, seeing voices on top of each other.

As shown here:
http://www.audunhalland.com/files/ardour-stream-underlay4.png
(Midi1 shows the contents of Midi2 (as well as some audio, the screenshot just demonstrates the underlay concept in general))

I haven’t thought about much else outside that domain. Channels could be analogous to “voices”, but it seems a bit limiting to only have 16 voices per track. I think a design goal of ardour is not to have fixed limits on anything, the only limit should be system memory.

Alex: The idea isn’t developed yet. What’s possible now is you have e.g. midi track 1-5; disregarding channels, you can display midi track 2, 3, 4 and 5 under track 1, using the same vertical range, seeing voices on top of each other.

As shown here:
http://www.audunhalland.com/files/ardour-stream-underlay4.png
(Midi1 shows the contents of Midi2 (as well as some audio, the screenshot just demonstrates the underlay concept in general))

I haven’t thought about much else outside that domain. Channels could be analogous to “voices”, but it seems a bit limiting to only have 16 voices per track. I think a design goal of ardour is not to have fixed limits on anything, the only limit should be system memory.

Aaah, now i understand what you’re saying Audun. So you’d create 16 tracks, one for each channel, then layer them in one track.

Hehe, I can’t let this go without a further question. What happens to the other 15 tracks, you’ve removed or aliased regions from. Can they be hidden in any way? In other words, if i create 300+ midi tracks, and with layering multiple ‘voices’ (good analogy) i can get it down to 60 tracks (including busses), i can then hide the ‘unused’ tracks from view.
I gather from what you’re saying, that the ‘hidden’ tracks are still needed for their ports and channel connections.

Erm,
Wouldn’t it be a lot easier to have multiple midi channels per tracks?

Alex.
:slight_smile:

p.s. Thanks for chipping in.

Alex, of course it would be easier. It’s not possible per se, but it certainly might be in the future.

What we’re saying is this: As opposed to audio view, midi views are more easily stacked on top of each other, not just for vertical screen real estate saving, but also for musical purposes (seeing how “voices” relate to each other on the same axis). Then we’re saying that each such voice doesn’t have to come from a unique track, several independent voices can belong in the same track. One way to separate voices in the same track would be to use a different MIDI channel for each of them, but then you’re limited to 16 voices per track. Possibly you’ll want more than that, assuming that the voices are grouped together in the same track for view purposes, not for the purpose of sending them through the same MIDI software-port (this shouldn’t be necessary unless you absolutely need your software midi setup to behave exactly as your hardware setup, remember, software midi cables are cheap:)

Audio tracks can have multiple channels, but here we’re talking about channels as JACK ports. In my opinion the way to go is to have each voice in a midi track have it’s own MIDI port, effectively making the MIDI tracks “multichannel” in the sense that audio tracks are multichannel. That way you can connect plugins and ports independently for each voice (because they all have unique ports), and not be limited by 16 voices.

Ok, a dim bulb’s come on in the skull.

I’m definitely up for a non limited track voice count. And if i took this to the extreme, i could (in a momentary fit of genius/insanity pick one) have a layer for each violin articulation voice in a track. In a complex work with many articulations, i might use 40 or 50 of them. So, that many layers in a track poses an obvious question (and i’m not dismissing this paradigm by any stretch of imagination) that may, by nature of speedy workflow intent, crop up. How do i handle that many layers at speed? It’s also fair to say, that within reason, i might use 5 or 6 layers in a bar. (legato down bow release, legato down bow non release, legato up bow release, legato up bow non release, etc…)How do i input quickly, then switch between layers quickly to match sample start finishes, add automation per layer, etc…
The idea of unlimited voices in a track is fantastic, imho, (and means i, as you rightly say, have more than 16 channel options per track), but from a practical workflow perspective, it might take some getting used to, to get it all married up smoothly.

But i also note that voices can be stacked in a track, and that begs the question of a couple more height parameters added, as i wrote previously. I can visualise about 5 or 6 layers stacked, and be able to line the notes up fairly quickly that way, if the track height was sufficient to get a clear visual of alignment, without peering at the screen to see tiny dots and blips.

I’m open to this as a potential working method, and think the paradigm, at least in theory, is…state of the art. Hats off to the team for some creative thinking outside the box. Truly a 21st Century idea!

So, more practically, how do i assign multiple ports to a track,and define specifically a particular port, and channel, from inside an ardour midi, multi voice, track? I have at least 4 ports worth of just 1st violins. At the moment, i would need to manually connect and disconnect each port, so the right channel (selected from my midi controller i guess) would be available at the right time, for the right layer?

Is it possible to consider, relavent to a drop down list of some sort in the track face, a choice of whatever’s actually track connected ports? If the track could ‘recognise’ the connected ports, and automatically ‘build’ a list, at least it would remove having to go to jack manually. Click the port, click the channel, press record sort of stuff.

I think this perspective is intelligent, sharp, and open minded thinking, and I would be highly interested in trying it out, to see if it’s practical in ‘realtime.’

Alex.

Onwards and upwards.

If I understand you correctly, you don’t want the different articulations to be played back simultaneously, they are rather variations of one voice that you want to cycle through, listening to them and eventually finding the best one. The concept in ardour dedicated to this kind of thing are “playlists”, analogous to takes. Each track has an active playlist and an unlimited number of inactive playlists, and tracks can even use playlists originating from other tracks.

(An obvious problem here is how do you keep inactive playlists/articulatory variations up to date when working on a specific instance of them?)

To further elaborate on the multichannel audio/multichannel midi (voice) relationship: Multichannel audio is bound to regions, every region in an n-channeled audio track ideally has n channels (not necessarily true in the MIDI domain, but leave this for later). If we’re going to design something like this, the multichannel analogy between track types should be fairly consistent. This would imply that an n-channeled MIDI track contains n-channeled MIDI regions. A problem arises when you want to control different voice instances (voice playlists). Playlists (currently) work on the top level of tracks, and cannot control the individual channels of a multichannel audio track, only the multichannel regions themselves. This may result in not having a multi-voice MIDI track being the same as a multichannel audio track after all.

The way to do it could be track grouping, or composite tracks. That is, each voice is a standalone midi route at the low level, but shares view axis with several different other tracks, making up the “voices” of that track. Operations and settings for such a track may (or may not) apply to all voices. This way you’ll get one independent playlist and one MIDI port (routable to anywhere you like) for each voice. Voices could also be regroupable (move voice A from track 1 into track 2…) making it very versatile.

This is just quick brainstorming, and I don’t expect the core developers to agree with me, or that I even agree with myself tomorrow:)

Maybe a simpler solution is to make each midi region capable of 16 channel input from one port as default, and let layers take care of the rest. As you’ve written, each playlist can accept regions from anywhere else (within reason) within the confines of n-track/n-channel setup.
You’re right, it’s brainstorming, and not a bad thing at a that.

Alex.

Thanks, Dave. I understand the channels clarification, and I hope a reasonable solution can be reached for Ardour. Re: the editing: IIRC Master Tracks had a popup menu for editing an individual note, but I’ll check that and report back to you. I’ll try to get some screenshots together too (MT Pro runs in Xsteem).

The selector you suggest sounds perfect from the users POV. Perhaps it would be possible to show only notes on selected MIDI channels (e.g. only notes recorded on channels 4,7, and 11) ?

I’ve been wondering how JACK MIDI will impact future sequencer designs. Alas, my understanding is still dim, and I’ve only used it for checking out the AZR3 LV2 plugin (which worked perfectly). So much to get into, too little time. :frowning:

from a quick reading, i’d say we have a new concept to manage: the “voice”.

default mapping: 1 channel-> 1 voice -> 1 (virtual) MIDI port
possible other mappings: you decide

this would workaround the 16 channel limit, and let a user do creative things variably mapping 3 voices to the same port and then breaking them apart again.

this would mean storing a note’s “voice” info in addition to “channel” info, even though in 90+% of cases voice == channel. delivery logic would then look up the port in a voice<=>port map, and dump the note event data to the correct port.

Master Tracks Pro 3.6 for the Atari:

Double-click on a selected note in the piano-roll and the Note Editor pops up. The MIDI channel can be changed in that editor, as seen in the screenshot.

Voice sounds good, Paul, and Daveś pic of Mastertrackspro seems to take care of voice/channel manipulation. If record midi in by ´voice´ by channel by port is implemented, then we could record the bulk of the midi freehand, and with a pop up editor, make further neccessary adjustments, or tweaking.
Only speaking for myself here, and keeping in mind i am very much in the minority as a classical writer, using midi in bulk amounts that few would ever need or get near to, i can see this as a speedy input/workflow bonus. Far too many times in the past, and present, midi sequencer devs (in the commercial arena) forget those of us who use a lot of midi/channel/ports, and as a result of this, are restricted by somewhat bewildering programme limitations, so an unlimited framework for midi, as well as audio, immediately puts ardour in the lead. (Imho) Pretty well the only way to get around this currently is to have multi channels per track (which is usually in itself limited to 16 channels per track), or a hell of a lot of tracks with the resultant scrolling.

Couple of questions.
You write of default onevoice=channel>1 port. Could this be in tandem with a more complex and ´viewable´ porting matrix of some sort, or a box in which we can manually change this according to individual requirements? I can see handling 3 or 4 voice/channel/single port as ok, but for heavyweight midi porting, i wonder if a popup visual patchbox per track would be useful too. (Keeping in mind your advice to me that Ardour is a tape recorder paradigm in essence, something i am enjoying as much for the memories, as getting my head around it.)

And if a note has already been inputted on voice/channel 1, and i decide to change it after the event to voice/channel 2, how would that work in the unique inline editor? Dave´s popup?

Alex.

Channels may not be so important in the soft/virtual world… but when you are addressing a number of external synths this is extrememly important…

About Ardour3, midi, jack and linuxsampler

I am trying for months to start using Ardour3 for midi sequencing in combination with Linuxsampler. Linuxsampler connects to midi using alsa- midi, therefore i can not connect it to Ardour. It seems with a2jmidid you can connect jack-midi to alsa-midi, but it also seems that since jackd 109.2 a2jmidid is included in jack. Either way, in jack109.2 (with -Xseq) i can’t see how to connect jack-midi to alsa-midi.

I hope someone will reply, telling me it’s simple to connect to alsa midi ports like linuxsampler’s midi-in with jack, that i just have to do … ! Thanks!

Edit: at the moment only linuxsampler from cvs contains a jack-midi-driver. linuxsampler-0.5.1 does not.

sounds great. I’m looking forward to playing with it.

Nuewo

This is a tool for musicians to generate MIDI controller variations. A typical use for that would be to create random settings of certain controllers of an instrument within a specified range.

violin

Is it possible to stream MIDI from one ‘master’ computer to another computer on a LAN? This was really very interesting to me. Aside from i make myself busy collecting and making jewelries. I also found myself wanting to know more about computer and staff. ~~~ Jewelry Displays

yeap, loock great


kljuchevskii iz rysskoi

An unlimited framework for midi, as well as audio, immediately puts ardour in the lead. (Imho) Pretty well the only way to get around this currently is to have multi channels per track (which is usually in itself limited to 16 channels per track), or a hell of a lot of tracks with the resultant scrolling.

arizona dentists