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 StoreLoopy Pro is your all-in-one musical toolkit. Try it for free today.
Comments
Xequence Audio?
Songs sounds great!
Xequence Audio is the forever-unfinished evil audio cousin of Xequence, in eternal development since 2018 😂 Good to hear though it sounds adequate!
Dope! Really enjoyed the way you ended the track.
Thanks! Yeah I thought it was a huge drop -- it's originally because I was fed up with arranging the track 😂 but then I thought it's actually intriguingly dramatic so I kept it 🙂
It’s like a nice palette cleanser! Glad you kept it. Appreciate you sharing your music!
😄 Fair play!
BTW, any EXTREME physics nerds here recognize the diagram in the cover art? 😃
I really like your music and it still totally blows my mind you can run all this in WKWebView .. amazing .. is gfx fully canvas-made ? Don’t tell me it’s plain css, that would be too much to handle for me :-))
Curious.. did you thought about integration of AUv3 plugins + audio files streaming from disk in native code and sending audio to WKWbView ?
Just yesterday tried what is latency on JS <-> native messaging and looks like there is latency just about 2 - 3 ms JS > Native > JS , so in theory it should be doable …
very simplified Penrose’s diagram of black/white hole spacetime ?
Xequence Audio? 😗🎶 Testflight link? 😅 Kidding. (Yes I am back on iPad in case you wondered.)
Thanks! So YOU are THE other person who listens to Psy Trance these days 😂
Haha... sorry, UI is mostly HTML/CSS indeed, including the mixer view. The only things that are based on Canvas are, perhaps surprisingly, the arranger, and the pianoroll/controller editors.
I must admit though that apart from browsers having amazingly fast rendering engines these days, I'm also unfortunately pretty competent at optimizing this stuff, hinting the browser at moving shit to the GPU (3d transforms), and keeping bloat out. So in XUI (Xequence Toolkit), it's not like a single control consists of a soup of 5000 nested DIVs with 1000 attributes each, like, oh I don't know, REACT 😇
Man you're a nutter like myself 😄 yes I've indeed made a proof-of-concept AUv3 that passes audio buffer to the WKWebView using evaluateJavaScript (by first copying the audio buffer to the main thread from the audio thread). It works most of the time, but it's not stable enough for production use in my tests, as there's simply too much "jitter"... i.e. like one out of 10 times, it will simply be too slow for the buffer to get to the JS side in time... so that makes it unusable unfortunately. Maybe this can be avoided but I doubt it.
ALMOST! It's just a spacetime diagram with the "I" in the future lightcone and "AM" in the past, with the present hypersurface as that perspective circle... you were close! 😄
Haha, I wish I could provide a TestFlight link! But it's not finished enough for that and also I think it would make more sense to focus on the fact that it can run in the browser -- that's really what sets it apart from the bunch. So I might try to market it as such instead of wrapping it in an iOS app...
MacOS users who use Safari can use the "Add to Dock" function to essentially wrap it as an app as well if you go down this route.
Yes, it's also trivial on Windows and Linux. In fact, 90% of the "programs" I use daily are just Chromium -> "Save Shortcut" -> "Open as Window" i.e., web apps.
That's rather interesting. But can I send MIDI from Xequence 2 into Xequence Audio when the latter is being ran in a Browser?
It's so nice, just made several web apps, uses way less resources, enabled an auto-quit function to close out after a few minutes of inactivity.
Damn how did I not know that about Chromium. I just quit using "Arc" - Chromium based browser, after using it for a year. Too heavy on resources, though it's not like Safari is much better.
Need to upgrade this computer is really what it is lol. Okay, sorry for OT!
Haha 😄 It's all self-contained, no need to send MIDI around... Xequence Audio is a complete browser-based EDM workstation! i.e. has all the arrangement and editing features of Xequence 2, plus a hybrid modular synth, tons of FX, and a full mixer with route-anything-to-anything...
Of course, MIDI support is prepared and could easily be added via WebMIDI, but I'm personally not interested... a potential licensee maybe! (but it won't be cheap 😉)
Interesting, didn't know about Arc. But yeah, I prefer the most bare-bones experience possible in everything I do, so Chromium it is for me!
The main thing about "Save Shortcut" -> "Open as Window" for me is that it feels and integrates like a native app (including proper dock icon, window decorations, etc.). I mean, web technologies have long reached the point where they are just as capable, even if not always quite as efficient, as native stuff. Just far more portable and easier to develop for... as far as I'm concerned, web technologies AreTheFuture 😄
That's so cool, not gonna lie. Man, if you released this to iOS with full AUv3 support, I bet you'd get a ton of us instabuying it. I mean I'd be willing to front $40-$50 for it.
Oh durr, I forgot to actually comment on the track. It's really wicked! Love it mate.
There is a development branch with AUv3 support. It works decently, but with today's expectations and the myriad of AUv3 plugins that all would have to be tested and workarounds for various bugs implemented etc., plus the extreme cheapness of Logic Pro, I really doubt that there's a bright future for yet another DAW-like thing on iOS... especially if you wanna make more than EUR 500 a month 😃
And thanks! 😊
i was afraid there will be problems .. i guess random mutex/ thread blockings on background during messaging..
i was also trying other idea - run NWListener on .userInteractive queue - my idea was to fill some buffer with plugin output and pool that buffer from WKWebView by http requests - i was hoping this may be faster and less thread-blocking that javascript messaging - cause, you know - it’s stupid simple local network request, in theory it should be fucking instant realtime.
Nope. 10-15ms per request.
I haven't investigated further but this may well be the case.
😂 Ace! I think I've considered streaming the audio via local HTTP / WebSockets. So don't do a separate HTTP request per buffer, but just keep a connection open (WebSockets) and stream... maybe you wanna try around with that?
4 ms average roundtrip on my iPhone XS Max.. so i guess one way goes half in average.. not bad !
here code if you want to play:
https://sider.ai/artifact/69f36c32689b7abffecb56f0207d68eb3c646bb999e369698f90e51f896bbf57
@SevenSystems
Ok this is fully working proof of concept, it streams audio from microphone into wkwebview using websockets .. it runs flawlessly on simulator, throws some error on iphone but that's beyout my limited skill to fix it lol - i am pretty sure for you it will be seconds to fix it..
https://pastebin.com/tgRWTAN6
Seems like you're having fun there! 😄 I can't test it right now because I'm in the middle of a bunch of stuff with a sleep deficit 🥴 but the key is, I guess -- will the performance be consistent enough so that it hardly ever misses a buffer?
In my tests (with the simpler solution of calling evaluateJavaScript: for every new buffer instead of streaming), I would occasionally (once every few seconds) get either a duplicate buffer (new buffer wasn't ready yet so old one got sent again) or a missed buffer. This was for a WKWebView-based spectrum analyser. So it didn't manifest as audible clicks, but instead "flashes" across the whole spectrum.
I mean, try feeding a pure sine wave or something into the stream -- do you never hear a single click from the audio context? Also consider adding a few buttons etc. to the HTML -- I always had a feeling that HTML/CSS rendering and the WebAudio thread aren't really properly independent...
yeah having fun with it .. it’s fucking science, i love science
will go for more tests later but now i got some additional workload for few weeks so must postpone this research
I hear ya! I also need to check how I can get some money somehow so will try to find a licensee for Xequence Audio 🤔 (worth a try!)
here it is .. it generates sine and there is slider to change frequency in realtime ..
https://pastebin.com/Bvhk1cRL
until you don't touch screen it's flawless.. even if you put app on background and do stuff in other apps - no single one dropout .. i even ran Nanostudio and it still played it's sine tone ..
but as soon as you start move slider it's plethora of clicks .. i even added 150ms inertia on change (in swift part of code) but didn't help.. still think maybe it's not about buffer but just about phase discontinuity when sine is changed, so whole concept sill looks promising
here it is much better .. plus when i keep it play on background and i do other stuff, i don't hear single one dropout for long time ..
https://pastebin.com/CvWirYrd
Thanks, that is really encouraging. I might actually reconsider converting one of my WebAudio-based synths (it's REALLY innovative 😁) to an AUv3 using this technique then!
Do you want a share of the profits (estimated ~ 5 EUR / month)? 🤣