Triggering Chunk Changes on Next Beat-One (downbeat)

Discussion of Digital Performer use, optimization, tips and techniques on MacOS.

Moderator: James Steele

Forum rules
This forum is for most discussion related to the use and optimization of Digital Performer [MacOS] and plug-ins as well as tips and techniques. It is NOT for troubleshooting technical issues, complaints, feature requests, or "Comparative DAW 101."
User avatar
stubbsonic
Posts: 4645
Joined: Fri Dec 22, 2006 12:56 pm
Primary DAW OS: MacOS
Contact:

Triggering Chunk Changes on Next Beat-One (downbeat)

Post by stubbsonic »

I have a friend who is a long-time DP user. He stumped me with a question today about wanting to make ad lib changes in sections of a song using a MIDI keyboard, but having the change basically wait until the start of the next measure (and with no problems with tempo, etc.)

I haven't done this, so I thought I'd check here. I searched, but what I found was old.

Is it possible to play the first chunk, then hit a MIDI key (command) on beat 3 and have that cause it to jump to the second chunk on the following beat 1?

Or would he be better off finishing his mixes and using some other software for this function?
M1 MBP; OS 12, FF800, DP 11.3, Kontakt 7, Reaktor 6, PC3K7, K2661S, iPad6, Godin XTSA, Two Ibanez 5 string basses (1 fretted, 1 fretless), FM3, SY-1000, etc.

http://www.jonstubbsmusic.com
User avatar
MIDI Life Crisis
Posts: 26254
Joined: Wed May 18, 2005 10:01 pm
Primary DAW OS: MacOS
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by MIDI Life Crisis »

That would be tricky on the fly, I suspect as there will be load time and reading from disk, etc. Of course song mode takes care of such matters (AFAIK). I don't use it much but it might prove helpful.
2013 Mac Pro 32GB RAM

OSX 10.14.6; DP 10; Track 16; Finale 26, iPad Pro, et al

MIDI LIFE CRISIS
User avatar
stubbsonic
Posts: 4645
Joined: Fri Dec 22, 2006 12:56 pm
Primary DAW OS: MacOS
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by stubbsonic »

I was thinking he was talking about multiple sequence chunks playing mostly (or all ) MIDI. And they could be playing VI's in V-Racks, so it wouldn't have the same load implications.

Any idears?
M1 MBP; OS 12, FF800, DP 11.3, Kontakt 7, Reaktor 6, PC3K7, K2661S, iPad6, Godin XTSA, Two Ibanez 5 string basses (1 fretted, 1 fretless), FM3, SY-1000, etc.

http://www.jonstubbsmusic.com
User avatar
Shooshie
Posts: 19820
Joined: Sat Oct 16, 2004 10:01 pm
Primary DAW OS: MacOS
Location: Dallas
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by Shooshie »

That sort of thing is hard to do, and not possible to do as simply as your friend described. If you're doing MIDI only, you can minimize the time between chunks, so that there is very little pause between them, but the change between chunks is not linear, and cannot be unless you insert them into a Song structure.

This is advanced stuff, and I've worked out things like this before, but I wouldn't attempt to teach someone else how to do it for a reason that may sound arrogant, but it's really the opposite. This is the sort of thing that can lead to so many things going wrong. In the end, the person who figured out the workings of it needs to be the one playing or directing while someone else plays, because he or she needs to know every possible thing that can go wrong and how to fix it instantly if it does.

There are three or four approaches to this, but if you want the simplest, it only involves one chunk. Set up that chunk with sections delineated by markers. Know the locations of those markers by bar number. There are several ways to tell DP to go to those places instantly. Let me list a few:

Without QuicKeys or external help:
  • • Type [.] (keypad decimal point) followed by the bar number/beat/subdivision, and let it remain. When you hit ENTER, the music will immediately start from that place. This is assuming that your latency is extremely low. So, you'd hit ENTER on the downbeat, or a fraction of a second before. This would take practice.
    • •There are ways of hitting enter:
      • -Set up the ENTER command in the COMMANDS WINDOW for MIDI control. You can use:
        • -Pedals
          -MIDI keys on your keyboard
          -any MIDI Control Change continuous data or switch
    • Direct Marker jumps: Position your cursor over the Marker in the Marker Window. When you arrive at the beat where you want to jump, click it. This works best if you can click without moving the marker. Trackballs are good at that. Tapping a trackpad will work, too.
