Live Performance Hands-Fee/Eyes-Off-The-App Looping

edited January 1970 in Feature Wish-lists
Greetings Jack,
Up front, just let me say that GTL is a great concept for a new looper app...
Thanks much for your efforts!

MY BACKGROUND:
I'm a retired engineer and have been a musician/guitar player for almost 50 yrs. I've been looping since I got my original Lexicon Jam Man in 1995 (still have it; still works great). I'm hoping GTL will become my new go-to "Hands-Free/Eyes-Free" Performance Looper. As a long time musician, I have a few insights into this type of capability that I'm hoping you will consider adding to your GTL.

WHY CONSIDER THIS SUGGESTION:
As you know, there are many many other iOS apps that do looping... NONE of which I have found satisfy simple live practice/performance "Hands-Free" and "Eyes-Off the App" looping situations. I think there are quite a few people (More Customers?) whom, like me, would love an iOS app that can handle those needs as-good-or-better-than the best dedicated Hardware Foot Pedal Loopers can. I believe GTL could distinguish itself as that type of unique app. You have done all the "hard stuff", I think all you need to add are a few more MIDI/Control message Functions!

THE GOAL:
Minimize the number of MIDI Control foot switches needed to effectively control GTL looping functionality in a live practice/performance "Hands-Free" and "Eyes-Off the App" situation.

THE SUMMARY:
Given the Control Functions you have already defined/implemented, I think you would need to implement additional functionality driven by about 5 new types of Control messages.

THE DETAILS:
I thought I would save you the effort, and use my personal experiences (and  preferences) to define a set of additional GTL Controls and Functionality details that would satisfy the intended goal. So here are my suggested additions to the GTL MIDI/Control FUNCTIONS that would give it a...

SIMPLE HANDS-FREE/EYES-OFF-THE-APP LIVE PERFORMANCE CAPABILITY:
//////
{GLOBAL:  GROUP SELECT WITH AUTO-RECORD/PLAY}
1a. Perform Cueing* (* = or "Instantly-Selecting" if Cueing is OFF) any defined Group via a corresponding Control message. One message per defined Group.

1b. When a Cued/Selected Group becomes active, automatically begin recording in its 1st Loop if the Group currently has no recorded loops, otherwise play the Group. Also, automatically mute the previously "Selected Group" if it was not the Master Group.

1c. The newly activated Group becomes the currently "Selected Group", and by default, it's 1st Loop ALWAYS becomes the currently "Selected Loop".

1d. If a new Control message is received before a currently Cued Group becomes active, abort the in-progress Cueing, and process the new Control message.

{IN SELECTED GROUP:  NEXT LOOP WITH LIMIT, PREVIOUS LOOP WITH LIMIT}
2. In the currently active Group, perform Select Next or Previous Loop WITHIN the Group (with NO roll-over/wrap-around), via two corresponding Control messages.
NOTE: Initially make Group-(Index_1) and its Loop-1 the DEFAULT "Selected" Group & Loop from a Control message initial conditions point-of-view.
IMPORTANT: The "NO roll-over/wrap-around" always ensures hands-free deterministic selection of a selected Group's 1st (or 4th) Loop with just 3-quick-taps of a single foot switch, without needing to look at GTL's display screen.

{IN SELECTED LOOP:  RECORD/OVERDUB, MUTE/UNMUTE, CLEAR/UNDO}
3. For whatever Loop is currently Selected, perform a Cued(*) or Instantaneous Record/Overdub, Mute/UnMute or Clear/Undo of the Loop, via three corresponding Control messages. 
[Note: I think you already have most of this already implemented... Cool!]

{GLOBAL:  FADE WITH MUTE}
4a. Initiate a "Fade" process on any/all audio that GTL is playing (starting at the current audio play output level), via a corresponding Fade Control message. If the previously received Control message was NOT a Fade Control message, the initial duration of the fade  process is set to a statically configurable Fade Settings value of: "Long" seconds.

4b. If two consecutive Fade Control messages are received, a new "Fade" process  is initiated (starting at the current partially faded audio play output level) with the duration set to a statically configurable Fade Settings value of: "Medium" seconds.

4c. If three consecutive Fade Control messages are received, a new "Fade" process  is initiated (starting at the current partially faded audio play output level) with the duration set to a statically configurable Fade Settings value of: "Short" seconds.

4c. If four consecutive Fade Control messages are received, the current "Fade" process is aborted, and an immediate "Mute" is performed on the GTL audio play output level.

4d. If a "Fade" process has been initiated, but not completed/aborted, and a Control message other then a "Fade" is received, then the current "Fade" process is aborted, and the GTL audio play output level is immediately set to the highest level it was at prior to the initiation of the previous, and potentially consecutive, "Fade" process(es).

{GLOBAL:  RESET GROUPS THEN MASTER}
5a. Perform a Reset (i.e., Clear all Loops) to all defined Groups except the Master Loop, via a corresponding Control message.
NOTE: Make Group-(Index_1) and its Loop-1 the DEFAULT "Selected" Group & Loop from a Control message initial conditions point-of-view.

5b. If two consecutive Reset Control messages are received, perform a Reset (i.e., Clear all Loops) to the Master Group.
//////

DISCLAIMER:
I can't guarantee I didn't miss something in the above, so it's possible it may need a tweak or two. If you are interested, please don't hesitate to email any questions to me at: iggster@msn.com
//////

Hopefully... your extra efforts to implement this will be compensated by having those additional Customers that have been looking for that GREAT "HANDS-FREE/EYES-OFF-THE-APP" iOS LOOPER!

With Best Regards,
-Duke
( iggster@msn.com )
------

