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.

Introducing Tone Packets

@dcollett and I have been working with Paul Barnard (4 Pockets) and Marek Palka (Just Chords) to create a protocol for sharing chords and scales between apps using SysEx messages.

The protocol includes 126 predefined chords and scales, but also allows for sending any arbitrary cluster of notes in a packet. Chord descriptions include root note, slash bass, inversion and octave.

In addition to the attached document describing the protocol, we have also created additional resources for developers which we will post soon. There will also be some Mozaic scripts for testing and validating messages.

The basic model is that there are Tone Packet senders transmitting to one or more Tone Packet receivers. Because a tone packet contains the entire chord arriving at once, with an exact description of the chord, it's possible for accompaniment apps like Strummer or Evolver to generate their accompaniment in realtime along with other tracks. Similarly, a Tone Packet scale includes all the notes of the scale, making it possible for scale-aware apps to instantly change their current scale.

The upcoming release of Helium will include sending Tone Packets. Just Chords already supports sending Tone Packets. Paul will shortly be releasing updates to other 4 Pockets apps with Tone Packet support.

Because the protocol uses SysEx, not all DAWs support it. We've tested with AUM and Loopy Pro. Nodes, Cubasis and Logic Pro do not allow MIDIFx plugins to send SysEx at this time.

Our goal is to encourage other developers to adopt Tone Packets as a standardized method of efficiently transmitting chord and scale information between cooperating apps.

In the meantime, both Helium and Just Chords also send block chords via traditional MIDI, so it's possible to use Tone Packets in conjunction with any MIDI instrument.

Edit:
Dropbox folder with additional documentation and code resources.

«1

