Loopy Pro: Create music, your way.

What is Loopy Pro?Loopy Pro is a powerful, flexible, and intuitive live looper, sampler, clip launcher and DAW for iPhone and iPad. At its core, it allows you to record and layer sounds in real-time to create complex musical arrangements. But it doesn’t stop there—Loopy Pro offers advanced tools to customize your workflow, build dynamic performance setups, and create a seamless connection between instruments, effects, and external gear.

Use it for live looping, sequencing, arranging, mixing, and much more. Whether you're a live performer, a producer, or just experimenting with sound, Loopy Pro helps you take control of your creative process.

Download on the App Store

Loopy Pro is your all-in-one musical toolkit. Try it for free today.

Branches - Semi-modular synth by Willow & Oak AB

1356

Comments

  • @kennylovrin : hi, I’m already having fun with this in a chimp in boxing gloves kind of way, but would surely love some exemplar presets as a jumping off point, as I literally have no idea what I am doing!

    I work exclusively inside AUM, so incorporating standalone AUs for the reverb and delay for use alongside the synth would be peachy, and I am all for every single parameter being exposed so I can hook up MIDILFOs to do my knob twiddling for me.

  • @Synthi said:
    thanks @kennylovrin ,Good to know lag UI is first priority!
    About the effects, especially when you save patches (ok you can´t inside Branches but you can in AUM) most of the time the reverb and delay are part of the sound design itself so please consider to integrate them, as other iOS synths or even inhardware, as my Buchla Easel and Synthi have the reverb integrated in the instrument and as part of the sound.
    Meanwhile would be great to have both the reverB and delay as separate AUFX

    I will think through it another time. It's funny because a very early version of my app was built exactly like you say, with CV control of the FX params. But then I opted to simplify and allow the user to supply their own FX by loading into a host like AUM. One early idea I had was to allow you to load third party FX even in stand alone mode, hence the current architecture. I don't know if this will become a reality though, it depends a bit on how people tend to use the app.

    I get what you're saying re. saving patches, but if you load Branches + some fx in Aum, and save a session in Aum, it will save those FX as part of that session wouldn't it? So you'd get that full patch that way right? So I think it's not so much about integrating it into the engine itself, as it is adding support for patches/presets in both standalone and AU-mode?

    I might not make any sense, I'm thinking out loud, I'm just about to look into the performance issues. Anyway, I appreciate the feedback and I might consider integrating the effects chain into the engine itself, but no promises. :)

  • I noticed that if send in channels besides 1 and 2 for midi, it doesn't work?

    It would be helpful to allow other channels, especially if using multiple instances of Branches with other synths.

  • @auxmux said:
    I noticed that if send in channels besides 1 and 2 for midi, it doesn't work?

    It would be helpful to allow other channels, especially if using multiple instances of Branches with other synths.

    you're right, I will up the priority of that in my todo list, I am aware, but now that you ask it wins a few points in priority. :)

  • 1.01, Still not scaling fine in my 6th gen ipad (9’7”)

  • @kennylovrin said:
    I will think through it another time. It's funny because a very early version of my app was built exactly like you say, with CV control of the FX params. But then I opted to simplify and allow the user to supply their own FX by loading into a host like AUM. One early idea I had was to allow you to load third party FX even in stand alone mode, hence the current architecture. I don't know if this will become a reality though, it depends a bit on how people tend to use the app.

    I think just turn FX mix to 0 and you can use other Fx... or add them to the built in...but you can’t the other way around... Would be great to have Cv control for Fx parameters as integral part of the sound design, I think you were in the good path in that early version! I love CVing the reverb mix in the EMS Synthi and now I’m waiting for a PCB for modding the Buchla for CV mix of the reverb too. It really open the timbral capabilities, especially in those relatively simple synths.
    ITOH loading 3rd party fx in standalone sounds good, but since AUv3 can’t host other AUv3 that would make presets incompatible between standalone and AUv3. But Even that would be great for the standalone playing!

    I get what you're saying re. saving patches, but if you load Branches + some fx in Aum, and save a session in Aum, it will save those FX as part of that session wouldn't it? So you'd get that full patch that way right? So I think it's not so much about integrating it into the engine itself, as it is adding support for patches/presets in both standalone and AU-mode?

    Yes I can save a session inside AUM with Branches plus effects, but... can you imagine loading different session just for browsing sounds?? Imagine the workflow when adding branches to a projects with more AUs... 😬

    I might not make any sense, I'm thinking out loud, I'm just about to look into the performance issues. Anyway, I appreciate the feedback and I might consider integrating the effects chain into the engine itself, but no promises. :)

    Please!

  • @Synthi said:
    1.01, Still not scaling fine in my 6th gen ipad (9’7”)

    It looks fine on my iPad 6, 9.7", same as yours. I notice your screenshot shows "64%" at the top. What is that?

  • @Synthi said:
    1.01, Still not scaling fine in my 6th gen ipad (9’7”)

    interesting, I will have to look into that more then.. :neutral:

  • edited November 2020

    @kennylovrin said:

    @Synthi said:
    1.01, Still not scaling fine in my 6th gen ipad (9’7”)

    interesting, I will have to look into that more then.. :neutral:

    Worth to note is that the 'text size' (Settings->Display->Text Size) affects the layout of the app.

    For example I have the 'text size' scaled up one step from the middle and I get this.

    If I leave the text scaling at default (middle) I get this.

    So the text setting definitely affects the layout of the stand-alone app.
    (I usually increase the text-size on my iPad due to degrading eye-sight).

    I'm on an iPad Air 2, iPadOS14.1 (14.2 when it drops).

    Cheers!

  • @kennylovrin said:

    @auxmux said:
    I noticed that if send in channels besides 1 and 2 for midi, it doesn't work?

    It would be helpful to allow other channels, especially if using multiple instances of Branches with other synths.

    you're right, I will up the priority of that in my todo list, I am aware, but now that you ask it wins a few points in priority. :)

    Awesome, thank you!

  • edited November 2020

    @Samu said:

    So the text setting definitely affects the layout of the stand-alone app.
    (I usually increase the text-size on my iPad due to degrading eye-sight).

    I'm on an iPad Air 2, iPadOS14.1 (14.2 when it drops).

    Cheers!

    Yes Samu !! I have text two ticks increased so must be that, I think @kennylovrin now have a clue for the bug.

    Also in the opossite border, the minimun text size for the AUv3 version maybe is too large so If I want to display the full synth the window fill almost all the screen space. Would be great to scale to smaller space

  • @Samu said:

    So the text setting definitely affects the layout of the stand-alone app.
    (I usually increase the text-size on my iPad due to degrading eye-sight).

    I'm on an iPad Air 2, iPadOS14.1 (14.2 when it drops).

    Cheers!

    Good point. My screenshot was also for text size one above the middle, but for iPadOS 13.7. It's slightly different from yours.

  • I caved in, man I am lost. I love it the UI so far and Yeah I need some examples and aim to see how close to the volca I can get it.
    Modular synths are out of price (hardware) so I defend my iOS purchases with' at least im not down the euro rack rabbit hole'
    My first million dollars I get will be a wire studio with a sine wave floating a lump of jelly, with a time travel chronoviser. Hails and any more screen shots of patches I will kiss you. OR not

  • @oceansinspace said:
    I caved in, man I am lost. I love it the UI so far and Yeah I need some examples and aim to see how close to the volca I can get it.
    Modular synths are out of price (hardware) so I defend my iOS purchases with' at least im not down the euro rack rabbit hole'
    My first million dollars I get will be a wire studio with a sine wave floating a lump of jelly, with a time travel chronoviser. Hails and any more screen shots of patches I will kiss you. OR not

    There’s a book by Tony Horgan that goes into great detail on the Volca. Much of it should be applicable to Branches as well. He goes into every patch example on YouTube:

  • Thanks brilliant, but how do I apply to branches? Mainly as I don't know the labels besides a few. I own a volca modular and once see what your pointing out I will be gangbusters. Thanks and Maybe the UI is throwing me for a loop....

  • @oceansinspace said:
    Thanks brilliant, but how do I apply to branches? Mainly as I don't know the labels besides a few. I own a volca modular and once see what your pointing out I will be gangbusters. Thanks and Maybe the UI is throwing me for a loop....

    The biggest difference, apart from the sequencer, is that the LPGs can not be bypassed like in the Volca. The oscillator otoh seems to be better specified.
    Function Generator / Attenuverter / Envelope = Functions
    Randomizer = Woggle (sans S&ah)
    Trig. Div. = Sequences
    Split is not needed
    No equivalent to the Volca Utility that I can see

    To sum up, most Volca patches should work in Branches, replicating Functions will be most fiddly as it is split up between three different sections. Hope this is a bit helpful.

  • @oceansinspace the Buchla Easel seems to have been another inspiration. Here’s a link to the manual (by the legendary Allen Strange):

    https://archive.org/details/synthmanual-buchla-music-easel-owners-manual/mode/2up

  • @kennylovrin I've been doing some of the "Try This" tips in the manual. Like the one for the sequencer. If I'm in standalone mode, it doesn't do anything like is described. Like, not at all. However, it does seem to behave as described when loaded as AU in a host. Is there something simple I'm likely missing?

  • Thanks guys you are all the best! I will be trying again in a few....

  • @kennylovrin also, I kinda prefer the dark interface in the standalone over the white interface in AU. It there a switch to get the dark interface when using as AU?

  • @skiphunt said:
    @kennylovrin also, I kinda prefer the dark interface in the standalone over the white interface in AU. It there a switch to get the dark interface when using as AU?

    Only way I’ve found is to switch to dark mode.

  • @skiphunt I realize that I left out one thing in that top that might be essential.. Do you mean that the sequencer doesn't advance at all, or do you mean that when you move slider 1 the pitch doesn't change?

    The thing is that in standalone mode you don't get a clock pulse on the midi input, so you have to advance the sequencer with the function generator for example (see the tip for the Function generator).

    However, if you mean that the pitch doesn't change when you move the first slider it could potentially be because the sequencer for some reason have advanced to another step since before, so you could try to move the other sliders and see if any of them reacts.

    And of course the third option could be that something is wrong and that the tip in the manual doesn't work in all cases, so I will look into it.

    I have a vague plan to supply a proper midi clock pulse in standalone as well, but I can't say when that might happen.

    Re. dark mode, it seems most people prefer that, I'll keep in the back of my mind.. :)

  • @Samu said:

    @skiphunt said:
    @kennylovrin also, I kinda prefer the dark interface in the standalone over the white interface in AU. It there a switch to get the dark interface when using as AU?

    Only way I’ve found is to switch to dark mode.

    I AM in dark mode.

  • @kennylovrin said:
    @skiphunt I realize that I left out one thing in that top that might be essential.. Do you mean that the sequencer doesn't advance at all, or do you mean that when you move slider 1 the pitch doesn't change?

    The thing is that in standalone mode you don't get a clock pulse on the midi input, so you have to advance the sequencer with the function generator for example (see the tip for the Function generator).

    However, if you mean that the pitch doesn't change when you move the first slider it could potentially be because the sequencer for some reason have advanced to another step since before, so you could try to move the other sliders and see if any of them reacts.

    And of course the third option could be that something is wrong and that the tip in the manual doesn't work in all cases, so I will look into it.

    I have a vague plan to supply a proper midi clock pulse in standalone as well, but I can't say when that might happen.

    Re. dark mode, it seems most people prefer that, I'll keep in the back of my mind.. :)

    I have tried the function generator to trigger sequencer and that doesn’t do anything either in standalone.

    I’m on iPad 10.5 pro. iPadOS 14.1

  • edited November 2020

    @skiphunt said:

    @kennylovrin said:
    @skiphunt I realize that I left out one thing in that top that might be essential.. Do you mean that the sequencer doesn't advance at all, or do you mean that when you move slider 1 the pitch doesn't change?

    The thing is that in standalone mode you don't get a clock pulse on the midi input, so you have to advance the sequencer with the function generator for example (see the tip for the Function generator).

    However, if you mean that the pitch doesn't change when you move the first slider it could potentially be because the sequencer for some reason have advanced to another step since before, so you could try to move the other sliders and see if any of them reacts.

    And of course the third option could be that something is wrong and that the tip in the manual doesn't work in all cases, so I will look into it.

    I have a vague plan to supply a proper midi clock pulse in standalone as well, but I can't say when that might happen.

    Re. dark mode, it seems most people prefer that, I'll keep in the back of my mind.. :)

    I have tried the function generator to trigger sequencer and that doesn’t do anything either in standalone.

    I’m on iPad 10.5 pro. iPadOS 14.1

    @kennylovrin Ok, I got it to work. But, there's a problem. I'm not a developer... however, this is what I think is going on. Currently, I'm having trouble getting both the apeMatrix and AUM hosts to load AUv3s. I hard reset of the iPad usually gets them back (for awhile) until they don't load again. I see that the AUM developer is aware of the problem and has attempted workarounds. Same with the apeMatrix developer. I'm told this is an iOS problem.

    So, since you've said that Branches in standalone mode is functioning as an AU host with your modules loading into it as AUs... perhaps the aforementioned (allegedly) iOS issue is also preventing some of the Branches AU modules from loading into itself.

    I just tested this theory with a hard reset. I noticed apeMatrix and AUM once again were not loading AUs. I did an iPad hard reset... then confirmed both apeMatrix and AUM were once again loading AUs... then I tried Branches again and the "Try This" scenarios are now working as described.

    There is a problem, but it appears that it's likely related to this iOS AU loading issue that the other hosts are also effected by.

    EDIT: Actually, even after a hard reset the Attenuverter "Try This" doesn't appear to be doing anything even with the sequencer triggered by the Function generator. I tried within a host as well and the "Try This" for Attenuverters doesn't appear to have any effect there at all either. Not outside the realm of possibility that I'm doing something wrong, but I've tried every which way, reinstalled the app several times, hard resets, etc. it looks like it's not actually working.

    I'll revisit this app after another update. So far, love the sound and potential :)

  • edited November 2020

    @kennylovrin Ok, I got it to work. But, there's a problem. I'm not a developer... however, this is what I think is going on. Currently, I'm having trouble getting both the apeMatrix and AUM hosts to load AUv3s. I hard reset of the iPad usually gets them back (for awhile) until they don't load again. I see that the AUM developer is aware of the problem and has attempted workarounds. Same with the apeMatrix developer. I'm told this is an iOS problem.

    So, since you've said that Branches in standalone mode is functioning as an AU host with your modules loading into it as AUs... perhaps the aforementioned (allegedly) iOS issue is also preventing some of the Branches AU modules from loading into itself.

    I just tested this theory with a hard reset. I noticed apeMatrix and AUM once again were not loading AUs. I did an iPad hard reset... then confirmed both apeMatrix and AUM were once again loading AUs... then I tried Branches again and the "Try This" scenarios are now working as described.

    There is a problem, but it appears that it's likely related to this iOS AU loading issue that the other hosts are also effected by.

    EDIT: Actually, even after a hard reset the Attenuverter "Try This" doesn't appear to be doing anything even with the sequencer triggered by the Function generator. I tried within a host as well and the "Try This" for Attenuverters doesn't appear to have any effect there at all either. Not outside the realm of possibility that I'm doing something wrong, but I've tried every which way, reinstalled the app several times, hard resets, etc. it looks like it's not actually working.

    I'll revisit this app after another update. So far, love the sound and potential :)

    thanks for the info, I'll look into it. the loading issues isn't something I have noticed before but it's definitely work lookin into. I'll double check all tips as well.

    Speaking of updates, I'm submitting a new build to Apple right now that should improve the UI responsiveness quite a bit. It's the only fix in this release as that was something I consider critical to fix in a sense. Hopefully it'll improve the experience for users.

    But, it also means that I can now work on more fun features and improvements for the next release..

    EDIT: ah, i understand what you're saying about the AU loading issue. I will still look into it, but in this specific case I don't think it's the cause of the problem. The Branches engine, although being modular, is still a single AU, so all modules run within the same AU. The standalone mode however loads 3 AU's, the Branches engine AU, the delay AU and the reverb AU. So it's unlikely that the issue you are describing would case parts of the engine to break, I think it's more likely that I have some bug or a bad tip in the manual. :) I'll check more.

  • @skiphunt Haha, I think I may have confused the right and left LPG in the tip for tuning the sequencer which might explain the issue you had, I wrote that you should patch into the complex oscillator then raise the volume of the left LPG, but the left LPG is for the modulation oscillator, so it's a typo on my end. might be the reason you experience "it does nothing", or it could be something else.

    Anyway, here's a patch for you to try if you feel like it, it is essentially what I'm trying to demonstrate in the tip, just a bit more involved for the fun of it:

    I'll try to briefly walk through it for those interested:

    • The function generator is in cycle mode, it's rate is set by the rise/fall knobs, at the end of each rise it sends a trigger out of EOR, that trigger is patched to advance the sequencer one step.

    • The output of the sequencer is patched to an attenuverter, the attenuverter is set to a low positive number to scale down the output of the sequencer, essentially making the span of the sequencer sliders smaller so that they are easier to control for pitch. The output is then taken from the attenuverter into the quantizer, which will snap the pitch to scale, making it even easier to not sound out of pitch. then that quantized output is sent to pitch of both oscillators.

    • Back to the func gen, the EOR pulse is also patched to the envelope which will open the LPG on each pulse. Note that this is a trigger and not a gate, it works, but you have only Attack/Release as there is no gate to sustain the envelope.

    • The EOR of the func gen is also taken to the trigger divider, then every 3rd trigger is sent to trigger the randomizer to sample. The output of the randomizer is then also patched to the quantizer. This will sum the random voltage with the sequencer voltage at the input of the quantizer, so we get a bit of random variation to the sequenced melody.

  • @kennylovrin said:
    @skiphunt Haha, I think I may have confused the right and left LPG in the tip for tuning the sequencer which might explain the issue you had, I wrote that you should patch into the complex oscillator then raise the volume of the left LPG, but the left LPG is for the modulation oscillator, so it's a typo on my end. might be the reason you experience "it does nothing", or it could be something else.

    Anyway, here's a patch for you to try if you feel like it, it is essentially what I'm trying to demonstrate in the tip, just a bit more involved for the fun of it:

    I'll try to briefly walk through it for those interested:

    • The function generator is in cycle mode, it's rate is set by the rise/fall knobs, at the end of each rise it sends a trigger out of EOR, that trigger is patched to advance the sequencer one step.

    • The output of the sequencer is patched to an attenuverter, the attenuverter is set to a low positive number to scale down the output of the sequencer, essentially making the span of the sequencer sliders smaller so that they are easier to control for pitch. The output is then taken from the attenuverter into the quantizer, which will snap the pitch to scale, making it even easier to not sound out of pitch. then that quantized output is sent to pitch of both oscillators.

    • Back to the func gen, the EOR pulse is also patched to the envelope which will open the LPG on each pulse. Note that this is a trigger and not a gate, it works, but you have only Attack/Release as there is no gate to sustain the envelope.

    • The EOR of the func gen is also taken to the trigger divider, then every 3rd trigger is sent to trigger the randomizer to sample. The output of the randomizer is then also patched to the quantizer. This will sum the random voltage with the sequencer voltage at the input of the quantizer, so we get a bit of random variation to the sequenced melody.

    Nice example. For some reason the sequencer couldn’t be triggered yesterday but is working fine now.

    I’m really liking the app so far.

  • @kennylovrin : I am finding the envelope to be not as responsive as I'd expect. The Decay parameter has less impact than I'd expect. I find it tricky to get the sort of 'plucky' envelopes so beloved in West Coast synthesis. Would also love to have the wavefolding be more aggressive.

  • @espiegel123 said:
    @kennylovrin : I am finding the envelope to be not as responsive as I'd expect. The Decay parameter has less impact than I'd expect. I find it tricky to get the sort of 'plucky' envelopes so beloved in West Coast synthesis. Would also love to have the wavefolding be more aggressive.

    thanks for the feedback, i'll note it and have a look at it when the time comes.

    for now you can try to change the response of the LPG, which gives you a different response curve, it can in some cases give you a more snappy feel, could perhaps get you a little closer to where you want to go.

Sign In or Register to comment.