Before posting, please read: When to use this forum, when to submit a help ticket

Starting an automation track not at the beginning but with an time offset

Started by garysn, January 06, 2025, 08:15:18 AM

Previous topic - Next topic

garysn

Hi all,

we have a song with a very long piano intro.

Lyrics autoscroll is created with an Automation and everything works fine.

In our rehearsals we don't like to wait until the piano intro (> 1 minute) is over, before the rest of the band can start.

So we are looking for a way to skip the intro and let the automation track start at the position when all band members are involved in the song.

Is there a way to achive this with standard banhhelper functionality?


Kind regards
  garysn


arlo

You can add the Automation Controls to a layout, then use the progress bar to slide forward past the intro.

garysn

Hi Arlo,

Thanks for your quick reply.

I have tried your suggestion and it works fine - as long as I start the automation by tapping the "automation" button in my layout.

Unfortunately I have to start the automation via midi as I have to synchronise 4 tablets and our backing track software.

As long as I don't touch the position slider, I can start the automation via midi, but as soon as I change the start position of the slider, the automation handler ignores the midi start command.

Is this a bug or is it implemented this way on purpose?

Kind regards
  garysn

arlo

It looks like the Start Automation app control action doesn't do anything after you move the automation progress bar because at that point the automation is considered to have already started. However, you can use the Start/Stop Automation app control action instead, because that acts like a pause/resume function.

Alternatively, you can trigger the Start Automation function before moving the progress bar rather than moving the progress bar first.

garysn

Hmm,
I've just tried it and the 'Automation start/stop' trigger solution works - but only if the progress bar is NOT at the start.

I.e. if the progress bar is AT the start, I have to use 'Automation start' and
if the progress bar is NOT at the start, then I have to send 'Automation start/stop' to start the automation.

How do I do this?
Actually I only have one button to start everything and somehow I would also need to query the current position of the automation to know what command to send.


Kind regards
  garysn

arlo

Are you sure? Automation Start/Stop starts the automation track for me regardless of whether I have already started and paused it or moved the progress bar.

garysn

