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
If it were just notes that were needed to be remapped from channel 4 to 10, then the code would be...
N3 = X9 # remap notes channel 4 to 10
If it were just CCs that needed remapping with those channels, copy and paste the text...
B3 = X9 # remap CCs channel 4 to 10
The # is just for 'commenting'.
The only part of that code required in the StreamByter window would be...
B3 = X9
Oh man, this is going to be so awesome!
Thanks for the lesson.
Those # comments are extremely helpful. You can learn just by reading the scripts.
Yeah, the app comes with a bunch of Presets (as pictured on page 1) and they all have comments. As you say, these are a great way to learn what is going on.
It's the way all well-written code should be, self-documenting.
That and consistent indentation, jeez poorly formatted code drives me up the wall ...
Kids today ((drifts off into rant))
I just did a hardware test with StreamByter and the Novation Circuit.
The two Circuit synths output on midi channels 1 & 2.
With the code I’ve added to StreamByter, I’m re-routing the midi from midi channels 1 & 2 (using the ‘range’ syntax of a hyphen) to midi channel 3.
X0-1 = X2
Without this code the Circuit synths would play Zeeon and Poison.
With this code, they will both play Mersenne on midi channel 3.
@SpookyZoo for King of the world! Fantastic stuff here, thanks for all of the detailed info. I've been using Midifire for a while now and have lightly tested Streambyter as an AU. I have some scripting experience which sorta helps with syntax but am a bit of a Midiot, especially compared to many here. But with thanks to Nic and his online forums I've gotten the hang of it over time. Really looking forward to sharing and growing this exciting new AU option.
Yeah, I think this is the exciting part. To see how other users will make use of it.
Sooo, what's the code for "humanise velocity", or "humanise tempo"?
I imagine something along those lines could be achieved with the Clock and Math syntax.
Give Nic a shout at this email, he'll be able to let you know for sure... [email protected]
Hey, I guess I am starting to get it.
I guessed the Clock Module would be the go to for humanizing tempo, and math expressions would do the humanization.
But now I wonder...
Is there a precise definition for “humanize”? Many assume it is just randomization, but it is more constrained than the usual randomization I believe. Any idea of what these constraints could be?
Bit of a noob question: can I use this to configure/change the knobs on a minilab controller, so it becomes a replacement for the minilab’s desktop software?
More the other way round, you insert this into the path between your minilab and the synth etc you want to control and have this change the messages the minilab sends into the ones you need.
It’s a good point, that this would require a definitive definition.
I’ve not used the math feature much yet, so it will be interesting to hear back from @Wrlds2ndBstGeoshredr if he discusses this with Nic.
StreamByter can pretty much transform any incoming midi messages into another so I’d be pretty sure the answer is yes, of sorts.
If you know exactly what midi is being sent out by the mini labs knobs you can use this info in an equation in StreamByter to transform it to something you prefer.
Thanks guys, realise now I was thinking the wrong way round.
This is a superb tool even for someone like me.
You should be able to set the constraints on randomization however you choose. For example, to humanize the rhythm, set each drum strike to hit on the clock plus or minus some random value chosen from zero to X. The same for velocity and even tuning.
In the app's docs, so far I have not seen a command for generating a random value, but I may well have missed it.
Hmm, the humanisation wouldn't be able to make events appear earlier than they get in. So it could only delay things...
@midiSequencer has implemented humanization very effectively in Quantum and may be able to help?
I want this NOW!! I’m hopeful this comes with a good syntax reference and several practical examples. I SO look forward to its release!
@SpookyZoo I think you should get award for your ability to drum up excitement for scripts. Can’t wait to re-read this thread once I get my hands on this baby.
It could be done, but would be a challenge. How does the midiflow app deal with this, I wonder?
Probably by introducing some latency, but I’m not sure. But it does function pretty much as you described humanization.
I wonder if you monitor Quntum’s midi output both with and without humanization applied, and compared, maybe you could deduce what it is doing exactly.
It’s the special variable R (followed by a hex number). I’m going to play around with doing a sample humanize routine and post it here if I can get it working properly.
@CracklePot Maybe I'm missing something big, but I don't think so. Quantum can humanize because the sequence is set in the app, so it can "look forward" to what's coming next and shift the timing either backwards/forwards. Streambyter cannot because it does not know what is coming--so the only way to humanize is "behind" the beat. And in my experience looking at MIDI I record, a fair bit of humanization is having a few of the notes "ahead" of the beat.
One thing that Streambyter does very well is randomization though. It's so easy to set the randomization to a range in the script that I now "humanize" by recording a few different versions of a "part" to an audio sample and then load them up to randomized BM3 pads. Really helps to vary the feel of a tune.
Great & valid points.
Definitely planned to be around sooner than later!
There is a basic website up at the moment that describes the app and it's features: https://audeonic.com/streambyter
Also, there are some pics of the presets on page 1 of this thread, with other examples commented with explanations of there functions.
Hopefully that's a good start.
Or you route all events through StreamByter (you may have to adapt your setup to allow that), delay them by a constant value first, then add or remove a "groove offset".
If your configuration allows for external MIDI clock (like in GrooveRider, Gadget, Modstep, Genome), you could humanise StreamByter's built-in clock generator and send it tempo control CC messages to make the clock destination DAW groove the way you want.
Great and valid points.
Oh, wait. Somebody already said that.
Seriously though, I get what you are saying.
And I don’t know squat. Just openly speculating, hoping to be corrected when I have it wrong. I learn a lot that way.