With QuicKeys or external help:
  • • Set up a routine to do any of the above for you.
    • -use MIDI to trigger QuicKeys. (it accepts MIDI triggers)
It's all about moving the cursor to where you want it to be, on the fly, without interrupting the flow. Your first few attempts will fail. Then you'll figure out tricks that make it possible if you practice them. This is stage magic. It's the art of deception. You do things that make your trick possible without the audience realizing that's what you just did. If there are unacceptable gaps, you fill those gaps somehow, and you practice your timing so that even with the gap, the beat goes on without interruption.

Among the live concerts I created and directed there was one which included several live Yamaha Disklavier Pianos (real grand pianos played by solenoids (player pianos, in other words), and controllable by MIDI. Because these were real instruments, there was a time delay between the piano's receiving of a MIDI command and its actual key-down attack. The quieter the music, the slower the key, and the longer the delay. Yamaha chose to use 500 milliseconds (one half second) as the default time for all attacks. I had to learn how to hit MIDI commands 500ms before its attack. Took a lot of practice, but I learned to get it close enough that nobody knew it was off but me.

If you take the attitude that this is stage magic, the art of illusion or deception, and practice these things the way a magician practices tricks, or the way a musician practices for perfection, then you'll find all kinds of ideas opening up, with all kinds of ways to control them. You will often have to alter the music to help make the jumps possible without detection. You'll figure that out if and when it needs to be done. It's very possible that you'll make your jump not to the downbeat, but to the beat before, and you'll use pedals to sustain the notes through the jump, which then cut off on the following downbeat. You have to come up with the tricks that make things work.

But that's not what everyone wants to hear. Most don't want to get this involved, but are simply looking for a button that you can hit, and then DP takes care of everything. I'm sure that MOTU could design and program that, but it's not their intent with DP, and I really doubt that it ever will happen. There may be DAWs designed that way, but I don't know about them. It was always more important to stay with DP.

This stuff isn't easy, nor was it programmed into DP, so you're repurposing tools that weren't made to do these things. The results are sometimes undependable, but with planning and practice you can pull them off.
Your tools include:
  • -the COMMANDS WINDOW
    • -all the transport commands
      -Direct Chunk Select (commands that select specific chunks)
    -the Timeline
    -the SONG window
    -Markers
    -Auto Rewind
    -the Numeric Keypad
    -QuicKeys
    -MIDI controllers such as pedals, buttons, wheels, faders, breath, keyboards
    -Chunks
    • -Chunk Chaining (Cue and Auto)
      -Direct Chunk Select (commands that select specific chunks)
    -And MOST of all: ingenuity and practice
I've probably left some things out. Maybe there are even controls I don't know about, now, which make this easy. But I've told you what I was up against when I started doing stuff like this over a quarter-century ago, and I found ways to do just about anything I set my mind to. Haven't done it in years, and hope I never have to again. It's scary! But that's part of what makes it so satisfying to pull off.

Shooshie
|l| OS X 10.12.6 |l| DP 10.0 |l| 2.4 GHz 12-Core MacPro Mid-2012 |l| 40GB RAM |l| Mach5.3 |l| Waves 9.x |l| Altiverb |l| Ivory 2 New York Steinway |l| Wallander WIVI 2.30 Winds, Brass, Saxes |l| Garritan Aria |l| VSL 5.3.1 and VSL Pro 2.3.1 |l| Yamaha WX-5 MIDI Wind Controller |l| Roland FC-300 |l|
frankf
Posts: 1132
Joined: Tue Oct 19, 2004 10:01 pm
Primary DAW OS: MacOS
Location: NYC
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by frankf »

stubbsonic wrote:
Or would he be better off finishing his mixes and using some other software for this function?
Unless there's a reason to stay in the realm of MIDI, using audio mixes would be easier for sure! Shooshie's approach is certainly not for the faint of heart and as he says, takes a lot of practice.



Frank Ferrucci
Frank Ferrucci
http://www.ferruccimusic.com
Mac Pro 6,1 64gb RAM DP9.52 OSX 10.12.6 MIO 2882d & ULN2d Firewire Audio Interfaces, MOTU MTP-AV USB
User avatar
stubbsonic
Posts: 4645
Joined: Fri Dec 22, 2006 12:56 pm
Primary DAW OS: MacOS
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by stubbsonic »

Thanks SO much, Shooshie. This is incredibly helpful.

I'm wondering about a few other notions.

Might it be possible to send some MIDI commands to QuicKeys from a track playing back from DP?

And, could QuicKeys also have a "modifier" key set so that a particular MIDI command would be ignored until accompanied by the "modifier"?

If that was the case, a MIDI note at one point in the track could tell QK to set the counter to the measure of the next section. Another MIDI note could be sent on the downbeat of every measure (or late in the last beat as needed) that would do nothing unless a modifier is received. Then, when the "modifier" is activated QK would wait until it got the other MIDI note and activate an "ENTER" to jump to the counter.

I guess this would require that playback MIDI and live played MIDI from the controller could be merged.

Hmmm. I'm too green with QK (and DP's Commands) to know if this is far-fetched.
M1 MBP; OS 12, FF800, DP 11.3, Kontakt 7, Reaktor 6, PC3K7, K2661S, iPad6, Godin XTSA, Two Ibanez 5 string basses (1 fretted, 1 fretless), FM3, SY-1000, etc.

