Apps by Arlomedia

Set List Maker => Other Help => Topic started by: Tomd100 on November 11, 2015, 07:51:25 AM

Title: Automation Suggestion
Post by: Tomd100 on November 11, 2015, 07:51:25 AM
I'm not sure whether this is the place to post:

One problem of playing to backing tracks in a live performance is that you have to follow the track form beginning to end and cannot easily deviate from this. I have the Beatbuddy drum pedal. The pedal allows you to load the drum parts for different sections of a song: intro, verse, chorus etc. and it allows you to move freely between these as you wish providing fills and transition fills in the process (if you want) all while keeping the beat (and it will act as a slave to SLM). This creates a certain freedom when playing. For example you can extend a solo or repeat the first verse if you want. In Apple's MainStage you can play a backing track with previously assigned markers allowing you to jump in real time between sections of a song, punctuated by the markers, to achieve the same effect of repeating a chorus or verse etc.

A great feature of SLM is the ability to record midi pre-sets against a backing track giving you freedom to focus on playing while the automation takes care of the changes to guitar and vocal effects etc. So here's the challenge: what if you could achieve the same automation but allow the ability to divide a backing track into song component parts each with an associated automation file giving you the freedom to queue up a song section on the fly if you wanted to deviate from the standard progression. So your backing track could consist of intro, verse, verse, chorus, verse, chorus, outro and if, during the last chorus you wanted to include another verse before the outro you could simply queue that in (via midi) during the chorus and it will play it's own the automation file to control effects etc. Obviously this will depend on the song and complexity of the backing track. But even if the backing track was just a click track and only the automation pieces were available in this way it would be very useful. Any thoughts on this?
Title: Re: Automation Suggestion
Post by: arlo on November 11, 2015, 09:09:09 AM
You can currently attach multiple recordings to a song and trigger them with remote control. However, this would need to transition between clips with no latency, and you would need a way to select clips before they play rather than selecting them at the moment they play.