Comments

  • Hey Duke,

    thanks for the detailed suggestions. All very interesting and i'll certainly do my best to incorporate as much as I can. I'm working on Ableton Link support at the moment which is taking up most of my time but after that I will have a look at adding more MIDI binding options.

    1. GLOBAL:  GROUP SELECT WITH AUTO-RECORD/PLAY
    GTL has two ways of working with MIDI, No.1: Select a group and use four separate foot pedals to record/overdub the four loops in the selected group. No.2: Select a single loop and assign one pedal to record/overdub. In terms of auto record, if you start recording to an empty loop which is not in an active group then that group will automatically play as well as record after the CUE, or straight away if CUE is off. Does this cover what you are after or have I missed the point? :)

    2. IN SELECTED GROUP:  NEXT LOOP WITH LIMIT, PREVIOUS LOOP WITH LIMIT
    Think i've got the idea here, like selecting loops individually but only in the active group. Would this be one binding which just selects the next loop always starting from loop 1 in group?

    3. IN SELECTED LOOP:  RECORD/OVERDUB, MUTE/UNMUTE, CLEAR/UNDO
    Yep GTL already does this although it does not CUE overdub or mute yet, they are always instant. Someone else has requested CUE mute and overdub so i'll probably add that at some point.

    4. GLOBAL:  FADE WITH MUTE
    Great idea!

    5. GLOBAL:  RESET GROUPS THEN MASTER
    Is this a clear group function? or clear all groups other than master group?

    Thanks again for the suggestions, it might be best if you become a tester and we can work on these functions together. Let me no if you're up for that.

    Cheers,
    Jack
  • Hello Jack,
    Thanks for getting back to me so quickly. I totally understand your other priorities (especially Ableton Link). I am delighted to hear your interest in my suggestions.

    Here are my responses to your reply's questions (by item):

    1. GLOBAL:  GROUP SELECT WITH AUTO-RECORD/PLAY
    I like the concept of each defined Group representing a part of a song (e.g., Verse, Chorus, Bridge). Then Loops within each of those Groups representing variations and/or built-up embellishments for each part of the song. I also want to have a separate dedicated foot switch (binding), for each song part, such that a Live performer can easily run-over-to and "stomp on" in order to transition between different song parts.
    This is why I would want each defined Group to be able have to have its own dedicated binding for its Group Selection and Auto-Record/Play. In think that in many Live performance scenarios where Groups are use to represent song parts, the number of song parts will typically be 3 or less. This will naturally tend to limit the number of dedicated foot switches that would typically be need for dedicated song part Groups.

    SCENARIO: So the GROUP SELECT WITH AUTO-RECORD/PLAY could be used by a Live performer by initially tapping the Group-1/Verse dedicated foot switch to initiate auto-Recording of say a rhythm guitar part for a song's Verse. Then when it's time to switch to the song's Chorus for the 1st time, tap the Group-2/Chorus foot switch to initiate auto-Recording of say a rhythm guitar part for a song's Chorus. Now the Live performer can tap either the Group-1/Verse or Group-2/Chorus foot switch to move between the two song parts as need be, and add or mute embellishments to either song part as the song progresses.


    2. IN SELECTED GROUP:  NEXT LOOP WITH LIMIT, PREVIOUS LOOP WITH LIMIT
    Yes, I think you got the idea. It would be one binding for NEXT LOOP WITH LIMIT, and one binding for PREVIOUS LOOP WITH LIMIT.

    SCENARIO: A Live performer can have a lot going on, and over the course of a song, they may not be sure what Loop in the current Group is currently Selected. By NOT allowing Roll-overs/Wrap-arounds, a Live performer can always tap one of these two foot switches 4 (or more) times to ensure they are either at the 1st Loop (via PREVIOUS LOOP WITH LIMIT), or 4th Loop (via NEXT LOOP WITH LIMIT), in the currently Selected Group... all without having to look at the GTL app's display screen to make sure they counted EXACTLY right. Once they re-orientate themselves as to which Loop they MUST currently have Selected, they can then quickly focus on navigating to the specific loop that they want to actually do something with using the same two foot switches.


    3. IN SELECTED LOOP:  RECORD/OVERDUB, MUTE/UNMUTE, CLEAR/UNDO
    Your already planned enhancements are just the ticket!


    4. GLOBAL:  FADE WITH MUTE
    Glad you liked the idea. FADE is one of my favorite original Lexicon JamMan features, and seems to be one that most modern looper apps don't have or implement nicely.


    5. GLOBAL:  RESET GROUPS THEN MASTER
    The idea is to initially Clear All Loops in All Groups, except the Master Group. If a 2nd consecutive Control message of this type is received, then the Master Group's Loops are cleared too.
    SCENARIO: This would allow a Live performer to keep the current Master Group's rhythm Loops to work with when starting into a new song (i.e., with all other Groups cleared)... all via use of just one foot switch tap. A second consecutive tap would clear out the Rhythm Loops in the Master Group too, providing an even "cleaner slate" for a Live performer to work with.


    ALSO: Yes... I would definitely be up for being a tester to support your efforts on this!

    Best Regards,
    -Duke
    -------
  • Brilliant!

    I'll be in touch when I start expanding the MIDI features and then add you as a tester.

    Cheers
  • That would be great!    -Duke
  • It's an old thread, I know, but I'd still like to express my
    +1
    to Duke's suggestions. Especially the one press group select and play/record I think would be brilliant.

    Cheers,
    Axel
  • I think MIDI functions in GTL is the next area i'd like to expand. Essential for live performance.
Sign In or Register to comment.