http://www.jonstubbsmusic.com
User avatar
stubbsonic
Posts: 4645
Joined: Fri Dec 22, 2006 12:56 pm
Primary DAW OS: MacOS
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by stubbsonic »

frankf wrote:

Unless there's a reason to stay in the realm of MIDI, using audio mixes would be easier for sure!

Frank Ferrucci
Agreed. I'm not sure how much realtime control he is wanting with the VI playback.
M1 MBP; OS 12, FF800, DP 11.3, Kontakt 7, Reaktor 6, PC3K7, K2661S, iPad6, Godin XTSA, Two Ibanez 5 string basses (1 fretted, 1 fretless), FM3, SY-1000, etc.

http://www.jonstubbsmusic.com
User avatar
James Steele
Site Administrator
Posts: 21237
Joined: Fri Oct 15, 2004 10:01 pm
Primary DAW OS: MacOS
Location: San Diego, CA - U.S.A.
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by James Steele »

As I recall this was a feature of Studio Vision Pro (RIP) and its "subsequences."
JamesSteeleProject.com | Facebook | Instagram | Twitter

Mac Studio M1 Max, 64GB/2TB, MacOS 14.5 Public Beta, DP 11.31, MOTU 828es, MOTU 24Ai, MOTU MIDI Express XT, UAD-2 TB3 Satellite OCTO, Console 1 Mk2, Avid S3, NI Komplete Kontrol S88 Mk2, Red Type B, Millennia HV-3C, Warm Audio WA-2A, AudioScape 76F, Dean guitars, Marshall amps, etc., etc.!
User avatar
Shooshie
Posts: 19820
Joined: Sat Oct 16, 2004 10:01 pm
Primary DAW OS: MacOS
Location: Dallas
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by Shooshie »

stubbsonic wrote:Thanks SO much, Shooshie. This is incredibly helpful.

I'm wondering about a few other notions.

Might it be possible to send some MIDI commands to QuicKeys from a track playing back from DP?

And, could QuicKeys also have a "modifier" key set so that a particular MIDI command would be ignored until accompanied by the "modifier"?

If that was the case, a MIDI note at one point in the track could tell QK to set the counter to the measure of the next section. Another MIDI note could be sent on the downbeat of every measure (or late in the last beat as needed) that would do nothing unless a modifier is received. Then, when the "modifier" is activated QK would wait until it got the other MIDI note and activate an "ENTER" to jump to the counter.