Using automation tracks, I could add the ability to record a "seek" action as an automation event. The new audio engine in iOS 8 and 9, and the one in Android, allow sub-second seeking (the old audio engine in iOS 5-7 doesn't), but in some brief testing, the audio engines don't respond quickly enough to jump around seamlessly. Also, the current automation track editing interface does not have any kind of graphical waveform display or drag and drop interface that would allow you to split up your audio recording easily.

What BandHelper is, at its core, is an information management tool. It has the ability to view (in the case of lyrics) and play back (in the case of recordings) that information in commonly used ways. But when you start looking at more advanced uses of those functions, the question becomes, should BandHelper include more of the capabilities of a sequencer / mixer / PDF converter / instant messaging client / etc? Or should I leave that to other apps that are designed for those functions? The answer involves a few factors: how easy is it to develop those functions, how many people would use those functions, are other apps available for those functions, how easy is it to integrate my app with those other apps?

For this feature, I would encourage you to look at other apps that can do the audio sequencing you're looking for (Loopy might be a place to start) and report back on what you find.
Title: Re: Automation Suggestion
Post by: Tomd100 on November 11, 2015, 10:38:06 AM
Hi Arlo, I get what you are saying about the information side Vs the automation / looping etc. But here's the issue: as far as I can tell there are no apps out there that handle automation along with everything else the way SLM does. Even in the Mac world there are few. Some of the large DAWs like Logic and Ableton do (and maybe a few smaller ones) but I haven't found an app that specifically addresses all the issues faced when trying to play solo with backing tracks etc. And as I see this space increasing in popularity and technology it is probably an area worth considering, seeing as you are already well on your way. I agree there is no need to re-invent processes that other apps handle well. That's why IAA is a good idea and plugins for the laptop world. I was going to suggest that you take a look at the Mac area too because if it were possible to produce a plugin for MainStage that could record and play midi automation files synched to a backing track as in SLM it would be a hit - to date Apple have not put that in MainStage (it is in Logic to a degree) and many have been crying out for it for a long time. It's about filling the gaps mostly.
Title: Re: Automation Suggestion
Post by: arlo on November 11, 2015, 11:02:14 AM
To clarify, you are looking for an app that lets you sequence the sections of a song, then either play the predefined sequence or change the sequence on the fly while performing? And the sections would consist of audio and outgoing MIDI messages?
Title: Re: Automation Suggestion
Post by: Tomd100 on November 12, 2015, 01:50:42 AM
Yes - without trying to complicate matters too much, which means it will not suit all songs and styles etc. But as an example: for certain songs I can record a guitar loop for the verse. And then immediately record a second loop for the chorus. Once those are done I can simply queue the chorus loop to play next whilst the verse loop is playing. And likewise I can queue the verse loop to play once the chorus loop completes, or I could leave the chorus loop to play a second time. Obviously this is an approach suited to creating loops but I imagine that if I pre-recorded the same sections as backing tracks and had the ability to queue them up as needed along with live performance, I would achieve the same thing (only with better quality and fuller sounding loops). The next step is to add the SLM automation style midi commands at various points in the loops to affect guitar and vocal effects thus saving me from stomping on all the foot switches. I don't need an app to create the loops on the fly - I have that already and there are many loopers out there.

In a general sense I see this space developing with more and more sophistication. For example there is a very cool piece of software out there for Mac and IOS called MIDI Guitar that will translate analogue guitar signals to midi notes. And it does it pretty well. In fact it will work with almost any analogue sound including your own voice through a mic. I have rigged up a harmonica to play through it and using MainStage midi instruments was able to play orchestral strings from the harmonica. One possibility I see using this software is to be able to analyse what a guitarist is playing (without the need of a midi pickup etc.) and automatically identify loops that relate to verse and chorus. So imagine if you could simply play a song and after the second verse the software has already identified and recorded the progression relating to the verse and created a perfectly timed loop which, when you come to the solo, you kick off knowing that it will fit in step. More thought needed I know but I am sure this kind of thing is on it's way.
Title: Re: Automation Suggestion
Post by: arlo on November 12, 2015, 07:58:49 AM
I guess the audio part could be as simple as taking the existing multiple-recording and remote-control capability and adding the option that if a recording is playing and you select another recording, that one doesn't play immediately but instead waits for the current one to finish ... assuming I can get the transitions to be clean and exact. Oh, and I would also need to add an option to play through all the attached recordings consecutively if no remote control commands are received. Then if a remote control command is received, it would be simplest if the app then switched into "manual mode" and only played the requested recordings from that point forward. I suppose it could also switch back to where you were in the predefined sequence if no further commands are received. Ideally we would correctly identify what app behavior is natural and desired by most users in that situation.

To add MIDI to this, I think the app would need a completely different kind of structure from what it has now, to associate MIDI messages with recordings. I don't have any immediate thoughts on how that could work.

Anyway, I'll add this to my wish list. If anyone else is reading this and would use this functionality, please post a reply and I'll add a vote for you.
Title: Re: Automation Suggestion
Post by: Pongo on November 12, 2015, 10:14:37 AM
Arlo,

What about having the ability to assign markers to a backing track?

For example, having user defined markers for: intro, Verse1, Chorus1, Vers2...solo...refrain, etc., that would allow the user to control via MIDI. I believe that the automation events would need to be shown as bars and beats, rather than minutes and seconds, to ensure accurate mapping.


That way, the backing track would not need to be sliced up into smaller audio files. The problem would be ensuring smooth playback, without pops or clicks, I suppose.

Title: Re: Automation Suggestion
Post by: arlo on November 12, 2015, 01:52:05 PM
Yes, it could work that way, and I think that would answer the question of what happens when you stop sending remote control commands: the file would continue playing to the end. Unfortunately I have found that the audio frameworks I'm using aren't fast enough to jump around seamlessly like that, but there might be some untapped potential in the iOS version that I could explore further.
Title: Re: Automation Suggestion
Post by: Tomd100 on February 10, 2016, 06:11:27 AM
Hi Arlo - I was thinking about the idea of adding markers to the automation track (and possibly the backing track) and making it possible to move between markers on the fly during playback and wondered if you have explored the idea further. Two possible applications:

1) In Apple's MainStage it is possible to jump between markers in a backing track (as long as they are setup in Logic Pro as you cannot implement them in MainStage directly). The jumps are immediate with no lag. So you can accurately place a marker at the beginning and end of a verse and and loop between them and give the impression of repeating the verse a number of times. So with SLM's automation it would be possible to send midi commands to MS to move between markers and if these jumps also corresponded to similar moves back and forth in the automation sequence, keeping them in sync, this would allow for moving between song sections on the fly whilst maintaining the correct automation, for volume changes, effect changes etc., per section. Even better would be the option to do so with the backing track running on SLM, if, as you mention, it is possible to do so with the iPad's audio frameworks.

