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.

Atom | Piano Roll 2 is now available

1474850525390

Comments

  • @MrBlaschke said:
    That sounds interesting. Mind sharing a snippet?

    What controller are you using ?

  • @zah

    Here’s the quickest way to insert bars mid-pattern...

  • @tk32 said:
    @zah

    Here’s the quickest way to insert bars mid-pattern...

    I was really hoping to get some audio from this too. Art in the pianos roll and pressing play makes me smile.

  • @blueveek said:

    @vasilymilovidov said:
    i’m sure this was asked before but i can’t find it - is it possible to change patterns with cc messages?

    Restricted to the beta for now. The next version will include this. And if you're using Drambo, it'll happen automatically to follow the pattern in the host. There's a full overhaul of how patterns behave in the works.

    This is very good news

  • @mbncp said:

    @Synthi said:

    @mbncp said:
    Just figured out how to send text to my keylab essential keyboard controller :) B)

    Anyone with a keylab ?
    I'm thinking about using :

    cat/char, Preset button :     Track Select prev/next
    <-, -> arrows  :                Slot selection prev/next
    <<  >>    :                      Pattern selection (if we ever get a function for it)
    The stop button :                  Clear current pattern (dble-click or long press)
    Play/Pause             
    Record button :                   Arm
    Loop 
    Save :    ~~Not sure but while holding the save button, hit one of the pads, and it would assign it to that clip~~
    Save state of all running clips is more interesting or optional.
    Being able to send text to the controller is a big plus, can do a lot with a few controls
    
    Text would show current track, slot and clip state, or info
    

    just ideas
    Too bad we can't use the big wheel. @Arturia >:)

    Keylab 61 here! How is working that script??

    Keylab 61, do you mean this one or the essential?

    I'm on an essential, but it shouldn't be too complicated to adjust, though I would need some info.

    What could it do ?
    I would say what ever you want.
    Like select a clip (using track and slot numbers). Then using the play, record buttons.
    Action that can be done in an atom js script are a bit limited, but so far you can play, arm/disarm, .. a clip .. you can see the features here (look for launchScene as :
    https://github.com/victorporof/atom

    Normally it's just a question of assigning a control from your keyboard to an atom function, but if you have a lot of tracks, slots we need to know who to talk to. That's where the LCD is very handy, we can see which track and slot we're are talking with.
    We can also use the pads to select a specific track/slot..use the record button (or another one) to record on that clip.
    And off course a script can do multiple function, like stop a clip, make a copy(pattern) clear it and start recording again.

    It could even add new Launch modes :) Hit and release a pad quickly and it behaves like the Launch pad style, or hold it longer than a second(or whatever) and it will act like the Hold mode ( @blueveek s'gonna kill me :# )

    Also one thing that is very interesting with Atom, is that you can use your keyboard normally, sending the MIDI to your host, then to Atom like you would do with any plugins. But Atom can also get the MIDI directly from your controller, you could just tap a pad, hit the record button, and it would record that clip even if your host is set to receive midi on another track or better not set to receive any MIDI from your keyboard at all.

    All that to say that's it's a bit up to you, we have buttons, we can do certain things, if you have ideas, please share :)

    Mine is an essential 61 too! Wow, great use for the display and buttons/pads. I’m not using atom2 at the moment because the lack of sustain pedal and other CCs... I use piano sounds or other sounds but with expression (after touch, mod wheel, Pb... so I don’t have a workflow yet, But will be my no1 sequencer the moment @blueveek implement the Backbox CC record/playback. Also will try you Mozaic script If I learn how to edit it. thanks!!

  • edited April 2021

    @reasOne said:

    @blueveek said:

    @vasilymilovidov said:
    i’m sure this was asked before but i can’t find it - is it possible to change patterns with cc messages?

    Restricted to the beta for now. The next version will include this. And if you're using Drambo, it'll happen automatically to follow the pattern in the host. There's a full overhaul of how patterns behave in the works.

    This is very good news

    @blueveek i believe i was one who requested pattern change by midicc/note. in your beta, is it possible to put a pattern in a different slot on the same track? i.e. track 1 patterns 1-8 would take up all 8 slots on the launchpad column/AUM channel?
    if so...this would be more than "very good" news ;)

  • @mbncp said:

    @MrBlaschke said:
    That sounds interesting. Mind sharing a snippet?

    What controller are you using ?

    Well, several. You could go for the LaunchPad Pro MK3.

  • So I’m getting more into this. Thanks Tom for your help. Is there a way, maybe I missed it to scrub to a part in my timeline to audition new notes or parts I have put in? Meaning I have one Atom as the main sequencer and I have it playing others just fine.. but when I want to go to a part and try out new phrases or what ever the cursor goes back to the start all the time.... I know some silly setting I am missing.

  • edited April 2021

    @zah said:
    Can anybody help out?

    2- I import a multi track midi file, 4 lanes. I have 4 audio channels in AUM set up: drums, bass etc. Currently, I am importing the same multi-track midi file 4x in four different Atom instances vertically in AUM, selecting pattern one for Atom1, pattern 2 for A2, etc. and each Atom goes to its audio channel.
    a-- Not sure how to export the edited midi clip(s) from the 4 Atoms into one multi midi file.
    b-- Or, is there a way to use only one Atom, import the clip once, and have each Pattern go to its corresponding audio channel?

    Batch export MIDI from multiple instances at the same time is planned, it's easy to do.

    Would you prefer a zip of all clips, or a single MIDI file with each active pattern on a separate channel? The beta now already exports all patterns in a single instance as separate channels in a single file, so I'm wondering how you'd prefer batch export to work alongside this new feature.

    @onerez said:
    So I’m getting more into this. Thanks Tom for your help. Is there a way, maybe I missed it to scrub to a part in my timeline to audition new notes or parts I have put in? Meaning I have one Atom as the main sequencer and I have it playing others just fine.. but when I want to go to a part and try out new phrases or what ever the cursor goes back to the start all the time.... I know some silly setting I am missing.

    Have you tried using the loop markers to focus only the section you want to work on?

  • @zah said:

    @AlmostAnonymous said:

    @tk32 said:
    https://youtu.b e/uUy-Oee45OI

    I was really hoping to get some audio from this too. Art in the pianos roll and pressing play makes me smile.

    Looks like it’s in d minor - the saddest of all keys
    Pretty sure that second chord would make me weep instantly...

    Is there something going on in the universe that I don’t know about?
    This is the 4th time in 24 hours this line was used around me in the past 24 hours (once by myself)

  • @MrBlaschke said:
    Well, several. You could go for the LaunchPad Pro MK3.

    "Auto" Toggle/Hold mode.

    As I don't have any Launchpad, it's a bit difficult
    Probably the easiest would be to code this directly in the Launchpad ..?

    The clip "needs" to be in HOLD mode.

    But to do it within Atom, in the LaunchpadPro Mk3.js file, look for the functions didPressPad and didUnpressPad
    Then it's "just" the question to store the timestamp for that clip on pad pressed and check when we get it unpressed.
    There is a little more to it, but not that much :)
    In these 2 functions it should be done within if (isSessionView) { .. afaik
    for the timestamp, 5000000 represents 500 msec (half a second)

    To use with a "standard" controller, using the Launch Note, this could be done with Mozaic or StreamByter(not 100% sure)

  • @AlmostAnonymous said:

    @zah said:

    @AlmostAnonymous said:

    @tk32 said:
    https://youtu.b e/uUy-Oee45OI

    I was really hoping to get some audio from this too. Art in the pianos roll and pressing play makes me smile.

    Looks like it’s in d minor - the saddest of all keys
    Pretty sure that second chord would make me weep instantly...

    Is there something going on in the universe that I don’t know about?
    This is the 4th time in 24 hours this line was used around me in the past 24 hours (once by myself)

    All keys are the same. It's only the intervals between the notes that determines the listener response. A minor = D Minor = any other minor chord.

    This book explains it all really well How Music Works: A listener's guide to harmony https://www.amazon.co.uk/How-Music-Works-listeners-classics/dp/1846143152/ref=nodl_

  • @charalew said:

    @AlmostAnonymous said:

    @zah said:

    @AlmostAnonymous said:

    @tk32 said:
    https://youtu.b e/uUy-Oee45OI

    I was really hoping to get some audio from this too. Art in the pianos roll and pressing play makes me smile.

    Looks like it’s in d minor - the saddest of all keys
    Pretty sure that second chord would make me weep instantly...

    Is there something going on in the universe that I don’t know about?
    This is the 4th time in 24 hours this line was used around me in the past 24 hours (once by myself)

    All keys are the same. It's only the intervals between the notes that determines the listener response. A minor = D Minor = any other minor chord.

    This book explains it all really well How Music Works: A listener's guide to harmony https://www.amazon.co.uk/How-Music-Works-listeners-classics/dp/1846143152/ref=nodl_

    No need to read that book. I believe Nigel.

  • @AlmostAnonymous said:

    @charalew said:

    @AlmostAnonymous said:

    @zah said:

    @AlmostAnonymous said:

    @tk32 said:
    https://youtu.b e/uUy-Oee45OI

    I was really hoping to get some audio from this too. Art in the pianos roll and pressing play makes me smile.

    Looks like it’s in d minor - the saddest of all keys
    Pretty sure that second chord would make me weep instantly...

    Is there something going on in the universe that I don’t know about?
    This is the 4th time in 24 hours this line was used around me in the past 24 hours (once by myself)

    All keys are the same. It's only the intervals between the notes that determines the listener response. A minor = D Minor = any other minor chord.

    This book explains it all really well How Music Works: A listener's guide to harmony https://www.amazon.co.uk/How-Music-Works-listeners-classics/dp/1846143152/ref=nodl_

    No need to read that book. I believe Nigel.

    Nigel? 🙂

  • wimwim
    edited April 2021

    @charalew said:

    Nigel? 🙂

    How soon we forget...

  • @wim said:

    @charalew said:

    Nigel? 🙂

    How soon we forget...

    Right - all makes sense now :D

  • @blueveek said:
    @urbanvanilla Yup, you're right. I'm now verifying whether I can make them equivalent. I think it should be doable.

    hey man, I know you are obviously busy with all the feature requests and automation stuff. But just throwing this one as a reminder, any updates on the Launch Clip MIDI binding in AUM or otherwise?

  • @blueveek

    @mbncp said:
    ....
    Would function onNoteOn(pitch, velocity, channel, timestamp, portID) {} and emit([..], portID) make all previous script`s unusable ?
    ...

    Forget about all this, I can just use a single in and out in a js file, send messages as syssex(with port info) to MidiFire that will then send back to the appropriated ports: Host, tracks, command, to specific plugins..
    As both Atom's js and MidiFire(64 ports!!) have zero latency, this should do :)

  • Are we not going to have cool tips n tricks videos from @blueveek or @tk32 to make things easier and more exciting for us? :D

  • edited April 2021

    @dokwok2 said:
    My iPad is an Air 1: highest available OS is 12.x. I bought the bundle (maybe on my iPhone) and figured I would at least get Piano 1 with that, and maybe 2 later. Yesterday I was able to install “an older version” of 2 on my Air 1. So far so good, though the interface feels a little sluggish. Very pleased to be able to import, export MIDI now.

    Next version will include iOS 12 support.

    @zah said:

    @blueveek said:
    Would you prefer a zip of all clips, or a single MIDI file with each active pattern on a separate channel? The beta now already exports all patterns in a single instance as separate channels in a single file, so I'm wondering how you'd prefer batch export to work alongside this new feature.

    Personally, I'm ok with the export of all active patterns in a single clip - although I'm pretty sure others would prefer the zip of all clips.

    So, I guess I'm importing multiMIDI file into Atom/AUM correctly then? I do need a different Atom for each track/channel/pattern ?
    There is no way to import a multiMIDI file and send from different patterns in the same Atom instance to go to different AUM audio channels.

    Keep in mind that a MIDI channel is not a "track". It's just metadata. All this "channel is a track" stuff is relatively old nomenclature, which I consider obsolete in the digital era.

    Why? For example, anything that relies on MIDI channels for separating tracks won't ever be able to support MPE.

    Or to import that file once and have each successive track/channel /pattern open up in a different Atom instance?
    (apologies for the dumb questions - I'm just learning about Atom and AUM routing and I feel like I'm way behind everyone else here... :( )

    This however is possible I'll log it as a feature request.

    @mbncp said:

    @MrBlaschke said:
    Well, several. You could go for the LaunchPad Pro MK3.

    "Auto" Toggle/Hold mode.

    As I don't have any Launchpad, it's a bit difficult
    Probably the easiest would be to code this directly in the Launchpad ..?

    The clip "needs" to be in HOLD mode.

    Perhaps I could add a launchClipImmediate function that overrides the trigger/release beat quantum settings?

    @mbncp said:
    @blueveek

    @mbncp said:
    ....
    Would function onNoteOn(pitch, velocity, channel, timestamp, portID) {} and emit([..], portID) make all previous script`s unusable ?
    ...

    Forget about all this, I can just use a single in and out in a js file, send messages as syssex(with port info) to MidiFire that will then send back to the appropriated ports: Host, tracks, command, to specific plugins..
    As both Atom's js and MidiFire(64 ports!!) have zero latency, this should do :)

    Adding the port ID will retain backwards compatibility with all scripts. I can do this, no problem.
    I suppose by "ID" you mean the name then?

    @urbanvanilla said:

    @blueveek said:
    @urbanvanilla Yup, you're right. I'm now verifying whether I can make them equivalent. I think it should be doable.

    hey man, I know you are obviously busy with all the feature requests and automation stuff. But just throwing this one as a reminder, any updates on the Launch Clip MIDI binding in AUM or otherwise?

    Hey! That thing is still logged in my features board, just not prioritized. I did have a look into it back then and indeed launching via parameter mapping has different semantics than launching with dedicated MIDI events. Unifying those is perhaps possible, but not a priority yet. Hope that answers your question.

    @noniman93 said:
    Are we not going to have cool tips n tricks videos from @blueveek or @tk32 to make things easier and more exciting for us? :D

    I definitely would, but I'm swamped with my day job, and I imagine @tk32 and @winconway are as well, maybe even far more than myself :) (you might not know, but this is a weekend hobby project by financial necessity; iOS development is ridiculously unprofitable for apps like Atom).

  • @blueveek said:
    Next version will include iOS 12 support.

    Thank you, @blueveek.

  • edited April 2021

    @blueveek said:
    Perhaps I could add a launchClipImmediate function that overrides the trigger/release beat quantum settings?

    Didn't think of it, but yes, this could be very handy.

    Adding the port ID will retain backwards compatibility with all scripts. I can do this, no problem.
    I suppose by "ID" you mean the name then?

    In that case, I would really appreciate !

    For me the index of const INPUTS, const OUTPUTS would be fine.
    Whatever is easier/better for you.

    Edit: in case a port is not available, the index should remain the same.

  • edited April 2021

    @zah said:

    @blueveek said:

    @zah said:

    @blueveek said:
    Would you prefer a zip of all clips, or a single MIDI file with each active pattern on a separate channel? The beta now already exports all patterns in a single instance as separate channels in a single file, so I'm wondering how you'd prefer batch export to work alongside this new feature.

    Personally, I'm ok with the export of all active patterns in a single clip - although I'm pretty sure others would prefer the zip of all clips.

    So, I guess I'm importing multiMIDI file into Atom/AUM correctly then? I do need a different Atom for each track/channel/pattern ?
    There is no way to import a multiMIDI file and send from different patterns in the same Atom instance to go to different AUM audio channels.

    Keep in mind that a MIDI channel is not a "track". It's just metadata. All this "channel is a track" stuff is relatively old nomenclature, which I consider obsolete in the digital era.

    Why? For example, anything that relies on MIDI channels for separating tracks won't ever be able to support MPE.

    Ok, I just meant however a split multi-midi file is defined - so, pattern, then?

    I think the nomenclature is confusing, so let me clarify it now.

    • A MIDI channel (in MIDI) is arbitrary metadata. It doesn't mean anything really unless you make it mean something. For example, with MPE, each note is assigned its own channel.
    • A "MIDI channel" in AUM (the naming beneath each cluster of AUs) I consider improperly named. It's just a collection of audio units at best, but can be considered a MIDI track from a user's perspective. It has nothing to do with MIDI channels.
    • A pattern in Atom is just a collection of MIDI data.

    Emitting multiple patterns at the same time from an AU, in a way in which you can redirect them to separate instruments, while future-proofing for MPE, is fundamentally impossible. It's maybe alternatively doable with multiple MIDI outs, but the number of those isn't dynamic, I doubt you want to see some arbitrary (e.g. 16) outputs for each Atom instance in your routing matrix – it's not great UX.

    So perhaps this makes it clearer why I insist on a clip per instance (among other reasons).

    It just seemed excessive to me to have to import a 4 pattern multi-midi file four separate times in four separate Atom instances and then select the proper pattern in each of those four Atom instances. Having to import in only one Atom and somehow send each pattern to a different AUM audio channel is what I meant.

    Or to import that file once and have each successive t̶r̶a̶c̶k̶/̶c̶h̶a̶n̶n̶e̶l̶ ̶/pattern open up in a different Atom instance?
    (apologies for the dumb questions - I'm just learning about Atom and AUM routing and I feel like I'm way behind everyone else here... :( )

    This however is possible I'll log it as a feature request.

    So it could auto create a new instance of Atom in AUM for each pattern during import? Or would there need to be blank Atoms opened up already?

    I doubt Jonatan is open to such exotic integration between Atom and AUM. But if you'll open the instances beforehand, then it's definitely possible to populate other clips from within a single Atom. So this is the way to go I think.

  • since i now use atom on every project and am highly emotionally invested in it i was wondering is there a way to become a beta-tester?

  • edited April 2021

    @vasilymilovidov said:
    since i now use atom on every project and am highly emotionally invested in it i was wondering is there a way to become a beta-tester?

    You wanted to do pattern switching in a single instance using CC messages, right? Drop me a DM with your TestFlight email.

  • @blueveek i mentioned this on Discord but didn’t tag you. I think a way to jump between instances via the Clips view would solve the multi instance concerns being raised. You can already see all of the midi tracks in the Clips view. A one click jump to each Clip instance to be able to edit would be a really good workflow improvement IMO.

    I think Win said something like this has already been suggested so just wanting to add my support for the idea.

  • edited April 2021

    @blueveek said:

    @vasilymilovidov said:
    since i now use atom on every project and am highly emotionally invested in it i was wondering is there a way to become a beta-tester?

    You wanted to do pattern switching in a single instance using CC messages, right? Drop me a DM with your TestFlight email.

    @blueveek I have been playing with Atom 2 inside NanoStudio 2 where I have multiple Atoms per track and the track data is used to trigger them in hold mode. It looks like you are hinting that pattern switching is on the horizon which would be great as I could then have just a single Atom per track. The problem on NS2 is that its AUs do not receive CCs, only MIDI notes. Some AUs have worked around this by allowing you to send a MIDI note + velocity as an alternative to CC + value. Is that something you would consider if pattern switching is on the timeline? Thanks.

  • edited April 2021

    @MisplacedDevelopment said:

    @blueveek said:

    @vasilymilovidov said:
    since i now use atom on every project and am highly emotionally invested in it i was wondering is there a way to become a beta-tester?

    You wanted to do pattern switching in a single instance using CC messages, right? Drop me a DM with your TestFlight email.

    @blueveek I have been playing with Atom 2 inside NanoStudio 2 where I have multiple Atoms per track and the track data is used to trigger them in hold mode. It looks like you are hinting that pattern switching is on the horizon which would be great as I could then have just a single Atom per track. The problem on NS2 is that its AUs do not receive CCs, only MIDI notes. Some AUs have worked around this by allowing you to send a MIDI note + velocity as an alternative to CC + value. Is that something you would consider if pattern switching is on the timeline? Thanks.

    You WILL be able to use either CC, program (patch) change or notes

    Using cc: cc = 0 , cc value 0-127 = pattern
    Using PC , value 0-127 = pattern
    Using notes : pitch (0-127) = pattern

    Sometimes I’m wondering if anyone understands what I’m writing

  • edited April 2021

    @mbncp said:

    @MisplacedDevelopment said:

    @blueveek said:

    @vasilymilovidov said:
    since i now use atom on every project and am highly emotionally invested in it i was wondering is there a way to become a beta-tester?

    You wanted to do pattern switching in a single instance using CC messages, right? Drop me a DM with your TestFlight email.

    @blueveek I have been playing with Atom 2 inside NanoStudio 2 where I have multiple Atoms per track and the track data is used to trigger them in hold mode. It looks like you are hinting that pattern switching is on the horizon which would be great as I could then have just a single Atom per track. The problem on NS2 is that its AUs do not receive CCs, only MIDI notes. Some AUs have worked around this by allowing you to send a MIDI note + velocity as an alternative to CC + value. Is that something you would consider if pattern switching is on the timeline? Thanks.

    You WILL be able to use either CC, program (patch) change or notes

    Using cc: cc = 0 , cc value 0-127 = pattern
    Using PC , value 0-127 = pattern
    Using notes : pitch (0-127) = pattern

    Sometimes I’m wondering if anyone understands what I’m writing

    That's really good to hear, thanks for the info. So rather than a clip having a single trigger note, it will respond to n trigger notes, one for each defined pattern? If so then my scenario would work like this:

    Today:

    NS2 Track 1
    Atom instance 1 responds to note 0
    Atom instance 2 responds to note 1

    When the pattern change feature is implemented:

    Track 1
    Atom instance 1 responds to note 0 or 1 and switches patterns accordingly

    Much neater!

  • @MisplacedDevelopment said:

    @mbncp said:

    @MisplacedDevelopment said:

    @blueveek said:

    @vasilymilovidov said:
    since i now use atom on every project and am highly emotionally invested in it i was wondering is there a way to become a beta-tester?

    You wanted to do pattern switching in a single instance using CC messages, right? Drop me a DM with your TestFlight email.

    @blueveek I have been playing with Atom 2 inside NanoStudio 2 where I have multiple Atoms per track and the track data is used to trigger them in hold mode. It looks like you are hinting that pattern switching is on the horizon which would be great as I could then have just a single Atom per track. The problem on NS2 is that its AUs do not receive CCs, only MIDI notes. Some AUs have worked around this by allowing you to send a MIDI note + velocity as an alternative to CC + value. Is that something you would consider if pattern switching is on the timeline? Thanks.

    You WILL be able to use either CC, program (patch) change or notes

    Using cc: cc = 0 , cc value 0-127 = pattern
    Using PC , value 0-127 = pattern
    Using notes : pitch (0-127) = pattern

    Sometimes I’m wondering if anyone understands what I’m writing

    That's really good to hear, thanks for the info. So rather than a clip having a single trigger note, it will respond to n trigger notes, one for each defined pattern? If so then my scenario would work like this:

    Today:

    NS2 Track 1
    Atom instance 1 responds to note 0
    Atom instance 2 responds to note 1

    When the pattern change feature is implemented:

    Track 1
    Atom instance 1 responds to note 0 or 1 and switches patterns accordingly

    Much neater!

    And for Drambo users it’s even more fun... oops

Sign In or Register to comment.