I guess this would require that playback MIDI and live played MIDI from the controller could be merged.

Hmmm. I'm too green with QK (and DP's Commands) to know if this is far-fetched.

Yes, you can use a modifier, sort of. It has the same effect that you are looking for, but it's not called a modifier, per-se. It's a "sticky key." That is, the MIDI command will be the first part of a command, and when it happens, there will be some sign on the screen to indicate that the trigger is ready to be sent, but it will wait for the next "sticky" trigger before it actually sends. You can stack as many of these kinds of triggers as you want.

So, the sticky trigger could be a key on your computer keyboard, or it could be any of the other kinds of triggers that QuicKeys accepts, including another MIDI command.

So, one MIDI trigger could sort of ask the question "you wanna jump?" And if you wanna jump, you answer it with another MIDI trigger.

Or, probably even better would be that you set up the trigger first with YOUR command, and let the one sent by DP be the 2nd trigger. That way, you can hit the trigger, and it will remain for about 5 seconds. The DP command could come at the exact jump point. Adjusting this point would eliminate the need for practicing timing, other than getting within that 5 second window of the sticky trigger.

As for a track in DP being the trigger track, absolutely. Yes, you could merge it, but why stress QuicKeys more than necessary? Instead, give it a track of its own on a channel of its own. It's still going to be watching your live keyboard playing constantly.

I'll set up a few screenshots for a tutorial in a bit. By the way, I have not tested this. I'm assuming that it's not buggy, because QK has a sterling reputation, and it's running in the background 24/7 here. But I can't promise you anything. Test it well.

Shooshie
|l| OS X 10.12.6 |l| DP 10.0 |l| 2.4 GHz 12-Core MacPro Mid-2012 |l| 40GB RAM |l| Mach5.3 |l| Waves 9.x |l| Altiverb |l| Ivory 2 New York Steinway |l| Wallander WIVI 2.30 Winds, Brass, Saxes |l| Garritan Aria |l| VSL 5.3.1 and VSL Pro 2.3.1 |l| Yamaha WX-5 MIDI Wind Controller |l| Roland FC-300 |l|
User avatar
Dwetmaster
Posts: 3491
Joined: Tue Aug 15, 2006 9:59 am
Primary DAW OS: MacOS
Location: Montreal Canada

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by Dwetmaster »

You know what?
If "Go To Marker" is assignable via MIDI,
And IF the person taking care of the computer is NOT doing anything else, I guess you could setup a dummy "CONTROLLER" MIDI track that in which you could place notes in advance that would control DP by itself?

If "Go To Marker: VERSE" is responding to MIDI note #01, then you could put that MIDI note at the right place while the sequence is playing and let DP do its thing on its own. You could also setup several MIDI tracks that goes to different sections every 8 bars, and just play-enable them on the fly?

I think I'll try this just for fun later.
MacPro 8Core 2.8GHZ 16GB RAM OSX10.8.3
MacBook Pro 17" Unibody 2011 OSX10.8.3
896mk3, BLA Modded 896HD, BLA Microclock, MTP-AV, Yamaha KX-8, CME VX-7 Mackie Ctrl, megadrum, Presonus C-S,
DP8.04, Bidule, M5 3, Ethno 2, BPM 1.5 Kontakt4, BFD2, SD2, Omnisphere, Wave Arts P-S5, Altiverb7, PSP VW & OldTimer, VB3, Ivory 2 Grand, True Pianos, Ozone 5, Reason 4, AmpliTube3, Bla bla bla...
A few El & Ac basses & Guitars, Hammond A-100.
mjmoody
Posts: 199
Joined: Thu Sep 30, 2010 11:57 am
Primary DAW OS: MacOS

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by mjmoody »

