Skip to content

My Group The Loop Wizard Mozaic script - A new way of performing live!

Hey guys :smiley:

After weeks of digging around in this forum (and other resources) for information about how to control Group The Loop using my iRig BlueBoard, I finally came up with a pretty nice script. First of all: thank you so much guys for all your help. I wouldn't have made it so far without you, that's sure. :heart:

My "Group The Loop Wizard" script definitely establishes a kind of a new paradigm on how to do live performances that are highly time sensitive (at least in the context of iOS, as far as I know). The idea: simply do all the needed configurations (group number, loop number, instrument FX, etc.) in advance, then add each configuration to a virtual stack. Then start to perform and activate each configuration simply by the click of a single button, one after the other (from the stack). This allows to do the brain work in advance, so afterwards you can concentrate fully on the performance.

I simply love this idea, and my script is quite powerful already. I'd love to hear your thoughts about it. To make it easier for you guys to get the idea, I created 3 videos demonstrating the script. :smile:

General introduction: what's the idea behind the "Wizard" script, and what features are planned?

"Dry" demo of the script in action (just explaining what happens, no real performance yet)

Real demo of a pop song (Rivers of Babylon) - very fun!!

I'm sorry that the videos are lengthy. The first one might be the one you can skip, if you're short in time; the other two videos will give a good overall impression.

I'm very much looking forward to reading your comments.

Here's my brainstorming document: https://docs.google.com/document/d/1OtPnCPZqHNCdndD-STC5bEZw_CEiafH1zztmPeyL9ZA/edit?usp=sharing
And here's the script: https://github.com/jmuheim/mozaic-blueboard/blob/master/wizard

Lots of love
Joshua :blush:

PS: This is a double post from https://forum.audiob.us/discussion/40389/my-group-the-loop-wizard-mozaic-script-a-new-way-of-performing-live/p1?new=1

