Audiobus: Use your music apps together.

What is Audiobus?Audiobus is an award-winning music app for iPhone and iPad which lets you use your other music apps together. Chain effects on your favourite synth, run the output of apps or Audio Units into an app like GarageBand or Loopy, or select a different audio interface output for each app. Route MIDI between apps — drive a synth from a MIDI sequencer, or add an arpeggiator to your MIDI keyboard — or sync with your external MIDI gear. And control your entire setup from a MIDI controller.

Download on the App Store

Audiobus is the app that makes the rest of your setup better.

Any apps that can read Ableton .als files?

Hi all, I’ve got Groovebox playing nice inside AUM using virtual MIDI in. It doesn’t, as far as I can see, currently have MIDI out, (shame) but I found it can export combined wav and midi Ableton Live .als files. So I’m wondering if anyone knows of any IOS apps that can read these combined files (and thus perhaps let me extract the MIDI, even if it is just by playing the file and re-recording it in Atom?) I‘m hoping for an entirely iPad focussed option. I don’t have Ableton and I don’t do PC musicking on principal these days.

«1345

Comments

  • None that I'm aware of, and I agree, it would be useful to be able to get the MIDI out from the patterns in some usable form via iOS only...I personally want to use them on my Circuit and MonoStation.

  • What is in these files? Are they binary or some renamed archive stuff?

  • edited December 2019

    I would say you should contact the developer and ask if they would consider midi export or midi out in an update. You could offer to help test if it helps. It depends on the code and if they use a wrapper but some apps will already have the midi out part in some form (maybe not complete) and to enable this is possible without a ton of extra coding.

  • As a temporary workaround, you can get Ableton Live Lite free with apps like Patterning, Koala Sampler, or Gadget 2.

    But yeah, it would have been nice if we could export the MIDI as well.

  • @MrBlaschke said:
    What is in these files? Are they binary or some renamed archive stuff?

    The als file is a xml file, this is a file exported from Groovebox:

  • @White said:

    @MrBlaschke said:
    What is in these files? Are they binary or some renamed archive stuff?

    The als file is a xml file, this is a file exported from Groovebox:

    Thanks for the tip. I just renamed the .als to a .txt and it's showing up in Audioshare. I wonder if we could use this MIDI data in mosaic.

  • @White said:

    @MrBlaschke said:
    What is in these files? Are they binary or some renamed archive stuff?

    The als file is a xml file, this is a file exported from Groovebox:

    I don’t know/have Groovebox, but this is like an 8 beat pattern of C-2 with the 1st note played at 114 velocity and the other 7 notes full 127 velocity - each note for 1/4 seconds. Sounds like a „4 to the floor“ to me?

  • @MrBlaschke said:

    @White said:

    @MrBlaschke said:
    What is in these files? Are they binary or some renamed archive stuff?

    The als file is a xml file, this is a file exported from Groovebox:

    I don’t know/have Groovebox, but this is like an 8 beat pattern of C-2 with the 1st note played at 114 velocity and the other 7 notes full 127 velocity - each note for 1/4 seconds. Sounds like a „4 to the floor“ to me?

    Yes, that's right

  • edited December 2019

    Just read about the MIDI file specifications - its binary. So i might guess there is no way to create these on the fly without writing a dedicated app on iOS only. Sadly file-creations are limited - as far as i know.

    Edit:
    I might extend that i thought about a text-based process before i knew about the MIDI specification, which are quite complex and NOT doable in pure text.

  • @AmpifyxNovation

    Midi Export top of my feature request list too. 🤞

  • edited December 2019

    I'd rather use Ableton Lite but for a 100% iOS-based solution, I'd recommend getting familiar with OMZ Pythonista, basically a Python IDE for iOS with support for pythonic 3rd-party libraries like writing MIDI files and reading XML. I don't think it would be too difficult to write an .als to .mid converter if that's really important enough to you.

    Pythonista can also receive files and "open in..." for sharing them to your sequencer of choice.

  • @rs2000 said:
    I'd rather use Ableton Lite but for a 100% iOS-based solution, I'd recommend getting familiar with OMZ Pythonista, basically a Python IDE for iOS with support for pythonic 3rd-party libraries like writing MIDI files and reading XML. I don't think it would be too difficult to write an .als to .mid converter if that's really important enough to you.

    Pythonista can also receive files and "open in..." for sharing them to your sequencer of choice.

    Thanks for the tip, Pythonista does look useful... and yes, it's important enough for me to consider it....however I spend my 9 - 5:30 writing code of varying types....so when I'm thinking about music, I'd rather someone else was thinking about the code :)

  • edited December 2019

    @AndyPlankton said:

    @rs2000 said:
    I'd rather use Ableton Lite but for a 100% iOS-based solution, I'd recommend getting familiar with OMZ Pythonista, basically a Python IDE for iOS with support for pythonic 3rd-party libraries like writing MIDI files and reading XML. I don't think it would be too difficult to write an .als to .mid converter if that's really important enough to you.

    Pythonista can also receive files and "open in..." for sharing them to your sequencer of choice.

    Thanks for the tip, Pythonista does look useful... and yes, it's important enough for me to consider it....however I spend my 9 - 5:30 writing code of varying types....so when I'm thinking about music, I'd rather someone else was thinking about the code :)

    From reading the Mozaic monster thread, I'm sure we have quite a few good coders here. Maybe one of them finds the idea exciting enough to take care of it.
    I wonder though how many apps export the MIDI in Ableton export, the ones I've seen by now only export audio stems and I hope Groovebox isn't the only one.

  • edited December 2019

    @White said:

    @MrBlaschke said:
    What is in these files? Are they binary or some renamed archive stuff?

    The als file is a xml file, this is a file exported from Groovebox:

    I just opened the .als file export from Groovebox into Sublime Text but didn't see any mention of Midi in the layout like it does on your xml file.

    Did you take any other steps first?

  • edited December 2019

    @SpookyZoo said:

    @White said:

    @MrBlaschke said:
    What is in these files? Are they binary or some renamed archive stuff?

    The als file is a xml file, this is a file exported from Groovebox:

    I just opened the .als file export from Groovebox into Sublime Text but didn't see any mention of Midi in the layout like it does on your xml file.

    Did you take any other steps first?

    I selected midi only when I exported from Groovebox, maybe that's the difference?

  • @White said:

    I selected midi only when I exported from Groovebox, maybe that's the difference?

    Possible you can do a screenshot of that option? I don't seem to have it. Cheers.

  • @SpookyZoo said:

    @White said:

    I selected midi only when I exported from Groovebox, maybe that's the difference?

    Possible you can do a screenshot of that option? I don't seem to have it. Cheers.

    Yes, I select Midi and then Export:

  • edited December 2019

    So - this is the code to write a simple scale to a MIDI file inside of Pythonista:

    from midiutil import MIDIFile
    
    degrees  = [60, 62, 64, 65, 67, 69, 71, 72]  # MIDI note number
    track    = 0
    channel  = 0
    time     = 0    # In beats
    duration = 1    # In beats
    tempo    = 60   # In BPM
    volume   = 100  # 0-127, as per the MIDI standard
    
    MyMIDI = MIDIFile(1)  # One track, defaults to format 1 (tempo track is created
                          # automatically)
    MyMIDI.addTempo(track, time, tempo)
    
    for i, pitch in enumerate(degrees):
        MyMIDI.addNote(track, channel, pitch, time + i, duration, volume)
    
    with open("major-scale.mid", "wb") as output_file:
        MyMIDI.writeFile(output_file)
    
    

    So there just needs to be a parser for the ABL XML :)

    I verified the written MIDI file inside of Xequence2 - it worked flawlessly.

  • edited December 2019

    Never mind, tried to post the complete xml, but it's not possible.

  • edited December 2019

    @White said:

    @SpookyZoo said:

    Possible you can do a screenshot of that option? I don't seem to have it. Cheers.

    Yes, I select Midi and then Export:

    Thanks @White. I'm using a different version of the app so I don't have this option available to me at the moment. Interesting though. Cheers.

  • edited December 2019

    @White said:
    Never mind, tried to post the complete xml, but it's not possible.

    You need to enter „ ```“ before and after the code :) - without the „“ of course.

  • @MrBlaschke said:

    @White said:
    Never mind, tried to post the complete xml, but it's not possible.

    You need to enter „ ```“ before and after the code :) - without the „“ of course.

    Ok, I'll try again, 8 kick drums with different velocity, 120 bpm:
    <?xml version="1.0"?> <Ableton MajorVersion="4" MinorVersion="9.0_305" SchemaChangeCount="10" Creator="Groovebox"> <LiveSet> <Tracks> <MidiTrack Id="0"> <Name> <EffectiveName Value="Drumbox MIDI" /> <UserName Value="Drumbox MIDI" /> </Name> <ColorIndex Value="164" /> <DeviceChain> <MainSequencer> <ClipSlotList> <ClipSlot> <HasStop Value="true" /> <ClipSlot> <Value> <MidiClip Time="0"> <Notes> <KeyTracks> <KeyTrack> <Notes> <MidiNoteEvent Time="0" Duration="0.25" Velocity="127" OffVelocity="127" IsEnabled="true" /> <MidiNoteEvent Time="1" Duration="0.25" Velocity="89" OffVelocity="89" IsEnabled="true" /> <MidiNoteEvent Time="2" Duration="0.25" Velocity="127" OffVelocity="127" IsEnabled="true" /> <MidiNoteEvent Time="3" Duration="0.25" Velocity="89" OffVelocity="89" IsEnabled="true" /> <MidiNoteEvent Time="4" Duration="0.25" Velocity="127" OffVelocity="127" IsEnabled="true" /> <MidiNoteEvent Time="5" Duration="0.25" Velocity="89" OffVelocity="89" IsEnabled="true" /> <MidiNoteEvent Time="6" Duration="0.25" Velocity="127" OffVelocity="127" IsEnabled="true" /> <MidiNoteEvent Time="7" Duration="0.25" Velocity="89" OffVelocity="89" IsEnabled="true" /> </Notes> <MidiKey Value="36" /> </KeyTrack> </KeyTracks> </Notes> <Loop> <LoopStart Value="0" /> <LoopEnd Value="8" /> <StartRelative Value="0" /> <LoopOn Value="true" /> <OutMarker Value="8" /> <HiddenLoopStart Value="0" /> <HiddenLoopEnd Value="8" /> </Loop> <Name Value="Drumbox 1 MIDI" /> <ColorIndex Value="24" /> <TimeSignature> <TimeSignatures> <RemoteableTimeSignature> <Numerator Value="4" /> <Denominator Value="4" /> <Time Value="0" /> </RemoteableTimeSignature> </TimeSignatures> </TimeSignature> </MidiClip> </Value> </ClipSlot> </ClipSlot> </ClipSlotList> </MainSequencer> <FreezeSequencer> <ClipSlotList> <ClipSlot> <ClipSlot> <Value /> </ClipSlot> <HasStop Value="true" /> </ClipSlot> </ClipSlotList> </FreezeSequencer> <DeviceChain> <Devices /> </DeviceChain> </DeviceChain> </MidiTrack> </Tracks> <MasterTrack> <DeviceChain> <Mixer> <Tempo> <ArrangerAutomation> <Events> <FloatEvent Time="-63072000" Value="120.00024000047999" /> </Events> </ArrangerAutomation> </Tempo> <TimeSignature> <ArrangerAutomation> <Events> <EnumEvent Time="-63072000" Value="201" /> </Events> </ArrangerAutomation> </TimeSignature> </Mixer> </DeviceChain> </MasterTrack> <SceneNames> <Scene Value="Section 1" /> </SceneNames> </LiveSet> </Ableton>

  • edited December 2019

    This might be helpful for people. It does require opening the file inside Ableton first. Any version of 9 or 10 is fine.

    The exported midi file should retain the useful name supplied by Groovebox.

  • I think i got a basic converter.
    This is the MIDI file my script generates from the XML @White posted above

    Correct (rounded) bpm

    Note 36 - C3

    And the velocity values:

    Need to clean up my script a bit :smile:

  • edited December 2019

    For the ones that are interested:
    - The script is iOS only (Runs inside Pythonsita)
    - reads the abl file from the same directory
    - writes the MIDI file to the same directory
    - does not parse any rule (like isEnabled and stuff is ignored)

    As i do not have GrooveBox it is hard to test all structures - i only have the one @White provided.
    But as a basis this should do it. It works with the provided data.

    Thanks to @rs2000 for the Pythonista Tip - i use it daily but wasn’t aware of the implemented MIDI libraries. I use it for non musical stuff :smiley:
    Excuse my ignorance :blush:

    EDIT:
    Removed the sourcecode - updated version is on next thread-page

  • @MrBlaschke said:
    I think i got a basic converter.
    This is the MIDI file my script generates from the XML @White posted above

    Correct (rounded) bpm

    Note 36 - C3

    And the velocity values:

    Need to clean up my script a bit :smile:

    Wow this is very impressive 😊👍

    If you want a xml file with more than a kick drum or with some chords, I can post one.

  • Can you guys translate for the rest of us please? Is this an app? Or mosaic code?😳🤪

  • edited December 2019

    @Tones4Christ said:
    Can you guys translate for the rest of us please? Is this an app? Or mosaic code?😳🤪

    You need the app Pythonista:
    Pythonista 3 by omz:software
    https://apps.apple.com/de/app/pythonista-3/id1085978097?l=en

    A short overview of the process:
    Open the .als file in Pythonista:

    Now run the magic python script in Pythonista and share the resulting file to your sequencer of choice:

  • Ok - i tested some more with @White and as i thought i have to include loops to read all batches of notes for several included tracks. I have a file from @White that includes more than one track and could work on it.

    I just want to make sure that it is really needed to do!? I have no use for it :smile: so i don’t want to waste time.

    Was it just a prove of concept for „nice to know“ or is it of real use? @Svetlovska and @AndyPlankton ?

Sign In or Register to comment.