Okay, I have re-checked it again, and you are right, the "Automation start/stop" functions works indeed on all positions. Sorry :-(

Is it possible to set the progress bar to a specific position via MIDI?

If have seen there is an "Automation search" function using continuous controller" but I was'nt able to get it to run.

My first test was to use the mod wheel on my keyboard to send CC1 on channel 15 but the progress bar didn't change, even I can see the midi commands in the midi monitor of bandhelper.

MIDI Data is BE, 01, 00  | BE, 01, 01  | BE, 01, ...   to BE, 01, FF
 

arlo

On Settings > App Control, are MIDI Input Port and MIDI Input Channel set to All?

In the App Control Status window (foot switch icon), do you see the Seek Automation action being triggered?

garysn

Hi Arlo,

Thanks again for your valuable help.

Receiving the continuous data is now working.
Unfortunately the resolution of 127 steps is not enough to move to an exact song position.

We will probably have to do this manually for the time being until there is a more accurate option available.

For the future, it would be great if the "Seek Automation" function could be set to an exact song position via MIDI.

I am sure there are many other bands who have divided their songs into sections (A,B,C,D,...) and would be very happy if a BandHelper automation could, for example, remotely start the lyrics from section C via MIDI.

Kind regards
  garysn

arlo

You said you were just wanting to skip over the intro during a rehearsal -- that doesn't need to be so precise, does it?

I'm not sure what you're describing with using automation and MIDI to select a section of lyrics. You can add markers to lyrics and then jump to a specific marker from an automation track or from a MIDI message, but you can't use a MIDI message to jump to a specific point in an automation track. I haven't heard of any use cases for that.

garysn

Hi Arlo,

The current resolution of the Seek Automation function is sufficient to skip the piano intro.

I was a step ahead in my thinking and thought of another scenario.

I have BandHelper configured in a way that each band member can hear their version of a song by starting an automation (i.e. the drummer hears all instruments without drums, the keyboardist hears all instruments without keyboard, etc.), and everyone also sees the lyrics if they are at home.

In other words, I use automation to ensure that the audio files on the tablet are always in sync with the lyrics display.

When we are all together in rehearsal or at a gig, I use GigPerformer to control the playback of the backing tracks and other audio tracks.

I also use GigPerformer to send the MIDI commands to synchronize the tablets, i.e. automatically select the right song and start the lyrics display.

So that I don't have to send all the lyric line information again via MIDI from GigPerformer, I simply start the local automations on all tablets with a MIDI command.

The audio track still runs on the tablets, but we turn it down so it doesn't interfere.

This works really well so far.

Now we sometimes want to rehearse certain parts of a song more often. That's why I programmed a special multi-track playback function in GigPerformer that allows us to set up to 26 markers (A - Z) in each song, which can then be played directly.

To be able to use the local automation there, I thought I would have to set the entire automation to the correct start position via MIDI. That's where the idea came from.

But I don't really need to do that, because the local audio files are not used during rehearsal, so they don't need to be synchronized.

It should be enough to set some markers at the right places in the automation and then jump to them via GigPerformer.

Sometimes I really do think too complicated.

In such moments it's really helpful to have someone asking you the right questions.

Thanks again for that.

Kind regards
  garysn

arlo

You're welcome! Are you still asking how to do something in BandHelper, or did you determine that "It should be enough to set some markers..." is the solution?

garysn

No, unfortunately not.

I just tried the following to verify the approach of using Markers:

- I added a marker for each section of my BandHelper lyrics.
- In the BandHelper app setup, I assigned the MIDI 'Programme Change' command to the 'Page/Marker Number' command.
- Now, when sending MIDI "programm change" commands from GigPerformer, the correct marker is found and displayed in the BandHelper lyrics display.

So far, so good.

Now to the real test scenario.

I want to start my song from position 'C' and not from the beginning.

- I select the song in GigPerformer. It then sends a MIDI 'Song Select' command. BandHelper displays the song.

- I click on the 'C' button in GigPerformer to start playing the song from that position. GigPerformer then sends the appropriate MIDI 'Programme Change' command to BandHelper and the correct position is selected and displayed in BandHelpers lyrics view.

- I click 'Start' to play the song. GigPerformer sends the 'Start/Stop Automation' MIDI command to BandHelper and starts playback of his own (backing, click, info, ...) tracks.

- BandHelper receives the 'Start/Stop Automation' command and starts playback. However, as the automation track is still at the beginning and not at position 'C', the first line of lyrics of the song will be selected and not the first line of section 'C' as desired.

arlo

You are using the automation track to position the lyrics throughout the song? Depending on how you're doing that, the lyrics will go to the desired position when you change the automation track position. If they don't, you could send the MIDI message to change the lyrics position after you send the MIDI message to change the automation track position.

garysn

Yes, that's right.

My automation tracks always have exactly this format:

"automation": "
0.00|highlightLyricsLine|1,
0.01|playRecording|,
0.62|highlightLyricsLine|2,
1.13|highlightLyricsLine|3,
1.63|highlightLyricsLine|4,
2.20|highlightLyricsLine|8,
6.39|highlightLyricsLine|9,
...
289.00|highlightLyricsLine|198,
289.25|end|"


Select the first line of lyrics
Start the corresponding audio file
Time-correct selection of the current line ...
... until the song is finished.

This means you can use exactly the same data when practicing on your tablet at home as when you rehearse together.

At home, you need to tap the "Automation" icon on your tablets screen to start the automation.

In rehearsal, the automation is started by a MIDI event from GigPerformer. That is the only difference.

And everything works perfectly except for the missing option,
to start the automation track at specific times.

I don't think that it makes sense to send a MIDI command to move the line number while the automation is running.

The displayed line would change briefly, but the automation would immediately select the next line in its processing queue when processing its next command.

The whole thing can only really work if you can tell the automation by (MIDI) command that it has to move to a certain position.

But if there is no such command, then I have to solve the problem in a different way.

I'll write a converter that converts the JSON format of the BandHelper automation info into a MIDI file, which then simply selects the lines at the right time via GigPerformer using a MIDI command.

This is not quite as elegant as a "BandHelper internal solution", but it should work somehow.

Anyway, thanks for all the great ideas and the time you spent on my problem.

Kind regards
  garysn