Comments

  • Great work @josh, thanks for sharing. I'm sure people will find this extremely useful!

  • I look into the performance video and I’m not sure if step functions in GTL could substitute (or almost complement) your script.
    ITOH nektar pacer has also multiple round message for a single pedal so maybe you should consider it.

    I feel you are just scratching the top of the iceberg for your needs...

    Btw what you call “cheat” only worries other looper artists (and not all of them) but crowd doesn’t gives a 5h17 about how do you get the song walking if the song isn’t _carchy_ and so on... (IMHO) so my best advice for these _issues_ will be ever the same: simplify and focus on the result over the process.

    It’s common _looper artist syndrome_ which we call _Beardyfication_ lol.
    Even Dubfx serms going that route from a recent interview which for me is a _mistake_ (but part of everyone process in the quest for own personal workflow) and sooner or later things will get simplified after too much _overthinking and overcomplexing_.

    Thanks for share <3
  • edited August 2020

    I look into the performance video and I’m not sure if step functions in GTL could substitute (or almost complement) your script.

    Yeah, having something like that built natively into GTL would be great. Are there concrete plans for this? I asked for something similar already in Concept for "Input templates", but I didn't feel like it's actually a planned feature (or would ever be in the near future). Alas, I'm just trying to get to work what I need with whatever options there are available to me, and it seems that the Mozaic script language offers quite a lot of possibilities (although it's pretty limited as a language and needs a lot of repetitive, "smelly" code, but it does the job pretty well otherwise). But having stuff like that natively would definitely be the easier option! :wink:

    ITOH nektar pacer has also multiple round message for a single pedal so maybe you should consider it.

    Good to know that there are options. Still, my focus lies on "minimal gear", so the nektar pacer is much too big for me to travel with as a backpacker.

    You're using a lot of words that I never heard before in your post. I found out that 5h17 is geek-style for sh*t, but I couldn't find carchy anywhere, and neither Beardyfication. I'd love to hear some more explanations to those. :smile:

    I feel you are just scratching the top of the iceberg for your needs...

    I'm completely aware of that. I wouldn't dive into this world if it wasn't a lot of fun, even though it feels a lot like making 2 steps forward and 1 backward... sometimes even 2 backward, or even 3! :tongue::astonished:

    ... sooner or later things will get simplified after too much overthinking and overcomplexing...

    I agree. My ambition is to cover original pop/rock songs as closely as possible (at least in their general song structure), and I want to be able to create everything that the audience hears completely from scratch during a performance. So I don't want to pre-record audio or anything like that. My audience should always be aware that every single sound that they hear was actually created on the spot (using a guitar, a MIDI keyboard, and a microphone). Besides that, the computer can help me to arrange all the stuff, because doing manually would take too much time, and I just don't want to use/waste that time during a song; otherwise the song will become repetitive, boring and/or will not resemble the original pop/rock song anymore that I'm imitating.

    So while I could manually create all configuration for the "step functions" before a track, for the sake of speeding it up and don't bore the audience, I feel it's legitimate to create some higher-level-abstraction (ie. presets for typical configurations for parts of songs, or even configurations for full songs) that I can simply load by the click of my finger.

    Thanks for share <3

    You're very welcome. I'm happy to receive feedback by you guys. :star:

  • Shit is correct,
    Carchy is CaTchy wrong written from iPhone xD

    About the first part you should dig deep into midi bindings / Functions


    That's why I pointed also Nektar if these functions can't cover your needs, maybe the nektar pacer has similar options with its multiple tap capabilities, also apps like Midiflow...

    @josh said:

    I agree. My ambition is to cover original pop/rock songs as closely as possible (at least in their general song structure), and I want to be able to create everything that the audience hears completely from scratch during a performance. So I don't want to pre-record audio or anything like that. My audience should always be aware that every single sound that they hear was actually created on the spot (using a guitar, a MIDI keyboard, and a microphone). Besides that, the computer can help me to arrange all the stuff, because doing manually would take too much time, and I just don't want to use/waste that time during a song; otherwise the song will become repetitive, boring and/or will not resemble the original pop/rock song anymore that I'm imitating.

    So while I could manually create all configuration for the "step functions" before a track, for the sake of speeding it up and don't bore the audience, I feel it's legitimate to create some higher-level-abstraction (ie. presets for typical configurations for parts of songs, or even configurations for full songs) that I can simply load by the click of my finger.

    That's fair but just on your head. Crowds aren't so exigent (well if your crowd is full of looping artists maybe...) and getting the parts you want to duplicate with the script, just pre-recorded will not make worst your performance but you still need to get the whole "programming" thing running and that extra mess could "freeze" the performance. That's why I said "simplification". Getting things pre-recorded (or maybe Lumbeat apps, etc) or not will be relevant if your entire focus is the performance instead the song itself. Good music doesn't needs artifice and true fans (those who could give you a long tail support so you can make a living) will appreciate music over technique 99% time.

    That drove me into "Beardytronification" vs "Dubfxication" of your sets.

    Even so Dubfx stated in recently interview that he wants go the Ableton route for more flexibility (or what he thinks it will be) and maybe get trapped in the same "syndrome" of "endless possibilities and power" which IMHO is a common mistake in live looping where limitations are the best tool to avoid get trapped in that "rat-race" of power and flexibility when in the end crowd just expect a good performance of memorable song (which Dubfx also points in that interview when he's asked about what makes him different from others artists such Beardyman and I agree on that).

    So in the end we set "conditions" (realtime, no cheating blabla) but the most important if we are crowd focused (there are artists just itself focused) the song, not the process (which is important to us and looping artist but anymore).

    I hope this helps you in your quest. In the end is a journey, there is not "correct" or "wrong"... I said mistakes because usually in this quest we visit common spots and going back and forth so returning into previous spots could have seen as "error/mistake" but truly we advance in each step... also seen different artists make the same statements in different evolution moments lets me extract some conclusions (in addition with my own experience after over 17 years or so with live looping and more than 25 about sound/music productions with computers) and that's what I try to share so maybe others don't need to waste unnecessary time if that concept exist in this journey... I'm too paternalist lol
    XD

  • Hey guys

    I finally made it! What I envisioned 2 years ago when stumbling over Group the Loop came true now - after hundreds of hours of work! :smiley:

    Take a look at my performance of Pink Floyd's epic track "Wish you were here":

    If anyone is interested in the nitty gritty details of how I accomplished this (in quite a complex setup of various apps, glued together using an also quite complex bunch of Mozaic scripts), please tell me. I'm happy to produce some more videos with explanations. :blush:

    Have a great end of the year time, guys! And thanks so much for your support so far. I have the feeling that is is only just the beginning... :wink:

  • edited January 2021

    I've come even further meanwhile.

    I created kind of a "meta script language" which makes it very easy to write song structures. It's using Markdown and Emojis. It looks something like this (original file):

    # Pink Floyd - Wish you were here
    
    Place some more description here if you like...
    
    | Setting | Value |
    | --- | --- |
    | BPM | 121 |
    | 🎸 1 | Wish you were here |
    | 🎸 3 | Oasis |
    | 🎹 1 | Piano |
    | 🎹 2 | Marimba |
    
    ## Intro
    
    - 1st guitar (epic riff)
        - 🎤 ❌
        - 🎸 3 ✔️
        - ⏲️ 10
        - ⏺️ 1
    - 2nd guitar
        - ⏺️ 1
        - 🎸 1
    
    ## Verse 1
    
    - So, so you think you can tell
        - ⏲️ 8
        - ⏺️ 2
        - 🎸 1
    

    Compiled (e.g. in GitHub) it looks very beautiful: https://github.com/jmuheim/mozaic-blueboard/blob/master/songs/wish-you-were-here.md

    Using a little Ruby script, the code above is compiled into the following Mozaic code (original file):

    ...etc...
    
    @ProceedWithSong
      // Intro
      if step = 1 // 1st guitar (epic riff)
        Call @ToggleSendMicrophone // 🎤 ❌
        Call @PrepareGuitarPreset3 // 🎸 3
        Call @ToggleSendGuitar // 🎸 ✔️
    
        Call @IncreaseClockLength // ⏲️ 9
        Call @IncreaseClockLength // ⏲️ 10
        Call @RecordNextLoopInGroup1 // ⏺️ 1
      elseif step = 2 // 2nd guitar
        Call @RecordNextLoopInGroup1 // ⏺️ 1
        Call @PrepareGuitarPreset1 // 🎸 1
      elseif step = 3
        Call @ToggleSendGuitar // 🎸 ✔️
    
      // Verse 1
      elseif step = 4 // So, so you think you can tell
        Call @DecreaseClockLength // ⏲️ 9
        Call @DecreaseClockLength // ⏲️ 8
    
        Call @RecordNextLoopInGroup2 // ⏺️ 2
        Call @PrepareGuitarPreset1 // 🎸 1
      elseif step = 5
        Call @ToggleSendGuitar // 🎸 ✔️
      elseif step = 6 // Did they get you to trade
        Call @PrepareGuitarPreset3 // 🎸 3
        Call @RecordNextLoopInGroup2 // ⏺️ 2
      elseif step = 7
        Call @ToggleSendGuitar // 🎸 ✔️
    @End
    
    ...etc...
    

    This code can then be run with my GTL-Performer script, as seen in my YouTube video:

    I think this is a huge achievement and proves that creating song structures is something pretty simple. Having something like this available in GTL would be awesome! While switching inputs and input settings like I do it in AUM right now still is far away from GTL's possibilities at the time being, having basic song structures available in GTL would make stuff so much easier; and by sending custom MIDI at the start/end of each song part, one could even target AUM (or any other app) to switch inputs the way needed. What do you think, @Jack and @dubbylabby?

    If anybody is interested in joining the project (or just trying it out themselves), see https://github.com/jmuheim/mozaic-blueboard. It's pretty well documented already. If you're having problems with something, please tell me.

  • Hi Josh,
    Happy new 2021!

    I was looking at your video and my conclusion was "too complex" but I know some loopers users love to go that route (at ab forums espiegel, janosax and some others love that complexity) so I will advice add to GTL a basic song arranger with midi/function support as a first step towards the automation recorder/player.

    I had advice at other post about implementing a multitrack mixer with bus send (instead multiple outputs for AB3 which I suggested long time ago) to resolve the "fx tail" issue. I also suggested a way to make all those routings and parts easy to recognise (the color picker paradigm from BlocsWave) so if in the future the group slots increase it will keep the flexibility. The alternative is make each row an instrument/channel so the layers get also structured and users will need to embrace some constraints instead asking for total flexibility... but I understand that's one of the "developers headaches" so I take my own opinions as a grain of salt too. xD

    I think there isn't a perfect looper but also I strong believe it's due how loopers are used. If we look at them as experimental tools then everything is "perfect" but if we try to make them "this" or "that" then problems arise. It's impossible to make something work for everyone. Even Ableton isn't that (hello bitwig!) but in the end it's all about the music.

    Sometimes I think about simplifying so much so much... even to just get a turntable (player) and a mic!
    And draw a full circle from where I started...

Sign In or Register to comment.