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.

Volume control on individual notes

Volume automation is done on a track. If volume goes up and down on a single note during its duration (human voice can modulate flexibly), how do musicians control the volume/velocity of single/individual notes in their project? Using volume automation on single/individual notes may be an overkill. Using multiple adjacent notes with varying velocity may still produce breaks in the note and not continuous.

I wish there were multiple velocity points on each note (or ability to add velocity points) and set velocities during the note duration at granular level to make it sound as natural as possible.

Comments

  • @MobileMusic said:
    Volume automation is done on a track. If volume goes up and down on a single note during its duration (human voice can modulate flexibly), how do musicians control the volume/velocity of single/individual notes in their project? Using volume automation on single/individual notes may be an overkill. Using multiple adjacent notes with varying velocity may still produce breaks in the note and not continuous.

    I wish there were multiple velocity points on each note (or ability to add velocity points) and set velocities during the note duration at granular level to make it sound as natural as possible.

    It depends on the instrument. You could use aftertouch, of mod wheel or any cc to modulate amplitude and/or timbre in synth patches. Velocity KB can you use touch force as a modulator so that you can vary velocity/timbre with touch.

    The details would vary from instrument to instrument.

  • @espiegel123 said:

    @MobileMusic said:
    Volume automation is done on a track. If volume goes up and down on a single note during its duration (human voice can modulate flexibly), how do musicians control the volume/velocity of single/individual notes in their project? Using volume automation on single/individual notes may be an overkill. Using multiple adjacent notes with varying velocity may still produce breaks in the note and not continuous.

    I wish there were multiple velocity points on each note (or ability to add velocity points) and set velocities during the note duration at granular level to make it sound as natural as possible.

    It depends on the instrument. You could use aftertouch, of mod wheel or any cc to modulate amplitude and/or timbre in synth patches. Velocity KB can you use touch force as a modulator so that you can vary velocity/timbre with touch.

    The details would vary from instrument to instrument.

    If a note plays for 4 seconds - if it should play at 100% velocity/volume for the first 2 seconds and play at 50% volume for the 3rd second and 20% volume in the 4th second - fading away. I have JD-Xi with no aftertouch and trying to figure out how using apps like Cubasis.

  • This might help

  • wimwim
    edited August 6

    I wrote a midi ADSR controller in Mozaic that might be of use. It sends out a midi cc that can be set to decay and release over time when triggered by a midi note. If pointed at the volume parameter of a synth, it can control the volume over time for each note.

    Maybe not exactly what you’re after, but maybe partway there. https://patchstorage.com/midi-adsr/

  • edited August 7

    Exactly for such purpose so-called Polyphonic Aftertouch was invented in the 80s.

    There are Channel Aftertouch and Polyphonic Aftertouch messages available in the MIDI specification. While channel pressure is for the entire channel, poly pressure has 128 values per note number per channel.

    The signal is generated by special master keyboard controllers, where each key has individual pressure data, but usually can be coded with any advanced MIDI editor too.

    But...

    The synthesizer”s tone generation actually must support this message actively to be any useful. I guess not even a single iOS synth will implement this MIDI message. A synthesizer or sampler, which does not implement per note volume (or any other parameters) this way has no use of such MIDI messages.

    Drum synthesizers or samplers often use an alternative method.
    These are one dhannel synthesizers by design too, but with different voices per note trigger. Therefore often so-called NRPN MIDI messages are used for individual voice automation.

    So a base drum could be adjusted in volume while a Hihat or snare would keep the volume. If one would use normal channel automation with controller 007 (Volume), the entire drum channel would be affected, thus not applicable for individual voice automation.

    NRPN/RPN controllers often use 3 follow-up messages in connection with the Data Entry MIDI controller.

  • @wim said:
    I wrote a midi ADSR controller in Mozaic that might be of use. It sends out a midi cc that can be set to decay and release over time when triggered by a midi note. If pointed at the volume parameter of a synth, it can control the volume over time for each note.

    Maybe not exactly what you’re after, but maybe partway there. https://patchstorage.com/midi-adsr/

    I'll check it out. Thanks for sharing

  • edited August 7

    @JG_digister_com said:
    Exactly for such purpose so-called Polyphonic Aftertouch was invented in the 80s.

    There are Channel Aftertouch and Polyphonic Aftertouch messages available in the MIDI specification. While channel pressure is for the entire channel, poly pressure has 128 values per note number per channel.

    The signal is generated by special master keyboard controllers, where each key has individual pressure data, but usually can be coded with any advanced MIDI editor too.

    But...

    The synthesizer”s tone generation actually must support this message actively to be any useful. I guess not even a single iOS synth will implement this MIDI message. A synthesizer or sampler, which does not implement per note volume (or any other parameters) this way has no use of such MIDI messages.

    Drum synthesizers or samplers often use an alternative method.
    These are one dhannel synthesizers by design too, but with different voices per note trigger. Therefore often so-called NRPN MIDI messages are used for individual voice automation.

    So a base drum could be adjusted in volume while a Hihat or snare would keep the volume. If one would use normal channel automation with controller 007 (Volume), the entire drum channel would be affected, thus not applicable for individual voice automation.

    NRPN/RPN controllers often use 3 follow-up messages in connection with the Data Entry MIDI controller.

    How about SynthMaster One? I see under Mod Matrix, there are options to choose MIDI > Aftertouch, Pitch Bend, Volume, Velocity, Expression, Brightness, etc.

  • @MobileMusic : are you wanting to do this with monophonic or poly instruments?

  • edited August 7

    @espiegel123 said:
    @MobileMusic : are you wanting to do this with monophonic or poly instruments?

    No, Just using Cubasis, SM1, Pure Synth, Poison-202, JD-Xi for now

  • edited August 7

    If you only ever play monophonically with each instrument, then this is really a totally standard "CC 7" (Volume) scenario and I can see nothing special about it.

    If you need to control EACH note's volume in a CHORD SEPARATELY, then yes, the synth would have to support some means of polyphonic control, either the "real" one (PolyPressure or Polyphonic Aftertouch (both the same)), or a hack that has been invented a few years ago, I think it's called MPE or something (but then you lose the ability to control more than one instrument per MIDI connection).

  • @MobileMusic said:

    @espiegel123 said:
    @MobileMusic : are you wanting to do this with monophonic or poly instruments?

    No, Just using Cubasis, SM1, Pure Synth, Poison-202, JD-Xi for now

    This doesn't answer the mono/poly question.

    Are you playing one note or multiple notes at a time? As @SevenSystems mentioned, you can do what you want with Midi volume control for mono playing.

    If you are playing polyphonically, you can use a plugin to convert the polyphonic playing to multiple mono channels and use midi volume.

  • @espiegel123 said:

    @MobileMusic said:

    @espiegel123 said:
    @MobileMusic : are you wanting to do this with monophonic or poly instruments?

    No, Just using Cubasis, SM1, Pure Synth, Poison-202, JD-Xi for now

    This doesn't answer the mono/poly question.

    Are you playing one note or multiple notes at a time? As @SevenSystems mentioned, you can do what you want with Midi volume control for mono playing.

    If you are playing polyphonically, you can use a plugin to convert the polyphonic playing to multiple mono channels and use midi volume.

    Oops! I play one note at a time in Legato/Mono.

  • @SevenSystems said:
    If you only ever play monophonically with each instrument, then this is really a totally standard "CC 7" (Volume) scenario and I can see nothing special about it.

    If you need to control EACH note's volume in a CHORD SEPARATELY, then yes, the synth would have to support some means of polyphonic control, either the "real" one (PolyPressure or Polyphonic Aftertouch (both the same)), or a hack that has been invented a few years ago, I think it's called MPE or something (but then you lose the ability to control more than one instrument per MIDI connection).

    I play in Legato/Mono. So this is going to be volume automation at the note level?

  • @MobileMusic said:

    @SevenSystems said:
    If you only ever play monophonically with each instrument, then this is really a totally standard "CC 7" (Volume) scenario and I can see nothing special about it.

    If you need to control EACH note's volume in a CHORD SEPARATELY, then yes, the synth would have to support some means of polyphonic control, either the "real" one (PolyPressure or Polyphonic Aftertouch (both the same)), or a hack that has been invented a few years ago, I think it's called MPE or something (but then you lose the ability to control more than one instrument per MIDI connection).

    I play in Legato/Mono. So this is going to be volume automation at the note level?

    With one note at a time, all you need t do is send envelopes made up of MIDI volume control messages.

  • edited August 7

    @espiegel123 said:

    @MobileMusic said:

    @SevenSystems said:
    If you only ever play monophonically with each instrument, then this is really a totally standard "CC 7" (Volume) scenario and I can see nothing special about it.

    If you need to control EACH note's volume in a CHORD SEPARATELY, then yes, the synth would have to support some means of polyphonic control, either the "real" one (PolyPressure or Polyphonic Aftertouch (both the same)), or a hack that has been invented a few years ago, I think it's called MPE or something (but then you lose the ability to control more than one instrument per MIDI connection).

    I play in Legato/Mono. So this is going to be volume automation at the note level?

    With one note at a time, all you need t do is send envelopes made up of MIDI volume control messages.

    Are you talking about velocity for each note? I was inquiring about how to alter velocity of a note during its duration of play. If a note is 4 seconds, I was trying to fade it gradually for a natural sound (while the notes following it should still sound in their normal volume).

    How do I send envelopes made up of MIDI volume control messages to my DAW? If it is by hitting hard on the JD-Xi keyboard, it is recording notes with varying velocities - per note - and it is the same velocity for the entire note. Without using a controller, I can edit individual velocities of notes - but that does not fade out the note volume. Trying to figure out fading a note volume gradually. I can use automation to fade volume on the note and increase the volume after the note finished playing so the following notes would play in their normal volume.

  • edited August 7

    Velocity is per definition a single value per note, so it is not possible to fade it during a note because... that's how it's defined 🙂

    You can assign any controller (the standard controller for anything resembling volume is 7) to any parameter in your synth that would achieve the desired effect (Amp Envelope Amount, Volume, Gain, Fader etc.) and then just use any MIDI sequencer and/or controller that can send CC 7 (probably all of them) to change the parameter during the note.

    It's of great help for your situation of course if the sequencer supports "ghosting" (drawing the notes that occur at the time where you're drawing / editing controller data) so that you can better see what you're editing.

  • @MobileMusic said:

    @espiegel123 said:

    @MobileMusic said:

    @SevenSystems said:
    If you only ever play monophonically with each instrument, then this is really a totally standard "CC 7" (Volume) scenario and I can see nothing special about it.

    If you need to control EACH note's volume in a CHORD SEPARATELY, then yes, the synth would have to support some means of polyphonic control, either the "real" one (PolyPressure or Polyphonic Aftertouch (both the same)), or a hack that has been invented a few years ago, I think it's called MPE or something (but then you lose the ability to control more than one instrument per MIDI connection).

    I play in Legato/Mono. So this is going to be volume automation at the note level?

    With one note at a time, all you need t do is send envelopes made up of MIDI volume control messages.

    Are you talking about velocity for each note? I was inquiring about how to alter velocity of a note during its duration of play. If a note is 4 seconds, I was trying to fade it gradually for a natural sound (while the notes following it should still sound in their normal volume).

    How do I send envelopes made up of MIDI volume control messages to my DAW? If it is by hitting hard on the JD-Xi keyboard, it is recording notes with varying velocities - per note - and it is the same velocity for the entire note. Without using a controller, I can edit individual velocities of notes - but that does not fade out the note volume. Trying to figure out fading a note volume gradually. I can use automation to fade volume on the note and increase the volume after the note finished playing so the following notes would play in their normal volume.

    It would be helpful to clarify your thinking here a little bit to separate the elements of what you are trying to accomplish into discrete precise elements.

    You talk about adjusting 'velocity' while a note is playing. But velocity is a one-time thing. It is the speed with which a key is struck. You are wanting to control volume or something while a note is playing. That isn't velocity. I think it is an important distinction because it will help focus your attention on what needs to be solved -- which is volume of the synthesizer output and not velocity.

    "Velocity" is nothing more than the speed (a substitute for force) with which a key is initially pressed. It actually has nothing to do with volume per se EXCEPT that synths and samplers (when they are velocity sensitive) OFTEN map velocity to the maximum amplitude (i.e. something like VCA level). It is often mapped to other things as well (such as cutoff frequency or sample layer). Once a key is struck -- there is no more velocity. Some keyboards have Aftertouch which is a measure of pressure sent as a controller. For monophonic playing, you could map aftertouch to volume for dynamic control of the volume. HOW you do that depends on the synth. Most of the synths you mentioned, I think have modulation matrices that let you map controllers to things like volume.

    But it sounds like you are wanting something like a fixed volume envelope rather than a force-modulated volume envelop. So, since the synths and samplers you are controlling don't have the sorts of envelopes that you want, you are going to have to simulate them by sending out volume control CC messages that adjust the output to your liking as time goes on. You might do this by sending it to the synth itself or by using a CC-controllable AU that will control your volume.

    Another approach would be to use something like Audulus and program your custom envelopes there and send your synth output through Audulus as an effect (also sending it MIDI so that it knows when your keys are pressed).

    FWIW, there are a handful of synths that have non-ADSR style envelopes that may be along the lines of what you want. Also, LayR as envelopes with long time ranges that might be along the lines of what you want.

  • @espiegel123 said:

    @MobileMusic said:

    @espiegel123 said:

    @MobileMusic said:

    @SevenSystems said:
    If you only ever play monophonically with each instrument, then this is really a totally standard "CC 7" (Volume) scenario and I can see nothing special about it.

    If you need to control EACH note's volume in a CHORD SEPARATELY, then yes, the synth would have to support some means of polyphonic control, either the "real" one (PolyPressure or Polyphonic Aftertouch (both the same)), or a hack that has been invented a few years ago, I think it's called MPE or something (but then you lose the ability to control more than one instrument per MIDI connection).

    I play in Legato/Mono. So this is going to be volume automation at the note level?

    With one note at a time, all you need t do is send envelopes made up of MIDI volume control messages.

    Are you talking about velocity for each note? I was inquiring about how to alter velocity of a note during its duration of play. If a note is 4 seconds, I was trying to fade it gradually for a natural sound (while the notes following it should still sound in their normal volume).

    How do I send envelopes made up of MIDI volume control messages to my DAW? If it is by hitting hard on the JD-Xi keyboard, it is recording notes with varying velocities - per note - and it is the same velocity for the entire note. Without using a controller, I can edit individual velocities of notes - but that does not fade out the note volume. Trying to figure out fading a note volume gradually. I can use automation to fade volume on the note and increase the volume after the note finished playing so the following notes would play in their normal volume.

    It would be helpful to clarify your thinking here a little bit to separate the elements of what you are trying to accomplish into discrete precise elements.

    You talk about adjusting 'velocity' while a note is playing. But velocity is a one-time thing. It is the speed with which a key is struck. You are wanting to control volume or something while a note is playing. That isn't velocity. I think it is an important distinction because it will help focus your attention on what needs to be solved -- which is volume of the synthesizer output and not velocity.

    In iOS DAW apps like NS, velocity = volume as per their manual. That was why I was using them interchangeably.

  • @SevenSystems said:
    Velocity is per definition a single value per note, so it is not possible to fade it during a note because... that's how it's defined 🙂

    That's what I observed. Also, I used velocity/volume interchangeably.

  • wimwim
    edited August 7

    OK, so now that velocity vs. volume is cleared up (very common misunderstanding btw)...

    The first place to look to do what you want is the Amp envelope of the synths you're using. This should generally be all you need. You should be able to set decay time, sustain level, and release time, at a minimum in most synths.

    If the synths you have don't have an amp envelope, then the Mozaic "Midi ADSR" envelope script I wrote could be used to substitute for this. Shortly ... when I change a thing or two later today. What I will add today is the ability to pass a MIDI note through the script. Right now, the envelope triggers when a note is received, which is fine and dandy for some applications, except it would be useful if there was an option to play the note as well.

    This script would go between your MIDI input source and the synth you're playing. If you map the output cc to a control like volume, then when you hit the note, the volume control will follow the envelope. Right now, you'd have to do some extra routing to get the note to play, so if you're interested in trying it out, best to wait until the update.

  • Velocity is literally how fast you hit the key.

    The keyboard measures the speed at which the key travels.

    If you imagine you are hitting a piano hey the harder you hit the, faster it travels and the louder the sound. The timbre (tone) also changes. So if you play more quietly the sound will be much softer as well as quieter.

    a synth patch may have velocity assigned to say filter cutoff. Then the harder/faster you hit the key will change the tone of the sound but not the volume.

    The volume cc 7 is however unambiguous. If you want to fade out a sustained note you would generally use the volume control for this. The volume affects all notes of the midi channel.

    Velocity is not the same as volume.

    If you want to fade out a single sustained note but none of the other notes, you would just put the ones you want faded out on a different track/midi channel and still use volume cc7 control to fade it.

  • wimwim
    edited August 7

    Not to beat a dead horse, but sometimes it's helpful to understand the mechanics of what's going on...

    A MIDI note consists of two events, each with three pieces of information. First there's the note ON event consisting of three bits of information:

    1. The type of message (note ON) and the MIDI channel
    2. The note to to play
    3. The velocity

    Later, when the key is released, another message is sent, again with three bits of information.

    1. The type of message (note OFF) and the MIDI channel
    2. The note
    3. The note OFF velocity. This is most often ignored by synths.

    Some apps and hardware send a note ON message at zero velocity instead of a note OFF message. This is "legal" by MIDI standards, but can throw MIDI script writers off if they're unaware of it. Mozaic automatically converts these to note OFF messages. In Streambyter it's one line of code to do this.

    There ya' go. TMI. My specialty. B)

  • As a side note, if you haven't tried using the motion sensor in @SevenSystems keyboards to control stuff like volume, you're missing out on some really expressive fun.

Sign In or Register to comment.