Well the problem is that DP goes there IMMEDIATELY. If you miss the rhythm by just a bit the timing will be off. The original post mentioned that the new chunk would start at the beginning of the next measure. I just don't think DP can do that. Whenever you press Enter it jumps.
MacBook Pro (Retina, 15 inch, Early 2013)
2.7 GHz Intel Core i7
16 GB 1600 MHz DDR3
Digital Performer 8.05
UltraLite (2007)
Komplete 7, Omnisphere, IvoryII, and other VIs
User avatar
Dwetmaster
Posts: 3491
Joined: Tue Aug 15, 2006 9:59 am
Primary DAW OS: MacOS
Location: Montreal Canada

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by Dwetmaster »

I just tried to assign "Go to previous Marker" to a MIDI note and then program that note into a MIDI track. I used DP's interapplication MIDI to loop that MIDI track back. It does work :)
But it is a HUGE hit and miss. :oops: There seem to be an intern latency with MIDI/Command window. If you put the MIDI trigger note at "Bar-4-479tick" by the time DP actually does the "Go to marker" command it's already in the next bar and it just so it doesn't go all the way back to the previous marker. For it to work everytime at 120BPM, I have to put the note about 240ticks early.
The problem is that it is tempo-dependent. The faster the tempo, the longer the offset.

I personally think the answer to the whole thing is "ABLETON LIVE"
MacPro 8Core 2.8GHZ 16GB RAM OSX10.8.3
MacBook Pro 17" Unibody 2011 OSX10.8.3
896mk3, BLA Modded 896HD, BLA Microclock, MTP-AV, Yamaha KX-8, CME VX-7 Mackie Ctrl, megadrum, Presonus C-S,
DP8.04, Bidule, M5 3, Ethno 2, BPM 1.5 Kontakt4, BFD2, SD2, Omnisphere, Wave Arts P-S5, Altiverb7, PSP VW & OldTimer, VB3, Ivory 2 Grand, True Pianos, Ozone 5, Reason 4, AmpliTube3, Bla bla bla...
A few El & Ac basses & Guitars, Hammond A-100.
User avatar
Shooshie
Posts: 19820
Joined: Sat Oct 16, 2004 10:01 pm
Primary DAW OS: MacOS
Location: Dallas
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by Shooshie »

mjmoody wrote:Well the problem is that DP goes there IMMEDIATELY. If you miss the rhythm by just a bit the timing will be off. The original post mentioned that the new chunk would start at the beginning of the next measure. I just don't think DP can do that. Whenever you press Enter it jumps.
That's why you use QuicKeys. Now, I'm talking off the top of my head here, because I haven't tried QK's MIDI features. But let's assume that QK responds in the same amount of time each time, which I think is about an 80% chance. We'll test that later and see if this is possible. But assuming that QK responds the same every time, having a command in a MIDI track makes this possible. Here's why:

You can adjust the location of the command in the MIDI track until you find the place where the timing works perfectly. It'll take QK about a second to respond, enter the bar number in the counter, and hit ENTER. So, let's start by placing the command about a second before the bar line. You can do this by using the SHIFT command, and having it shift it a second earlier. If this proves to be too much, you adjust it until it works.

But the key to all this working correctly is the fact that QK can do "sticky triggers," which means that you will hit YOUR trigger within about 5 seconds of the bar line. That trigger will remain on screen as QK waits for the next trigger. When it comes — properly placed, mind you — the whole thing leaps into action and jumps to the new location.

I may try to test this later. Too busy right now. But if it works as I think it should, I'll do my best to make a video to show how it works. For now, here are some screen shots:

Here is the initial shortcut in QK, with a dummy command (which could be set up as a real one) in the shortcut location. By the way, this "Type Keystroke" shortcut is just one of dozens of types of shortcuts that QK can do. It is located under the drop down menu: Add Step / User Actions.
  • Image
You add or delete triggers by using the + or - keys: Image. QK will respond to either/all triggers, so that's not exactly what we want. We want it to require BOTH triggers, in sequence, before it sends off the command.

So, you can see the little Image button. Push it, and the two triggers merge into a "sticky", which then looks like this:
  • Image

Here are some views of the MIDI setup, so that you can see what it can do:
  • Select type of MIDI command:
    • Image
    Add an actual command:
    • Image
    Select MIDI device:
    • Image