2)The new firmware of the Beatbuddy drum pedal allows you to use midi to move between song (drum) parts and I have read a number of posts asking whether it would be possible to run a BB song (verse, chorus etc.) all the way through without having to manually move between song parts during playback. I mentioned SLM in a reply: if you record the midi commands to change song parts in an automation sequence in SLM you could play a complete song from beginning to end without having to touch the BB - but you would still be able to add drum fills on the fly during playback using the BB pedal giving it more of a live feel. Adding markers within the automation file on SLM would allow you to further control the sequence of song parts on the BB making it possible to add an additional verse or repeat the chorus during playback. Combining this with 1) above you could have the corresponding bass part playing as a backing track in MainStage (or SLM if possible) and effectively have drum and bass parts moving in sync whilst being able to move between song sections freely during a performance.

I thought the logic could be simple as follows: you add markers to the automation track in the same way as you add midi presets, with the ability to tweak and fine-tune the time (position) etc.. Add a new SLM command (also mapped to incoming midi) that allows you to immediately jump to a specific marker in the automation sequence. Add another command that will jump to the specified marker but only when it hits the next marker in the automation sequence: so for example you can send this command half way through the chorus section and when the sequence hits the end of chorus marker it jumps to the specified marker, which could be back to the beginning of the chorus for example or forward to the end of the song marker.

