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.

StreamByter Script: Distribute polyphonic midi to N outgoing mono midi channels

2»

Comments

  • _ki_ki
    edited September 2018

    I had a look at my AUs regarding mono only synth and found the following

    • Bassalicous
    • Cyclop
    • iVCS VCO (needs additional iVCS Filter and iVCS module per channel)
    • Ripplemaker
    • Viking Synth

    I‘ll probably try around with a Poly-Cyclop later. Even a single one produces a big wall of sound, so i am curious to experience a polyponic cyclop mayhem B)

    @tja
    I am in holdiday now, so i spent the afternoon at the beach and could not upload the zipped version. For convienience i added the AB3 preset and also a link to the zipped file at the end of the main posting.

    @McDtracy The Streambyter language is a lot more restricted than Swift, Java, C or other programming languages - so i personally feel its harder to do complex stuff. There are no user-defined functions, to nested loops, the if control structure does not have an ‚else‘ part. And you only have two labels to output debugging values.
    Thats why i did the development in a higher language, and converted the already tested and running code to a more restricted control structure.

  • I now have an 8 voice poly Model D!!!! I’ll move that to 12 voice when I hook it up to 88 keys later on.

    Just set the I0F to 8, and then loaded two AU Model D’s and set their MIDI channels to 1,3,5,7 and the second one to 2,4,6,8. Might need to do some more tweaking of this fantastic project made by @_ki to get polypressure back as I’m using it to chain two poly synths not several monosynths. I’m pretty sure even my iPad Pro can’t handle 8 instances of mono Model D’s.

    For those having trouble getting it copied in iOS. I saved it to Dropbox and then exported it to Pages and I was able to copy and paste it from there into the StreamByter in MIDIFire.

  • @_ki said:
    @McDtracy The Streambyter language is a lot more restricted than Swift, Java, C or other programming languages - so i personally feel its harder to do complex stuff. There are no user-defined functions, to nested loops, the if control structure does not have an ‚else‘ part. And you only have two labels to output debugging values.
    Thats why i did the development in a higher language, and converted the already tested and running code to a more restricted control structure.

    I'm just looking at IOS "programming" from the beginner's end of the story. StreamByter code is like BASIC: buy MidiFire or the StreamByter AU and you have a programing environment. Unfortunately, one not really made for beginner's but what's the alternative? Download Xcode and write IOS programs on a Mac
    using Swift, Objective-C, Java, C... not exactly a scripter's best entry point into the world of making scripts.

    Maybe we should be encouraging Audeonic to enhance StreamByter with:

    user-defined functions
    nested loops
    if else
    more labels to output debugging values

    In other words, deliver a "StreamByter Interpreter" update with these "SB Language" enhancements. I'm sure making it a better coding environment would sell more product(s).

    @audeonic has an account here. Maybe this will get a reaction.
    Give us more coding elegance! What you have is a bit too tricky to master. When writing in C is easier to work out the "flow" you have created a pretty gnarly "language" to navigate.

    I know they can do this... we just need to prove there are folks ready to buy to program MIDI Functionality Apps. I already bought MidiFire but I would buy the AU too if they showed interest in serving the "scripter's requirements" for ease of use.

  • _ki_ki
    edited September 2018

    I had some free dabbling time and so did a setup of

    iVCS 5 Voice Polyphonic Synth in AUM from iVCS AU modules.

    Use direct download and open in AUM.

    .

    The setup

    • 5 channels of VCO -> VCF -> ENV -> Mixbus A
    • Noise -> Mixbus B
    • 5 channels of Mixbus B -> VCF -> ENV -> Mixbus C
    • Mixbus A -> Mixbus H Send -> Out
    • Mixbus C -> Mixbus H Send -> Out
    • Mixbus H -> SPRING -> Out
    • StreamByter AU with Poly To 5 Mono

    Each of the 5 VCO, 10 VCF and 10 ENV had to be setup to read from a specific StreamByter Midi channel and the filters were offset by +36 (osc chain) or +12 (noise chains) semitones for tuning - so setting everything up took quite some time.

    The mixbus A/C channels work as Poly-Osc Sum / Poly-Noise Sum channels where you level the osc chains versus the noise chains and you can dial in the Spring verb per sum channel. For convienience, I set a bookmark to the mixbus A channel. The DSP usage is 34% on an iPad Pro 10.5

    .

    To dial/design in a new sound, i use the following trick: Press install on StreamByter AU will restart playing channel 1 for the first note, replaying that note will use the same channel - so i tunes the modules only on channel 1 and saved the result using AUMs presetmanager and loded this preset to all other channels. Same trick works for for the noise chain.

  • @McDtracy said:
    @audeonic has an account here. Maybe this will get a reaction.
    Give us more coding elegance! What you have is a bit too tricky to master. When writing in C is easier to work out the "flow" you have created a pretty gnarly "language" to navigate.

    No comments here. Is adding more language constructs to StreamByter being discussed in their user forum?

    So, far it seems like you hand a problem to them and they write a solution. It was exciting to see a member here (@_KI) create a complex script we all can use. I can see buying the AU StreamByter just for this one "use case" script. We need more programmer's to tackle learning to write StreamByter scripts.

    Usually the best way to get a programmer working is to give them a project request:

    Create a script that takes channel 1 input and puts all notes below Middle C on to Channel 2 and leaves those above Middle C on Channel 1

    Who's up for coding and sharing this? It's almost a split point like function. This came up by moving a midi file into Symphony Pro and all the channel 1 notes were placed on the treble clef using ledger lines for any note below Middle C. Folks have suggested splitting the notes in the DAW first and then making the MIDI file but just running the output through a script would automate the function.

  • EPIC. Thank you! :love:

  • _ki_ki
    edited September 2018

    I replicated the

    Poly 5 Ripplemaker setup for ApeMatrix

    including the Rosetta XY for modulation and pitchbend.

    Follow the link, press the download icon in the top right and choose open in ApeMatrix.

  • @McDtracy said:
    Usually the best way to get a programmer working is to give them a project request:

    Create a script that takes channel 1 input and puts all notes below Middle C on to Channel 2 and leaves those above Middle C on Channel 1

    Who's up for coding and sharing this? It's almost a split point like function. This came up by moving a midi file into Symphony Pro and all the channel 1 notes were placed on the treble clef using ledger lines for any note below Middle C. Folks have suggested splitting the notes in the DAW first and then making the MIDI file but just running the output through a script would automate the function.

    Well here you go @McDtracy .
    This is basically a preset with stuff removed:

    [code]
    # Split notes on middle C (3C)
    # Send lower notes to Channel 01
    # Send higher notes to Channel 02

    IF LOAD
    ASS K2 = 00 01 # lo/hi split channels
    ASS L0 = 3C # current split value
    END

    # split note events
    IF MT < A0 # is it a note event?
    IF M1 < L0 # is it in lower split point?
    MAT M0 = MT + K2 # use lo chan
    END
    IF M1 >= L0 # is it upper split point?
    MAT M0 = MT + K3 # use hi chan
    END
    END
    [/code]

    Hope you find it helpful.
    Quick setup in AUM with both synths fed by StreamByter.
    Keyboard is firing input to StreamByter.

  • _ki_ki
    edited September 2018

    I replicated the iVCS OSC -> VCF -> ENV chain from my AUM session (described above) to build an

    iVCS 5 Voice Polyphonic Synth setup for ApeMatrix

    On the shown xml page, press the download icon in the top right and choose open in ApeMatrix.

    I also mapped scub-y of the ape keyboard to the filter cutoff freq.

  • tjatja
    edited September 2018

    @_ki said:
    I replicated the

    Poly 5 Ripplemaker setup for ApeMatrix

    including the Rosetta XY for modulation and pitchbend.

    Download directly and choose open in ApeMatix

    Also no way to download this with Safari.

    And using iCab mobile it wanted be to login to a Google Account.

    Dropbox is indeed a better way to share things, it seems.
    And zip files ;)

    And many thanks for the AB preset and the zip file!!! :)

  • _ki_ki
    edited September 2018

    @tja, thanks for the hint. Before posting, i tested the link on my side by copying it from the google drive app over to safari and got the open-in option, no log-in request and not the xml listing.

    But perhaps google knows that the request came from my ipad and logged me in also in safari (which i do not want ! ) I am going to check that now.

    Yeah, you are right - i am logged into a google account, even though i never entered the account-data or password, i only used the google drive app.

    .

    I fixed the link for Poly-5 Ripplemaker and the link for Poly-5 iVCS in ApeMatrix and
    changed the instructions - you need to press the download icon on the top right of the shown xml page to get to the open-in page.

  • @_ki said:
    I had some free dabbling time and so did a setup of

    iVCS 5 Voice Polyphonic Synth in AUM from iVCS AU modules.

    Use direct download and open in AUM.

    .

    The setup

    • 5 channels of VCO -> VCF -> ENV -> Mixbus A
    • Noise -> Mixbus B
    • 5 channels of Mixbus B -> VCF -> ENV -> Mixbus C
    • Mixbus A -> Mixbus H Send -> Out
    • Mixbus C -> Mixbus H Send -> Out
    • Mixbus H -> SPRING -> Out
    • StreamByter AU with Poly To 5 Mono

    Each of the 5 VCO, 10 VCF and 10 ENV had to be setup to read from a specific StreamByter Midi channel and the filters were offset by +36 (osc chain) or +12 (noise chains) semitones for tuning - so setting everything up took quite some time.

    The mixbus A/C channels work as Poly-Osc Sum / Poly-Noise Sum channels where you level the osc chains versus the noise chains and you can dial in the Spring verb per sum channel. For convienience, I set a bookmark to the mixbus A channel. The DSP usage is 34% on an iPad Pro 10.5

    .

    To dial/design in a new sound, i use the following trick: Press install on StreamByter AU will restart playing channel 1 for the first note, replaying that note will use the same channel - so i tunes the modules only on channel 1 and saved the result using AUMs presetmanager and loded this preset to all other channels. Same trick works for for the noise chain.

    Am I missing something here, or did the StreamByter script/rule not get included with the above AUM preset?

  • _ki_ki
    edited September 2018

    @J_B1GS Yes, the StreamByter script is already loaded in the AUM, ApeMatrix or AB sessions. Also all midi connections are set up, so the sessions should be play-ready.

  • I reloaded the AUM project and now have the script, sorryfor the interrupt

  • Sorry to use this thread to go over probably old ground, but I’m now interested in this app.

    If someone could kindly answer:

    1. What do I need beyond the StreamByter app? The site mentions another app is that needed too?
    2. Do you need a computer to use this app?, as I am iOS only at this time.
    3. Does the app save each project for fast reloading - no need to re-enter all the text each time?
    4. Is it easy to just paste in the text people are sharing - basically can the app be used easily by someone who does not want to program it?

    Thanks if anyone reply’s

  • @Fruitbat1919 said:
    1. What do I need beyond the StreamByter app? The site mentions another app is that needed too?
    2. Do you need a computer to use this app?, as I am iOS only at this time.
    3. Does the app save each project for fast reloading - no need to re-enter all the text each time?
    4. Is it easy to just paste in the text people are sharing - basically can the app be used easily by someone who does not want to program it?

    1. No - the other thing is MIDI-Fire or so - StreamByter was/is a part of that. The Standalone Version is more enhanced now as far as I am informed.
    2. Nope. Not really
    3. Its like preset handling in synths or other auV3 components. As there might be a lot of knowledge involved in programming logics I use my GIT client on iOS to store the scripts - but also save the latest version as a preset.
    4. Yup.
  • @MrBlaschke said:

    @Fruitbat1919 said:
    1. What do I need beyond the StreamByter app? The site mentions another app is that needed too?
    2. Do you need a computer to use this app?, as I am iOS only at this time.
    3. Does the app save each project for fast reloading - no need to re-enter all the text each time?
    4. Is it easy to just paste in the text people are sharing - basically can the app be used easily by someone who does not want to program it?

    1. No - the other thing is MIDI-Fire or so - StreamByter was/is a part of that. The Standalone Version is more enhanced now as far as I am informed.
    2. Nope. Not really
    3. Its like preset handling in synths or other auV3 components. As there might be a lot of knowledge involved in programming logics I use my GIT client on iOS to store the scripts - but also save the latest version as a preset.
    4. Yup.

    Thank you for taking the time to reply :)

  • _ki_ki
    edited September 2018

    I only have/use the StreamByter AU version. The AU saves the source in the hosts session. AUM and ApeMatrix can also save the presets to their plugin preset system, so one can share/transfer it betweens sessions.

    The non-AU StreamByter version has some more features, but does not save its state in the hosts session - so it does not fit my workflow.

    .

    I hope that Audeonic brings these non-AU features (inject midi) and other festure requests (like tempo, clock ticks,transport messages...) i already asked for into the AU version. I have several cool ideas that would need these features :)
    I added links to the threads on their forum - if no-one else is asking, they probabbly won‘t implement because they don‘t see any interest, except from me...

  • @_ki said:
    @J_B1GS Yes, the StreamByter script is already loaded in the AUM, ApeMatrix or AB sessions. Also all midi connections are set up, so the sessions should be play-ready.

    Thanks again for your script, @_ki. You've put quite an amount of work into this very handy little piece of magic.
    Using it in apeMatrix for a while, I've found that the longer I've been playing chords, the more I get dead notes, i.e. notes that aren't triggered anymore from the keyboard. The dead notes are different every time and they are getting more and more and they're always in the key range of notes I've been playing.
    Would you mind having a look what could be the cause in your script? Maybe something with memorizing which notes have which note-on/off state?
    Thanks!

  • _ki_ki
    edited October 2019

    @rs2000 I'll have a look - debugging StreamByter is quite tought with only labels to display values.

    Do you use apeMatrix keyboard, an external one or one of the keyboard apps ? I'll ask because some of the keyboard AUs send MPE and notes arrive on different channels.

    .

    BTW did you try the newer script version from Dec 2018 which distributes to NxM voices ?
    Just set the M to 1 to distribute to N mono synth. Maybe he newer script doesn't have that bug.

    The newer script shows the number of active channels in the left label - if that number is higher than the number of keys you currently press, there's clearly a problem with releasing the notes.

  • edited October 2019

    @_ki said:
    @rs2000 I'll have a look - debugging StreamByter is quite tought with only labels to display values.

    Do you use apeMatrix keyboard, an external one or one of the keyboard apps ? I'll ask because some of the keyboard AUs send MPE and notes arrive on different channels.

    .

    BTW did you try the newer script version from Dec 2018 which distributes to NxM voices ?
    Just set the M to 1 to distribute to N mono synth. Maybe he newer script doesn't have that bug.

    The newer script shows the number of active channels in the left label - if that number is higher than the number of keys you currently press, there's clearly a problem with releasing the notes.

    Yes I'm using apeMatrix and its built-in keyboard.
    Can't test with AUM because I don't own it.

    Edit: Do you know that StreamByter has received quite a hefty update that allows for writing much more readable code, including aliases and macros?

    Edit 2: I've used the updated StreamByter script in apeMatrix and so far it seems to work very well! Thanks for the hint!

  • @rs2000 wrote:
    Edit: Do you know that StreamByter has received quite a hefty update that allows for writing much more readable code, including aliases and macros?

    Yes, several of the enhancements were suggested/discussed by me in beta test phase. I also released some scripts using the new features like Midi Matrix Switch which i implemented for both StreamByter and Mozaic.
    Debugging using the Log functions of Mozaic is still a lot easier and my scripts have become even more complex and need lots of GUI elements

    .

    I won't port the NxM script to Moazic (even if thats an easy task knowing all the nitpicks) because there is Polyhemus AU and i don't want to reduce its sales by offering a free script with more features than the paid app .

  • @_ki said:

    @rs2000 wrote:
    Edit: Do you know that StreamByter has received quite a hefty update that allows for writing much more readable code, including aliases and macros?

    Yes, several of the enhancements were suggested/discussed by me in beta test phase. I also released some scripts using the new features like Midi Matrix Switch which i implemented for both StreamByter and Mozaic.
    Debugging using the Log functions of Mozaic is still a lot easier and my scripts have become even more complex and need lots of GUI elements

    .

    I won't port the NxM script to Moazic (even if thats an easy task knowing all the nitpicks) because there is Polyhemus AU and i don't want to reduce its sales by offering a free script with more features than the paid app .

    Mozaic is more expensive than Polythemus and I'd never buy both. The most flexible app will usually win my attention.

Sign In or Register to comment.