Then,to make a separate trigger to receive a command from DP, from a separate track using a MIDI channel such as IAC:
  • Choose Device:
    • Image
    And set up a MIDI command:
    • Image
When these two triggers are played, one after the other, within about 5 seconds, QK will send the keyboard command to DP. In this case, the command is Image, but of course that will depend on what command you've set up in the transport or other controls in the DP COMMANDS Window. (SHIFT-L)

And that's pretty much the whole story. Looking forward to seeing how well it works. After I test it, and assuming it works to my satisfaction, I'll post this in the DP Tips Sheet.

Shooshie
|l| OS X 10.12.6 |l| DP 10.0 |l| 2.4 GHz 12-Core MacPro Mid-2012 |l| 40GB RAM |l| Mach5.3 |l| Waves 9.x |l| Altiverb |l| Ivory 2 New York Steinway |l| Wallander WIVI 2.30 Winds, Brass, Saxes |l| Garritan Aria |l| VSL 5.3.1 and VSL Pro 2.3.1 |l| Yamaha WX-5 MIDI Wind Controller |l| Roland FC-300 |l|
User avatar
Shooshie
Posts: 19820
Joined: Sat Oct 16, 2004 10:01 pm
Primary DAW OS: MacOS
Location: Dallas
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by Shooshie »

Dwetmaster wrote:For it to work everytime at 120BPM, I have to put the note about 240ticks early.
The problem is that it is tempo-dependent. The faster the tempo, the longer the offset.
Place your command where you want it to happen, then use SHIFT command (Command-L) to move it to compensate for the delay. Don't shift by bars and beats. Shift by RealTime. Be sure the button is checked which says "preserve original performance," or something like that. That will take into consideration any tempo changes happening during the space of that shift.

But if you have QuicKeys, you might try the method I outlined in the post above. It's better to send computer keyboard commands to DP. The result is instant, then, though you still have the latency of your interface buffer to consider. But who would perform live with a big buffer?

Shooshie
|l| OS X 10.12.6 |l| DP 10.0 |l| 2.4 GHz 12-Core MacPro Mid-2012 |l| 40GB RAM |l| Mach5.3 |l| Waves 9.x |l| Altiverb |l| Ivory 2 New York Steinway |l| Wallander WIVI 2.30 Winds, Brass, Saxes |l| Garritan Aria |l| VSL 5.3.1 and VSL Pro 2.3.1 |l| Yamaha WX-5 MIDI Wind Controller |l| Roland FC-300 |l|
User avatar
stubbsonic
Posts: 4645
Joined: Fri Dec 22, 2006 12:56 pm
Primary DAW OS: MacOS
Contact:

Re: Triggering Chunk Changes on Next Beat-One (downbeat)

Post by stubbsonic »

Thanks, folks. This is all fascinating and very clever!

Let me restate this bit a little more clearly. I think to minimize the process time of the "jump" the following could be done.

First, the next section could be "pre-staged" either automatically (within a DP-to-QK control track) or ad hoc, by a QK command that would simply type a decimal and write the desired downbeat location into the counter, but just stay highlighted, waiting for an "ENTER".

Second, we would have THE triggers which are in a DP MIDI track, every measure, either on beat one, or shifted earlier as determined is needed for timing calibration.

Third, would be the (5-second) sticky-key which would tell QK to respond to the next trigger that comes around (as described above). This would be fired manually by a MIDI controller (or computer keyboard-- but I think MIDI is preferred).

Now when the measure sends the actual trigger from the DP track to QK and subsequently QK just sends "ENTER" to the counter and bingo bango it goes to the next section.

This all seems doable. The EDIT COUNTER command (initiated by the decimal point) sets the jump to the downbeat of whatever measure is entered. And on my system the jump is instantaneous-- though consistent timing is all that is required.
M1 MBP; OS 12, FF800, DP 11.3, Kontakt 7, Reaktor 6, PC3K7, K2661S, iPad6, Godin XTSA, Two Ibanez 5 string basses (1 fretted, 1 fretless), FM3, SY-1000, etc.

http://www.jonstubbsmusic.com
Post Reply