What do you think? I imagine it would be easy enough to implement if the markers and jumps were part of the automation sequence only (maybe backing tracks later..)
Thanks, Tom
Title: Re: Automation Suggestion
Post by: arlo on February 10, 2016, 07:56:54 AM
I think that would be reasonably easy to implement. Would it ever be useful to have the "jump to a marker immediately" option, or would you always use the "jump to a marker at the next marker" option? What is a scenario when you would use the "jump immediately" option?
Title: Re: Automation Suggestion
Post by: Tomd100 on February 10, 2016, 08:48:58 AM
Good point - I suppose in cases where the section in question is long and / or repetitive and you simply want to jump to another section such as the outro - this happened to me when playing David Bowie's Rebel Rebel and the backing track followed the original recording exactly but I didn't feel like singing the part at the end that goes on for ever and wanted to just finish soon after the last verse ( I couldn't remember the lyrics and panicked!) Or perhaps when the performer cuts the sound except for guitar, for a solo or quiet moment, and wants it to resume at a given point when turning the sound back on... can't think of many reasons but I imagine more would come to light when implementing a solution.
Title: Re: Automation Suggestion
Post by: arlo on February 10, 2016, 10:18:43 AM
But you would never want to jump, let's say, to the outro, from the middle of a chorus ... you'd always want to finish the current section, right? Jumping immediately to a marker seems useful in a DAW when you're jumping around to make edits, but not so much for a performance application.
Title: Re: Automation Suggestion
Post by: Pongo on February 10, 2016, 12:29:01 PM

so for example you can send this command half way through the chorus section and when the sequence hits the end of chorus marker it jumps to the specified marker, which could be back to the beginning of the chorus for example or forward to the end of the song marker.

What do you think? I imagine it would be easy enough to implement if the markers and jumps were part of the automation sequence only (maybe backing tracks later..)
Thanks, Tom

Tom,

In the example that you used, are you talking about adding that event `on the fly', with your Beatbuddy pedal, (or anything else that could send the request to SLM)  as the backing track is playing, during a live performance? Would this mean that the existing automation track (that would be playing) would need to incorporate these changes `live', as they happen, since they would not already be in the recorded automation track?

If so...and if Arlo decides that it's a worthwhile request, I'd be all over that! This would solve the only real issue that I have...using backing tracks with no control over the recording, regarding live changes to the arrangmenet, as the show/crowd would dictate.



Title: Re: Automation Suggestion
Post by: Tomd100 on February 10, 2016, 12:33:04 PM
Well you might, if the sequence was long and repetitive as in the Rebel Rebel example which repeats the same riff over and over at the end of the song. It wouldn't be much unlike trying to time the end of a loop when using a looper pedal. Also if using it with the Beatbuddy the sequences in question are drum parts that are repetitive anyway. And the good thing about the BB is that it keeps the beat even if you are a little late or early with the transition from one part to the next. I think it would be useful for BB users.
Title: Re: Automation Suggestion
Post by: Tomd100 on February 10, 2016, 12:59:09 PM
Tom,

In the example that you used, are you talking about adding that event `on the fly', with your Beatbuddy pedal, (or anything else that could send the request to SLM)  as the backing track is playing, during a live performance? Would this mean that the existing automation track (that would be playing) would need to incorporate these changes `live', as they happen, since they would not already be in the recorded automation track?

If so...and if Arlo decides that it's a worthwhile request, I'd be all over that! This would solve the only real issue that I have...using backing tracks with no control over the recording, regarding live changes to the arrangmenet, as the show/crowd would dictate.

Hi Pongo,

(My last reply was a reply to Arlo's msg). I think my idea is on the lines of what you mention but I'm not sure I was suggesting the same approach. My idea starts with the possibility of recording midi presets (as automation) in SLM that would transition songs parts on the Beatbuddy. In the new BB firmware it is possible to transition song parts using midi. The midi preset commands from SLM could do that after you have recorded them in SLM via automation. So in this basic example you could kick off the automation in SLM and the BB would play through all the song parts without you having to manually operate the transitions. But you could still manually operate fills whenever you wanted to add more of a live feel.

The above should be possible now. My idea was to extend this approach by allowing markers to be placed in the automation sequence on SLM (in the same way as midi presets are placed) that would mark the beginning and end of the verse and chorus etc. Then to allow SLM to accept specific midi commands, from a midi controller like the Blueboard, that would allow you to jump to a marker on the fly while the automation file is playing. I think this would address the point you made: if you were playing a guitar solo over a verse part on the BB and the audience were loving it, you could hit the button on a Blueboard (for example) and send a midi command to SLM to go back to the verse 'start' maker as soon as it reaches the end of the verse. This would effectively extend the BB part allowing you to continue with a longer solo before moving to the chorus or outro.

I also suggested that the same markers could cause the playback of the backing track on SLM to jump between sections too. So if the backing track was a bass part playing along with the BB it too would jump to the beginning of the verse when you hit the button. In essence it allows you to move between songs parts on the fly if you wanted to extend or cut short a song.
Title: Re: Automation Suggestion
Post by: Tomd100 on February 10, 2016, 01:29:57 PM
Here is an example of what I am talking about (in another IOS app) - it allows the move between song parts but I don't think it allows you to do so via midi. But the video shows the advantages of the approach. You can imagine the SLM automation sequence being linked to the song parts which would repeat any midi presets associated with the song part. Overall it allows you a bit more freedom when playing live against a backing track.

https://www.youtube.com/watch?v=gMGYTdqH9Jc
Title: Re: Automation Suggestion
Post by: arlo on February 10, 2016, 02:24:51 PM
I want to clarify that Tomd100's recent proposal of jumping around in an automation track (which then controls audio from an external player like a BeatBuddy pedal) would be a lot easier than jumping around in an audio track playing in my app, or simultaneously in an automation track and an audio track. If you want to control audio playing from my app, as in the app demo you posted, I think that would require a different approach, with something "above" both the automation track and the audio track, that controls both. However, if you were able to slice up your audio track into separate files and attach all those files to the song, then controlling everything from the automation track would make sense again (and the main issue would be how fast the device could start playing each file).
Title: Re: Automation Suggestion
Post by: Pongo on February 10, 2016, 03:17:32 PM
Here is an example of what I am talking about (in another IOS app) - it allows the move between song parts but I don't think it allows you to do so via midi. But the video shows the advantages of the approach. You can imagine the SLM automation sequence being linked to the song parts which would repeat any midi presets associated with the song part. Overall it allows you a bit more freedom when playing live against a backing track.

https://www.youtube.com/watch?v=gMGYTdqH9Jc

Now that might be something for me to consider, if I can figure out how to use it in tandem with SLM.

Off the top of my head, I don't know how I could use Trax for playback of a backing track, while using SLM for lyrics and automation for things like MIDI patch changes.

Any ideas how this would work?
Title: Re: Automation Suggestion
Post by: arlo on February 10, 2016, 04:43:43 PM
iPad Pro with split screen (or two iPads, which is about the same cost)?
Title: Re: Automation Suggestion
Post by: Tomd100 on February 11, 2016, 03:44:08 AM
I think a really good solution would if the TRAX developer could implement midi to allow you to select tracks, start / stop and jump to markers etc. using midi commands from an external midi controller. Then the backing tracks could be controlled from within SLM and if SLM had the ability to implement markers in the automation sequence and jump between them, an easier option for SLM as Arlo mentioned, this would make for some really exciting possibilities.

I downloaded the TRAX app and tested it with a Neil Young song I had in iTunes. It is a little basic at the moment but setting up the markers and moving between song parts really works: I set a maker at the beginning of each verse and then was able to jump from the intro to the second verse, missing the first, without a noticeable skip in the playback. As I mentioned, MainStage has a similar capability in the playback plugin. I imagine the scenario during a live performance where you start a song with a a repeating opening riff, with the backing track playing and looping round the opening sequence, such as a simple drum sequence. As it's playing, you introduce the song and get the audience going, and then when ready, kick off the rest of the song with one stomp on a midi foot controller. The backing track kicks off with the rest of the song (and the BB, if used moves to the next song part). You could have song parts that included other instruments that you could introduce on the fly if you wanted. Definitely worth exploring.
Title: Re: Automation Suggestion
Post by: Pongo on February 11, 2016, 07:37:13 AM
iPad Pro with split screen (or two iPads, which is about the same cost)?

How could I sync SLM and TRAX, so that the SLM automation responds to the changes being made in real-time to a backing track [recording] in TRAX?

I suppose SLM would need to be the slave? If so, would SLM be driven by the plack back (time) of the recording in TRAX?

For songs where a recording is not used, would/could SLM work alone, without needing TRAX to initiate anything?



I realize that these questions are probably pie in the sky, but...it would be great to be able to do this, eventually.


If there's a way to do this, it will be `lights out' for the competition!
Title: Re: Automation Suggestion
Post by: Tomd100 on February 11, 2016, 08:28:05 AM
Assuming Arlo made the changes to the automation file with the ability to include markers (in the fashion of midi presets) with commands to jump back or forward to a marker and assuming the TRAX developer allowed the jump to markers in his app to be controlled by midi, the setup would work as follows:

1) Set up a song in SLM with automation (but no backing track).
2) Add a midi preset to the song that would send a command to TRAX to start playing the backing track. (assuming you already have the backing track setup in TRAX as you need it with all the markers required etc.)
3) Run automation record from SLM which will kick off the backing track (because of step 2) in TRAX and as it's playing through you place markers in SLM at the same places you have them in TRAX. If the markers are not accurate enough when you place them the first time you can tweak the timing in SLM later.
4) Once you have the markers in SLM you could send simultaneous commands to SLM and TRAX when you want a change - remember that it is not important for these commands to be sent at exactly the same time because both system will only jump to the designated marker when they reach the next marker. So if during a verse you want to repeat the verse rather than go through to the chorus you would send a command to SLM to return the automation to the beginning of the verse (whatever marker that is) 
and likewise another command to TRAX to do the same with the backing track. Both systems will only jump when the end of the verse marker is reached. Of course this assumes that the 2 systems stay in sync during playback - but I think they would - the timing of the backing track should be the same each time it is played. Another variation of this is to send one command to SLM to go to specific marker and for SLM to pass it on to TRAX to do the same. That would probably be the better option (this assumes that both systems would allow you to map the specific midi command that indicates a jump to a marker.

I am assuming here that the all of this is controlled via an external midi controller such as the Blueboard.
Title: Re: Automation Suggestion
Post by: arlo on February 11, 2016, 10:03:20 AM
If TRAX supported MIDI input, then you could also do this without an automation track at all ... just set up a MIDI preset for each section of the song, which includes a marker message to TRAX and also any other MIDI you want to send to other devices. Then you could have real-time control just by pressing the MIDI preset buttons in Set List Maker.

If you wanted the advance control like TRAX has (to select the next section any time during the current section), then that would require the automation track functionality, with the updates discussed above.

I'm willing to take a look at jumping around in the audio in my app. With the new audio engine I added a few months ago, performance might be good enough. That would eliminate the need for a separate app. I am just focused on other parts of my apps currently.

The part that I still can't wrap my head around is whether the automation track should control the recording (which would allow you to jump around in the recording using automation track markers) or whether the recording should control the automation track (which would allow you to play the recording straight through without any jumping). Allowing both scenarios seems very confusing. If the automation track controlled the recording and you let it play straight through, the automation track would be telling the recording to jump to the spot where it already is. I guess that wouldn't hurt anything if the timing is as accurate as it would need to be. It seems weird though.

On the plus side, this would allow someone to rearrange their backing tracks using only the automation track. For example, I could add a single automation event at the end of the last chorus that jumps to the start of the last verse. Then every time I played the song, it would be extended by one extra verse and chorus. I could see that being useful even to people who don't need the manual control that you guys are looking for.
Title: Re: Automation Suggestion
Post by: Pongo on February 11, 2016, 10:45:08 AM
If the TRAX developer did add MIDI support, what about using a MIDI merge box (similar to an A/B/Y box for audio?

With that, we could connect it to a controller, that would then send the same MIDI data to each iPad or app, simultaneously. In theory, SLM and TRAX would not need to be connected.

Would that scenario make this easier?
Title: Re: Automation Suggestion
Post by: arlo on February 11, 2016, 10:55:01 AM
I don't think that would help. Sending MIDI between apps shouldn't be a problem if both apps support it.
Title: Re: Automation Suggestion
Post by: Tomd100 on February 11, 2016, 02:57:23 PM
In my example the reason I didn't suggest tht SLM automation control the backing track in TRAX is because I was thinking about using the automation to control live presets and effects for the guitar as well. I use a Voicelive 3 for vocal and guitar effects and currently I use SLM automation to turn guitar and vocal effects on and off on the VL3. During playback. So my approach was to see if I could still maintain those midi presets in line with the song parts as I jumped from one part to another.

In a different config perhaps, there is the BeatBuddy: the BB has song parts too (in drum format of course) and the way it works is by manually transitioning between them using the pedal. Typically you would start a transition just before the end of the measure and the BB will start the transition fill and move to the next song part at the end of the measure. It takes care of the timing so you don't need to worry too much if you are a little early or late with the transition. Unlike a backing track the BB just keeps going if you let it. I was thinking that with the same setup in SLM the automation could send out midi commands to effect transitions on the BB either by simply letting the automation play all the way through or by jumping between sections as with the backing track. In this case however you would set each marker in the SLM automation a couple of seconds before the actual change. That way the marker could be followed immediately by the transition command and the BB would complete the transition at the end of the measure. The BB can sync to the midi clock from SLM. I suppose it would be possible to have both BB and backing track running at the same time if the two could remain in sync.
Title: Re: Automation Suggestion
Post by: Pongo on February 13, 2016, 11:13:20 AM
I don't think that would help. Sending MIDI between apps shouldn't be a problem if both apps support it.

I just wondered if using the MIDI merge for 2 iPads would, in essence, act as a master sync device.
Title: Re: Automation Suggestion
Post by: arlo on April 17, 2018, 02:17:43 PM
Followers of this thread might be interested in this post:

http://forum.arlomedia.com/index.php/topic,1509.msg8041.html#msg8041