Comments

  • This is very exciting

  • Very exciting

  • Wow. Respect.

  • I’ve seen this mentioned in the update notes for some 4pockets apps and wondered about the background. Very interesting indeed.

  • edited June 2

    Many developers and musicians use varying degrees of chord and scale theory. As part of the packet, we are including spreadsheets with detailed information about the intervals, best matches for chords and scales, scale transformations, symmetry, evenness, prime forms, etc. and a PDF explaining the columns.

    Please take a look at 4Pockets' recent updates to Helium and JustChords. Paul at 4Pockets is actively working to add Tone Packets functionality to many of his apps. As more developers add this protocol, it will enable apps to efficiently send any chords, scales, or note clusters between apps.

  • Are your scales compatible with Scala scales?

  • Hi, Bianca. Tone Packets supports the traditional MIDI note values, not microtonality, which would require a minimum of an extra byte per note (less for EDOs). Tone Packets protocol is designed to be extremely compact and efficient, requiring a minimum number of bytes to send any chord, scale, or clusters of up to 24 notes as a single packet.

  • This is very very EXCITING!!
    When three brainers come together the result can be awesome!
    Thanks in advanced.

  • Thanks, HolyMoses. We're hoping that it gains a lot of traction. The capability to send out any possible chord, scale, or cluster of notes along with inversion, octave, rootless, and slash chords will give devs and musicians an endless palette of sounds. Thanks for your interest!

  • Excellent. I'm not up to speed on what's going on with digital music standards, but I'm quite surprised that something like this isn't already in wider use in the apps that I use, since it seems really useful. It's great that it's getting implemented in the 4Pockets apps, and hopefully it will catch on with other developers once they see what it can do.

    By the way, I checked out the JustChords app and that looks really interesting too. There's a lot of interesting stuff going on in the mobile music world these days - love it!

  • congratulations! great news

  • Thank you, looks really interesting.

  • Amazing work 👏

  • great idea, thanks for the hard work putting this protocol together.

  • edited May 30

  • Very cool stuff! There is definitely a need for this.

  • edited May 29

    This is really exciting and interesting!

  • @4pockets_paul Really excited about the potential this will bring to IOS. Wondering if there are plans to make it easier to get chord progressions into chord mode. Sliding progressions into Chord mode from the media bay or other apps like Scaler 2 would be amazing!

  • @RJB
    When did Scaler get drag and drop (from app to app) , or were you referring to some other means?

  • Right, that’s only on desktop I believe. Playing the chords in from Scaler like you can in Logic pro2 would also be very useful.

  • @GRiker, @dcollett Great idea!

    Two questions, after reading your spec:

    • Have you considered another cluster type "Arpeggio"? It would need additional timing information per note.
    • Why limit the note range (span) to 24 semitones? I do find 24 notes sufficient but not the limited range.

    I've been using ChordPolyPad a lot and I often use chords that span 3 or 4 octaves. One might wanna add bass notes too ;)
    Also, the various arp/strum modes are quite exciting, musically.

  • @rs2000 said:
    @GRiker, @dcollett Great idea!

    Two questions, after reading your spec:

    • Have you considered another cluster type "Arpeggio"? It would need additional timing information per note.
    • Why limit the note range (span) to 24 semitones? I do find 24 notes sufficient but not the limited range.

    I've been using ChordPolyPad a lot and I often use chords that span 3 or 4 octaves. One might wanna add bass notes too ;)
    Also, the various arp/strum modes are quite exciting, musically.

    +1

  • Why doesn’t Tone Packets include arpeggios, strums, and other performance directives?

    We contemplated including performance directives as a part of the Tone Packets protocol, but after working through the scenarios, we realized that it made sense to focus Tone Packets on tonal content – the receiver decides what to do with the packet. In the case of an arpeggiator, the incoming notes provide the palette, and the arpeggiator provides the performance.

    By design, the sender-to-receiver relationship is one-to-many: a single sender transmits chord or scale information, with one or more receivers processing this data, such as generating accompaniment. Because the sender does not know which receivers are listening, their capabilities, or the intent of the composer, it’s appropriate to send only the tonal content, not performance directives. As an example, in a scenario with three receivers – a bass player, a chord arpeggiator, and a guitar strummer – each will (and should) decide how to process the incoming tone packets.

    Why only two octaves?

    Within the constraints of 12 notes per octave, a single octave can theoretically contain all possible chords. However, two full octaves are necessary for closed voicing of all extensions (9ths, 11ths, 13ths). Beyond this, the notes are simply duplicates. Voicing the chords and adding chord/non-chord tones in the bass can of course extend the range to all 88 keys.

    However, these are performance directives. Tone Packets is a method to transmit tonal information efficiently and accurately in a single packet. The receiver app can then process this information in whatever ways align with the purpose of the app, such as extending the tonal range of a tone packet by replicating notes, splitting notes across the keyboard, arpeggiation patterns, combining chords with scales, voicing, etc.


    As of today, all Tone Packets files are available to the public. These documents include the protocol itself, an FAQ, C++ source code and Mozaic scripts (for developers), and a folder of chords and scales contained in the Tone Packets curated lists with a Notes document explaining the spreadsheet columns.

    https://bit.ly/TonePackets

    The FAQ addresses other questions, such as:

    • What are the advantages of using Tone Packets versus regular MIDI?
    • Do all DAWs and MIDI Processors support Tone Packets?
    • What’s the deal with Anticipation?

  • https://www.youtube.com/live/gDFKiTyHZD4?si=_6HZ6f03Ef1ssc6H

    I really hope other devs get onboard with tone packets amazing stuff.

  • edited June 5

    -

  • @Jumpercollins Thanks! So do we.

    Having the capability to send any possible chord or scale (with up to 24 notes) all in a single, efficient packet offers developers and musicians so many technical and musical advantages.

    Please spread the word – the more apps that support Tone Packets, the better it will be for all of us!

    Best to you.

  • edited June 5

    Jade's show yesterday:

  • @dcollett said:
    Jade's show yesterday:

    Jade’s show gives a great in depth exploration and demo. Mine is one specific example of Tone Packets being used. My experience so far is that the Tone Packets allow greater control and flexibility of sending notes and chords between the apps.

  • edited June 5

    @EdZAB Ed, your show was great – AND on record for being the first (non-4Pockets) YT presentation about Tone Packets! 😺

    Also, thanks for taking the time to make the Strummer Control layout file. This will be useful for anyone who uses Helium + Strummer.

Sign In or Register to comment.