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.
Looking for "scale and key detector" MIDI AU
Hello fellow music makers!
I have often written melodies that I just either randomly entered using chromatic keyboard or using some kind of a tool that keeps notes in scale, but then I can't trace back which scale it was. Then I want to add some backing chords or another melody, bassline, etc that will match the key and scale of the original melody. Seems like a simple task, but I wasn't able to find a right tool for it. I thought that Tonality chord/scale identification is exactly for this purpose, but either I don't use it properly, or it's more intended for chords than for a sequence of notes. If I feed it with a melody (let's imagine a simple monophonic melody where e.g. only 3 notes alternate, let's say C, E and G), I'd love to see a list of keys and scales which I can use for that specific melody, so the scales where all 3 notes are included.
Tonality has record option for chords, but not for scales. So for scales it just shows which scales the currently played note is included, which is not very useful. It'd make much more sense to have this record feature for the scales rather than for chords. But maybe I am just using it in a wrong way. Or is there an app that does exactly this? I.e. remembers notes played and showing which scales you can use?
I already have a Mozaic script in my head, but want to save some time for yet another non-music-making-project
Comments
Hmm, not fully what you wanted, but the Note Statistics Mozaic script captures the occurence of notes and their summed duration. Active notes show blue pads, used notes have orange pads, unused notes get the default pad color.
Maybe i‘ll add ‚Scale & Root Detection’ if i find the time and if its fun scripting it. First comments on the problem: There are ambiguities like C Mayor uses the same notes as D Dorian, E Phyrian, F Lydian, G Mixolydian, A Natural Minor and B Locrian. Could one assume, that the root note is the one with the longest duration ?
Nice, not what I had in mind but a very good base for making what I want it Mozaic
With the ambiguity of notes I think you don't have to care that much, what I'd prefer is simply list all the scales and root notes that matches the combination of notes and just list them in any order and then I can pick whatever scale I feel like. Of course, if you'd apply it only for E and D, there'd be huge amount of possibilities, so it'd make sense to list e.g. only first 16 options.
The point is that as a person lacking musical education, I won't need to match the additional melodies by trial & error.
The script was initially developped with a similar goal: I often just dabble around on the keyboard (or arbitary midi note input plugin or use a generative midi plugin) and find something interesting - but often i just don‘t know ‚what notes‘ i had played (thats easier if it’s a real keyboard, but sometime i added transpositions before the synth...) and what might fit to accompany it.
And indeed - to get the possible scales, i used the AUM keyboard (set to hold the notes) feed into Tonality Scales and played the notes detected by that script
During development of the released script version, i faced several problems: The ambiguity problem becomes even bigger if not all input notes of a scale are used while playing (For 2 or 3 notes, there are too many possible scales) and what to do if there are notes that don‘t fit any of the standard scales.
Another big problem is the proper output of the results: It should happen user-friendly directly on the Mozaic GUI and not in the logs console. Not easy to solve, as Mozaic can only output fixed strings to labels. My current idea is that one might use a second pad view, where the pads list up to 16 of the candidate roots and scales
.
Your request is kind of a wakeup call to the original script idea and maybe this time i’ll come up with something - at least i think about it again
Nice! At least I know I am not the only one thinking this way
With the inability so save strings into variables I understand your pain. I also always need to find some workarounds in Mozaic for this. Usually the pattern is that I save the value as number and then I have simple list of conditions for each possible numeric value that call e.g. LabelPad with the string value. It's not very flexible, but does the job.
I can even see there is a function
ScaleName [<scaleNum>]
which can return this probably to avoid so many conditions. Just not sure if you can even concatenate strings like you can with Log with LabelPad so you can put together the root note and the scale.In the worst case, there's an option to use e.g. top row of the pads to display only root notes and bottom row will show scale names. If you read top + bottom pad you get one scale. Not perfect and would limit you to less options but still OK. Full list could be simply outputted in the Log. Or eventually you could provide some sort of paging for pads.
If notes wouldn't fit any scale, you could simply show "no scale match" or so. If there are too many options, that's not an issue, you anyway want to pick only one.
There is often ambiguity as to scale, key and root of chord, even when you have all the notes needed to identify a chord or scale, with the correct interpretation/disambiguation often depending on where the music went afterwards harmonically.
@skrat Hey! The current workflow I envisioned for Tonality is more while composing, so that you can hold down the notes you're using and see the scale they belong to. As you mention, this is only useful if you play more than one note at a time. I see how a cumulative or record mode could be useful, and this is on my list.
Great to hear!
@skrat I added new features to the Note Statistics script :
.
The version 1.3 can now bulk-output the detected notes (and its input midi is no longer echoed).
If you route you keyboard/generative input to the script and the scripts output to Tonality Scales, you will get the list of possible scales with a simple pad press after playing along
And i also added the option to apply my simple root-guessing method (longest duration) and also manual root selection. The root note will be output an octave lower than the detected notes and this influences which root Tonality chooses and which scale variants will be on top of Tonality‘s list
.
If @TonalityApp add‘s the ‚note sampling‘ feature for scales, just feed you input there and remove the script.
I currently don‘t think i‘ll add scale detection to the script itself, too much work and too many detours for getting a nice output - and for me the current script fed into Tonality does all what i need. Basically the script does the missing note-sampling, plus additional root guessing
@_ki This is really cool! I evidently need to look a bit more into Mozaic.
If you know the name of the chord you want to use, Touchscaper will provide you a nice list of complimentary chords which include those notes. Not AU though...
This 4Pockets app has a useful note detection feature. https://apps.apple.com/us/app/analyser-tuner-auv3-plugin/id1436332576
Tonality has a midi chord and scale detection Au as one of the 3 AU’s packed in the app.
@_ki Great, thanks a lot! I was actually thinking about simple trick to simply filter out notes off in mozaic to sustain the notes and feed Tonality with it
@TonalityApp Thanks for response, it would be really handy to be able to record also in notes mode.
@djpuzzle Thanks for a tip, but 4pockets tuner is for audio, I wanted a solution for MIDI. But of course it's handy too