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.
I want to learn how to build iOS apps .. starting from zero, where do I begin?
Assume I know nothing about coding, app building, etc (because I really don’t)..
I have some music and some other app ideas floating around in my head .. Where do I start?
I’m looking for references, links, tutorials, hot takes, developers’ experiential if-I-were-just-starting-out-now-I’d-do-it-like-this anecdotes and general brain picking.
Thanks!
Comments
Following. I'm very interested as well.
I would suggest three apps.
dRambo, Mozaic and Audulus 4.
Why?
Because they are more like coding music than downloading a ready made synth or effects processor etc.
dRambo and Audulus for sketching and prototyping concepts and ideas
and Mozaic for grasping the language for the midi side of things.
Other than that I'm also interested in seeing what actual coders and devs will say.
Do a web search for “learn how to build apps with audiokit” you will find a number of articles and videos.
Check out the Coding with Chris YouTube channel. There is a ton of stuff there that can help. It's not centered around music apps, but every app needs some kind of UI interaction, and that's a big piece of the pie. It's a good place to start getting comfortable with the basics and to build up some confidence.
Audio and midi processing, and putting together an AUv3 plugin are harder to get step by step guidance. Audiokit does make a lot of that easier, as does JUCE. You're dependent on other's frameworks then, but they can save you literally years of learning.
I remember my first coding lecture… this in a 80 column punched card… those were the days😊
I say first start with Visual Basic or just skip that and/or Then learn C++/C
Then choose swift or JavaScript
Finally AudioKit and Juce
Finally you’ll need about 2-3 years in study , then another 2-3 in research and development
All in, your app will be ready around 2030
What are you gonna make?
Yeh, when I saw my roommates rushing off to carry shoeboxes full of punch cards to the computer center at night for the overnight batch runs, in hopes that their homework programs would run properly before the next day's classes, I decided a Computer Science major was not for me.
The couple of new-fangled timeshare terminals where you could backdoor to play Adventure were fascinating though.
this dude -
my mate who programmed an iOS and VST music app recommend him to me
like anything it's a long road and involves passion, dedication and grinding. but anyone with an average IQ can do it if they really want it.
The below is all IMO:
Learn to compartmentalize, and get very good at it. Diving head-first into an app idea without knowing modern software engineering will get overwhelming in the first 10 minutes.
For a music app you're going to need to learn, in no specific order:
UI, specifically:
Learn how they are composed, how basic interaction feedback works, and how to manipulate data using the UI. When you get the hang of this area, it should be clear why you can focus on it in isolation without digging into the music/etc. tasks you really want to build. Some systems like JUCE will provide UI tooling that could make your job faster. If you're making an iOS app, try using SwiftUI to build out some simple apps just to get an idea of how the system works.
Audio/MIDI:
Get a MIDI monitor app, of your choice, that lets you see the messages in hex. It's important to understand what MIDI messages are, how they are transmitted, and to build some muscle memory with the standard. There are libraries to help deal with MIDI, which are well worth using, but you need to know what they are doing to utilize them well. Likewise, with audio, do the research to develop an understanding of realtime audio systems. If making an iOS app, develop a working knowledge of CoreAudio, how the AU graph works, etc. This will go a long way towards your success, even if you end up using AudioKit or JUCE.
Everything else:
You will encounter all the other topics repeatedly while working on the two core areas above. Take the time to understand how each thing is working. It's critical to separate your UI from your audio/MIDI thread(s), for example, so take the time to learn why.
If you're stuck in and feeling overwhelmed, break a problem into smaller problems and solve something. This is a long road, just keep taking steps and over time things will get easier.
One last thought:
Everyone is going to have an opinion on what language or framework to use. Most people will be giving you good advice, so it's going to be up to you to determine what tools you can work with. Languages like Swift do a lot for you, which may ease the initial learning curve. Languages like C++ will be comparatively punishing to learn, but you will likely need to learn some of it in the end for this type of app. Look at problem solutions on StackOverflow, Xcode project templates, JUCE project templates, etc. Expose your mind to everything and see what looks like the right way to dip your toes in.
I’ll preface my comment with the acknowledgment that we’re all different and we all have the ability to learn and change.
I partnered with someone on a year’s long (possibly longer) attempt to create an iOS app. I’m not a coder, the other person was. We worked on our project fairly consistently and ended up making little progress and ultimately abandoned the whole thing due to the difficulty to make progress.
I think someone who is able to absorb and retain a LOT of detailed information and if they have few prior expectations about coding they might be more successful at such a venture. It’s not task for dabblers. It requires 24/7 attention.
Don’t expect immediate results at anything and you’ll go into this with the right attitude.
Me too! Don’t forget the 80 column coding sheets to go with them 🙂. I first learned on FORTRAN IV and PLAN (assembly language for ICL 1900 24-bit word mainframes) and then COBOL later. GEORGE 2 & 3 operating systems 🦕. The worrying thing is that I can still remember a lot of it. The first mainframe I learned on was older than the one that (is/was?) on display in the Science Museum in London. Maximum compliation size was 27 KB if I recall correctly!
@tom_ward : a good list of recommendations. I would add developing unit / system testing and debugging skills (just to make it sound even more intimidating 😉, or nerdy 🤓!).
Good post
One question : what do you think is the best language to learn? For all purposes not just iOS , c or c++ or ???
But looking at some flavour of BASIC as suggested by @yellow_eyez is a good introduction for a total beginner (the clue is in the acronym), or a scripting language like that used in Mozaic. It’s important to understand concepts such as Variables (and how to assign them) and the differences between coding for Sequences, Selections and Iterations (to borrow terminology from the long-forgotten Jackson Structured Programming). Once you understand those concepts, the more modern development environments and coding methodologies will make much more sense.
@toneman88 ditto… all the same, e6rm manual exec on 1900’s , EDS 60s, JSP, George then VME, IDMSx, etc etc… where did you work ?
Don’t have to answer if you don’t want 😊
Good advice! Mozaic would be great for getting the concepts down. And definitely agree with testing and debugging...those things have become such muscle memory tasks that I forget to write them out haha.
Ah .. thanks for all the responses .. this is exactly what I was hoping/looking for .. thank you!
Good question!
If we're using "best" to mean the most versatile, portable, and ultimately useful, I would vote for C++. Works pretty much everywhere, has very powerful extensions over C, and the more modern standards allow smart/auto pointers which ease the process of learning how to manage memory properly.
Well my first full time job was in the UK Civil Service (as you can probably guess by using ICL kit!) - I won’t be more specific than that. Then I worked a few years teaching systems analysis at ICLs training centre at Windsor. The rest of my career was working in all kinds of IT roles for a financial services company. I recognise all the names you mention! I’ll raise you a #XRMG & #XSDC and leave it at that🤓. Apologies for going off topic - I’ll leave it at that.
P.S. I wasn’t involved in developing any post office accounting systems 🫣.
Oh,... you signed one of those.
Yeah, mum's the word.
Well done on the latter.
Is your app concept entirely abandoned or ar you going to start it up again?
Good advise for many things.
Just to come back on track, once you’ve learned and understood all of the above material, it would probably be helpful to read about the principles of Object Orientation (e.g. Inheritance, Encapsulation etc.). The modern dev environments do a lot of this work for you, but you need to understand what’s going on under the hood. Also learn to count in Binary, Hexadecimal and maybe Octal 🤓🤓. It’ll make things a lot easier when designing efficient code.
@Gravitas 👍
Our app would no longer be viable in the current marketplace. It was an attempt to take advantage of a gap in offerings which has since been filled with lots of other apps. I have no interest in getting back into app development. LOL.
Fair does.
I hear you, let the ones who how to do that stuff do it.
I think someone who comes to the table with no programming preconceptions may have an easier go of it. Besides my own story, I hear stories from programmers who are familiar with other languages trying to use Swift and they seem to have a lot of difficulties with that (also because Apple has poor documentation regarding their own API's).
As a non coder I don't know much about Apple and how they document their API's.
I've heard about Swift as a programming language
however I needed to look it up which I did here
https://en.wikipedia.org/wiki/Swift_(programming_language)
which I found rather interesting.
If you ever get the coding bug, I wish you the best of luck and persistence.
Okay, I had to step in because I was in a similar dilemma a few years ago. Thankfully, I've crossed that bridge.
First off...do you actually want to create an app? Or are you looking for a way to do a process easier. Is it for financial gain, or for the fun of a challenge?
If you're looking to do something easier or quicker, then AUTOMATE it.
What that means is exploring options like
Trust me, if the tool already exists, don't reinvent it. Find a way to solve that problem and move on to the next step.
If it really needs to be an app...start with a different platform. But what? iOS development is like building a house where every 12 months, you have to pray that a major earthquake (or iOS update) doesn't crash your house. But that's been my experience, so your mileage may vary.
You can tackle this with JUCE on a Mac or a Windows computer. It's really awesome. Literally, the 3rd step has you building an application. The first and second is just setting it up, and explaining what each sections do.
https://juce.com/learn/tutorials/
Audiokit is also solid. But you need a Mac. Else, the code won't make sense.
https://www.audiokit.io/
But if you're gung-ho and feel like doing it on an iPad, then there's the Audiokit tutorial using the "Playgrounds for iPad" app
As much as I like the iPad, I'm not a fan of using it for actual programming. Scripting, automating, absolutely. But app design...nah. I need to test the application in the actual iPad.
My two cents.
I would suggest that a lot of the information in this thread is misleading or wrong for you. Most of it is like jumping off into the deep end of a pool where you're likely to drown.
I think by far the best route, given that you're here on this forum, is to start with Mozaic. This is totally a midi-programming environment, not audio. But it will be the best way to start. It is real programming. It will feel like real programming. You can get plenty of help from people here on LoopyForums.
In Mozaic you can actually write little scripts that will feel like they're doing something helpful, because they are. But it won't be anything like building a real iOS app. Building an iOS app, especially an iOS music app, is not a good way to start learning programming. Baby steps. As others have said starting with something like building an iOS app is likely to end in confusion, frustration, abandonment.
Swift Playgrounds on the iPad is also a good place to get down to very beginning programming basics.
I echo your sentiments entirely. I’m out of all that business now, and don’t miss all the frustration etc. I got into programming while still at school, working on a Commodore 64 with its temperamental cassette tape storage. I got into it, stuck with it, and made a career of it, because I was basically interested in the “new technology”. I was probably lucky insofar as everything was so basic (not the programming language) that I had to learn the absolute fundamentals in order to do anything. As the technology advanced, things were simplified but those fundamentals became hidden. It didn’t matter though, because I’d already learned them. Then more and more layers got added, such as UIs and interaction with networks and databases etc., and things became even more hidden. Skip forward to the present, and we have application generators which do practically everything for you and much more quickly than I ever could. The problem is that the underlying “mechanics” are completely hidden, so when things go wrong, the causes are sometimes harder to find.
I believe that if you understand the basics, you are better able to use all the fancy tools available to you to design an application so that you’re able to avoid getting into too much of a mess. I have no interest in programming these days (I’m too old to call it “coding” 😉). My original motivation was the interest in working with the “new” technology and facing the intellectual challenges involved in learning it. I kept that motivation for most of my career because there’s always something new to learn around the corner. If you don’t have something to motivate you, then it can become a hard slog when things go wrong.
So a what I think I’m really saying is :- Are you asking your question because this is your hobby and you have an interest to motivate you, or are you asking because you want to make some good money out of selling your idea? The advice about drowning in a sea of information is good. It’s much better to start with simple steps in a simple language so that you don’t drown. That’s why most programming manuals start with a “Hello World” example (or they did in my day). Then, bit by bit (not a pun), add to your knowledge in small increments and see where it takes you. If it means you reach the limits of what your chosen language can provide, then you’ll have to find something that does what you want and learn that too. Then rinse and repeat ad infinitum. This is fine if you have the hobby to sustain your interest, but if your motivation is to quickly make a living from it, then maybe it’s going to be a bit harder.