mfx Series

by Audeonic

  MIDI effect plugins for Audio Units and CoreMIDI
(iOS and macOS)
 

20% discount for all plugins - now available via bundle - downloads

Overview

mfx Series is a set of compact and powerful MIDI plugins. They can each be used as an Apple Audio Unit (AU) MIDI effect or as a standalone app connected via CoreMIDI virtual ports.

An iOS device (minimum iOS 11) and a suitable AU host app such as AUM, apeMatrix, Cubasis or Sequencism is required to use the AU variants. On Mac, the minimum macOS version is 10.13 (High Sierra) and Logic Prox X 10.4.2. To use with CoreMIDI, a routing app like MidiFire is recommended and an iOS device with at least iOS 9 or a Mac running 10.10 (Yosemite) is required.

mfx Series consists of 6 separate plugins:

  • mfxConvert - Intelligent Event Converter
  • mfxMonitor - MIDI Event Monitor
  • mfxPan - Performance Responsive Auto Panner
  • mfxPitch - Pitch Shifter and Delay
  • mfxStrip - MIDI Channel Strip
  • mfxWobble - Performance Responsive Auto Pitch Bender


mfxConvert - Intelligent Event Converter


mfxMonitor - Event Monitor


mfxPan - Performance Responsive Auto Panner


mfxPitch - Pitch Shifter and Delay


mfxStrip - Channel Strip


mfxWobble - Performance Responsive Auto Pitch Bender

Download

mfx Series is available via Apple's iOS and Mac App Stores. Just click on the download button below to be taken there right now.



mfxConvert

Intelligent Event Converter - convert just about any event to any other (multiple conversions are supported)

mfxConvert is split into two sections. On the left is the 'FROM' panel which represents the event details of an incoming MIDI message. On the right side is the 'TO' panel which shows the current conversions of the event shown in the 'FROM' panel.

To create a new conversion, use the menus in the 'FROM' section to specify the event and then use the 'TO' section to change what that incoming message is converted to. If both FROM and TO events are the same, then this is a neutral conversion (default) and no conversion takes place.

The FROM Controls:

  • learn (button) Pressing this button switches into learn mode. Incoming MIDI events are then used to switch directly to the matching 'FROM' event (with the TO event also changing to the current conversion). Press again to leave learn mode.
  • type (menu) - this selects the type of event that is to be converted from.
  • channel (menu) - the MIDI channel of the incoming event is set here. For events that are not channel messages (system realtime) this menu is disabled.
  • note/number/data byte (menu) - for note and aftertouch events, this is the note name of the event. For other events, this is the value number. For channel pressure and system realtime messages, this menu is not applicable and is disabled. For pitch bend, the menu controls which data byte is to be used in conversions (lsb or msb).
  • hex: (label) - this shows the currently selected event in hex form. An 'XX' signifies a variable value.

The TO Controls:

  • conversions (menu) - this menu shows the current conversions configured. Each is listed in hex format (handy for Stream Byter) and if you select a conversion from this menu, the FROM and TO sections will quickly, switch to that conversion.
  • type, channel, note/number and hex (menus) - these are the same as per the FROM section.
  • reset (button) Pressing this removes the currently selected conversion.

Most conversions are straightforward, like when converting to a different channel or number, but when converting from one type to another, mfxConvert applies some 'intelligence' when doing this. These rules are as follows:

  • note to aftertouch: Aftertouch value will be the note on velocity. Note offs are blocked.
  • note to controller: Controller value will be the note on velocity. Note offs are treated as note ons with zero velocity.
  • note to program change, song select, system realtime: Note ons with a velocity > 1 will trigger the event. Note offs are blocked.
  • note to channel pressure: Value will be note velocity. Note offs are blocked.
  • note to pitchbend: Pitch bend lsb/msb will be set to note velocity. Note offs are converted.
  • controller to note: The controller value is copied to the note velocity. If the controller value is > 0 then a note off is also sent to prevent stuck notes.
  • controller to program change, system realtime: Only controller messages that have an ON value (127) trigger the conversion. Controller events with values < 127 are blocked.
  • controller to pitchbend: Pitch bend lsb/msb will be set to controller value.
  • program change to note: A program change will trigger a note with fixed velocity of 100 and a note off 300ms later. Useful for converting program changes to drum hits.
  • program change to controller: Each program change will toggle the controller between value 0 and value 127.
  • system realtime to controller: This will set the controller value to ON (127)

mfxMonitor

Event Monitor - simple scrolling MIDI event monitor that shows each event, timestamp and hex codes.

Press the clear button to remove all events in the list.

mfxPan

Performance Responsive Auto Panner - incoming events will generate complementary pan controller messages (CC 10) on the same channel as the incoming notes. Pans can be triggered by note (velocity), aftertouch or controller events. Pans are triggered if the incoming trigger event is within a specified range and the depth of the pan can be proportional to the range set. There are different styles of pans and each can be given a maximum depth, cycle time and pre delay.

The plugin is divided into two sections; TRIGGER, where the pan trigger characteristics are set and PAN where the pan related parameters are set:

  • trigger (menu) - selects what type of event should trigger an auto pan.
  • range from/to (menus) - a lower and upper range can be set so that a pan will only happen if a trigger event is within the set range. The default of 1 to 127 indicates that a pan will happen with any trigger event (subject to the threshold value below).
  • threshold (slider) - the minimum trigger event value to start a pan cycle.
  • pan limit (menu) - normally, the pan will cycle to the depth specified (PAN section), but setting this to 'scaled' will scale the depth of the pan to the trigger value. Setting to scaled means that the higher the trigger value, the further the pan will move (and vice versa)
  • parallel pans (menu) - normally, mfxPan will only start a new pan when the current pan cycle has finished. Setting this value to 'yes' disables that restriction and multiple concurrent pan cycles are permitted. This creates very interesting pan effects as when playing multiple notes simultaneously, the pans will 'work against' each other and the pan will push and pull in unexpected directions.
  • pan (menu) - selects the direction of the pan. A variety of styles are available.
  • depth (slider) - this is the maximum depth of the pan. The higher the number (max 64) the further right or left the pan will extend to.
  • cycle time (slider) - this is the length of time that the complete pan will take from start to finish, in milliseconds. Low numbers will create fast pans and higher numbers will create long sweeps.
  • pre delay (slider) - adding a pre delay in milliseconds will delay the pan following a trigger.

mfxPitch

Pitch Shifter and Delay - add a second or third pitch shifted note to each incoming note event. Shift range is +/- 24 semitones. Additionally, each separate pitch stream can have a discrete delay applied to it.

mfxPitch is split into two separate panels. Each one represents one of the pitches, PITCH 1 and PITCH 2. Each section has almost the same controls:

  • clone/remap (menu) - configurable in PITCH 1 only. If set to 'clone', then a new stream of notes is generated. If set to 'remap' then the incoming note events are pitch shifted and delayed according to the settings. PITCH 2 is always a clone.
  • semitones (slider) - Use this to adjust the pitch offset (transpose) to use for this pitch. If a transposed MIDI event would go out of MIDI range, it is not transposed. If this is set to 0, then that pitch stream is disabled.
  • volume (slider) This is the % of the original note volume that the pitched note will be set to. If at 100% then there is no change in volume. If the resultant volume of any note is out of MIDI range, then it is scaled back to maximum (127).
  • delay (slider) This is a delay applied in milliseconds to the relevant pitch stream.

mfxStrip

Channel Strip - the most commonly used MIDI manipulations in one handy package. mfxStrip does channel filtering and remapping, note transposition, note remapping and poly to mono conversion.

This plugin is divided into two sections; CHANNELS for adjusting channel filtering and remapping. NOTES for working with note events:

  • allow incoming (menu) - choose which MIDI channel is permitted to pass through. Events on other channels are blocked. Selecting 'any' will allow all channels.
  • remap outgoing (menu) - select a MIDI channel to remap all (permitted) MIDI events to be rewritten to. A setting of 'no' means no channel rewriting takes place.
  • transpose (slider) - permitted note events will be transposed up or down in semitone steps if this is set to a value other than 0.
  • remap from/to (menus) - use these menus to translate any number of notes to different notes. First, select the note you wish to translate from using the left menu. The right menu will automatically change to show the current remapping. To change the remapping, simply select a different note using the right 'to' menu.
  • convert to mono (menu) - setting this to 'yes' will convert polyphonic notes to mono.

mfxWobble

Performance Responsive Auto Pitch Bender - incoming events will generate complementary pitch bend messages on the same channel as the incoming notes. Bends can be triggered by note (velocity) or aftertouch events. Bends are triggered if the incoming trigger event is above a specified threshold and the depth of the bend can be proportional to the trigger event value. Each bend can be given a maximum depth, cycle time and pre delay.

The plugin is divided into two sections; TRIGGER, where the bend trigger characteristics are set and BEND where the bend related parameters are set:

  • trigger (menu) - selects what type of event should trigger an auto bend.
  • threshold (slider) - the minimum trigger event value to start a bend cycle.
  • threshold/bend mode (menu) - normally, the bend will extend to the distance specified (BEND section), but setting this to 'scaled' will scale the distance of the bend to the trigger value. Setting to scaled means that the higher the trigger value, the further the bend will move (and vice versa)
  • parallel bends (menu) - normally, mfxWobble will only start a new bend when the current bend cycle has finished. Setting this value to 'yes' disables that restriction and multiple concurrent bend cycles are permitted. This creates very interesting bend effects as when playing multiple notes simultaneously, the bends will 'work against' each other and the bend will push and pull in unexpected directions.
  • bend (menu) - selects whether the distance is specified in cent or semitones.
  • distance (slider) - this is the maximum distance of the bend. The higher the number (max +/- 24 semitones) the further up or down the bend will extend to.
  • cycle time (slider) - this is the length of time that the complete bend will take from start to finish, in milliseconds. Low numbers will create fast wobbles and higher numbers will create long bends.
  • pre delay (slider) - adding a pre delay in milliseconds will delay the bend following a trigger.

Common Features

The following applies to all of the mfx Series:

  • AUv3 parameters All controls on each plugin (bar the Monitor clear button) are exposed as AUV3 parameters. This means you can use a host's automation/remote control features to change the controls dynamically from the host.
  • Slider values can be set using the slider, or you can touch the value field and enter an exact value using the keyboard.
  • Memory footprint and CPU load Each plugin has a very modest memory footprint and has been coded efficiently in native C in order to process MIDI at very low latency and high throughput.

Support Resources

  • Join us over at the Audeonic Soapbox Forum to post questions (or see if your question has already been answered?) or take part in the friendly discourse.
  • On twitter -
  • Or you can use good old fashioned email to contact the development team at apps@audeonic.com directly.


    © 1999-2019 Audeonic