Current Version: 2.2.5 | Manual (PDF) | Demo videos
Refraktions is an 8-track generative MIDI sequencer with artificial intelligence. Your taps imprint the AI memory and help it generate loops tailored to your choices over time. Start by tapping the screen in several places. Each tap triggers a sound. These sounds will loop and morph into new compositions over time, evolving indefinitely. More taps will be taken into consideration by AI and steer the app in new directions. The AI memory persists between app launches and the more you use the app, the more it learns about the tracks, pitches, and compositions you prefer, weighing your most recent decisions more heavily.
When referring to "your device", that can be an iPhone, iPad, or iPod touch with iOS 10.0 (arm64) or higher. There is not a Refraktions 2.x for Android at this point.
When referring to app settings, settings are indicated like this, and the value they are set to like this.
For example: Set the Background Mode to on.
Refraktions requires iOS 10.0 and an arm64 processor.
Tap or sweep the screen to enter notes into the sequencer tracks. Each note plays the track's corresponding synthesizer sample. The left side is low, the right side is high.
The notes will loop, getting quieter each time it plays. When the note has completely faded out, the overall composition is assessed by the AI and new sequences are generated. The result is that each time the app is used it outputs a unique composition that morphs and evolves over time. The more the app is used, the more the AI shapes itself to the user.
To remove the notes on an individual track, swipe right in its zone.
To rearrange the notes on all tracks, shake your device.
To get the Tempo Selector to appear, drag three fingers up or down the screen.
Note: This also changes the outgoing MIDI timing clock if MIDI Clock is set to Send MIDI Clock.
Emulating the jog-wheel on classic hardware MIDI sequencers, you can change the position of the playhead by spinning the outside ring of the sequencer circles. This action also sends the corresponding Song Position data to the MIDI Destinations.
To reset the sequencer, draw a counter-clockwise circle on the screen. This is an easy way to clear out a busy song and start from scratch. If MIDI Clock is set to Send MIDI Clock, then a MIDI Song Position of 0 0 is sent to the MIDI Destinations.
Note: This gesture does not move the internal sequencer back to 0 if MIDI Clock is set to Sync to External MIDI Clock or Ableton Link is enabled because the position is being controlled by an external device.
At any point, shake the device to rearrange the compostion on all tracks. This is a fast way to explore different compositions.
Pressing the Settings Button (gear icon) opens the Settings Panel, which includes:
Each track in the sequencer has attributes that can be customized.
The audio sample can be turned on or off for each track. Turn sample playback off to use the track for MIDI output only.
Quantization sets the increment that screen taps and MIDI controller notes are quantized to.
Pattern length is the number of measures in the track's loop.
Note duration is the number of measures it takes for a note to fade out and regenerate.
Volume sets the playback volume of the track.
Volume Lock prevents a sound from ever fading out, having the track act like a traditional, infinitely-looping MIDI sequencer.
Tune sets the playback pitch for every note in the track.
Chromatic Mode enables screen taps to input notes on a scale, rather than just middle C.
Note duration is the number of measures it takes for a note to fade out and regenerate.
Octave is center octave in the octave range.
Octave Range is the number of octaves accessible to screen touches for this track.
Randomize pitch on loops enables notes to shift up or down (still within scale) when they play in the sequencer loop.
MIDI Send enables notes on this track to be sent to the MIDI out port.
Channel determines the channel MIDI notes are sent on.
Destinations are the targets the MIDI note are sent to. Global defers to the Global MIDI Routing selections.
MIDI Receive enables external MIDI controllers to input notes into the Refraktions sequencer.
Channel determines the channel that incoming notes are accepted on.
Note: this section is not accessible when Audiobus is active.
Determines the musical scale and root key of the notes input via screen touches.
Either Ableton Link or MIDI can be used to sync Refraktions with other apps, software, or devices.
Note: this section is not accessible when Audiobus is active.
Toggle for Ableton Link. This is automatically turned on when Audiobus is active. For more information about Link, see the Ableton Link website.
Select whether the app synchronizes to an external MIDI clock, sends a MIDI clock, or neither.
Refraktions will listen for an external MIDI timing clock coming from another app, software DAW, or hardware source. It will sync to the incoming tempo and its internal sequencer will respond to incoming MIDI start, position, and stop messages.
Note: In this mode, the Refraktions sequencer will not move until it receives a start command from an external MIDI source.
Refraktions outputs a MIDI timing clock at the tempo of its internal sequencer (set by the Tempo Selector). It also sends MIDI start, stop, and position messages when the sequencer is scrubbed or reset.
Refraktions ignores any incoming MIDI timing clocks and does not output a MIDI timing clock.
This section sets the global MIDI routing for all tracks. Individual tracks can set their own routing, but these are the default sources and destinations.
Note: this section is not accessible when Audiobus is active.
Background Mode enables the app to continue to play music or send MIDI notes after it has been moved to the background (by pressing the Home button on your device). This is automatically turned on when Audiobus is active.
Note: this section is not accessible when Audiobus is active.
The app's artificial intelligence has a memory that records user selections of tracks and keys. Over time, the memory gets imprinted more deeply and when generating new compositions, it chooses notes the user has favored in the past. This button wipes the AI memory clear.
This button resets all tracks to their original, factory-installed settings.
Buttons for accessing this user manual or emailing the developer.
MIDI is the most traditional way to connect Refraktions with external synthesizers, other iOS apps, or a DAW on a computer. Refraktions can both send and receive MIDI messages, and perform a MIDI thru.
Connections consist of 3 elements:
1. MIDI source --> 2. Connection path --> 3. MIDI destination
Refraktions can act as the MIDI source, sending sequences of generative MIDI notes to the MIDI destination. This allows screen taps on Refraktions to play sounds in an external synthesizer, other iOS apps, or a software synth on a computer. As the Refraktions' sequencer loops, it will continue to send notes to the MIDI destination. It will play and morph indefinitely.
MIDI notes can travel from Refraktions to the MIDI destinations via several paths.
Refraktions can target destinations in Global MIDI Destinations. When a destination is selected here, all tracks with global selected in the Track MIDI Destinations with default to the global destinations.
Alternately, tracks can choose their own MIDI Destination and not use the global path. This way individual tracks can send MIDI to unique destinations.
Or each track can have its own MIDI Send Channel, so the tracks could all target the same MIDI destination, but use different channels to target different synths down the MIDI chain. By default, Track 1 is set to MIDI channel 1, Track 2 to channel 2, etc...
Here are some case examples of using Refraktions as a MIDI source:
Refraktions --> USB-to-MIDI --> Synth 1 --> Synth 2 --> Synth 3
*Alternately you can connect to your DAW and use it to route the MIDI to your external synthesizers.
Refraktions --> Other iOS apps
Refraktions --> Network Session 1 --> Computer DAW --> Software Synthesizers
MIDI sources like external MIDI controllers, other iOS apps, or a DAW on a computer can be used to input notes into the Refraktions sequencer loop.
MIDI notes can travel from the MIDI source to Refraktions via several paths.
Refraktions can listen to MIDI sources selected in Global MIDI Sources. Tracks cannot select individual MIDI sources, but can filter the MIDI data it listens to by selecting a MIDI Receive Channel.
Here are some case examples of using Refraktions as a MIDI destination:
External MIDI controller --> MIDI-to-USB --> Refraktions
*Alternately you can connect to your DAW and use it to send MIDI to Refraktions.
Other iOS apps --> Refraktions
Computer DAW --> Network Session 1 --> Refraktions
MIDI Thru is a special connection where a MIDI source, like an external MIDI keyboard, can input notes into Refraktions. However instead of playing the internal sounds, Refraktions can "forward" the notes and play sounds on a MIDI destination like another iOS app or external synth. The Refraktions sequencer will loop the incoming notes and continue to play the MIDI destination. This set up is useful if it is easier to use an external MIDI keyboard or controller to start generative sequences than using the Refraktions touch screen.
Here is a case examples of using Refraktions and MIDI Thru:
External MIDI controller --> MIDI-to-USB --> Refraktions --> Other iOS app
*In some scenarios, the other iOS app will also be listening for MIDI from the external MIDI controller. By setting the first transmission (external controller to Refraktions) to channel 1 and the second transmission (Refraktions to other iOS app) to 2, it avoids the iOS app playing its sounds twice.
Refraktions can be loaded as an Audio Source, a MIDI Source, and a MIDI Filter in Audiobus.
Note: When Refraktions is loaded into Audiobus, Background Mode and Ableton Link are automatically enabled. MIDI functions, including Sync, Global MIDI, and Track MIDI are not accessible since they are handled by Audiobus.
When Refraktions is loaded as an audio source, the internal sample playback is routed to an Audiobus audio destination.
When Refraktions is loaded as a MIDI source, the sequencer's generative MIDI notes are routed to an Audiobus MIDI destination. This is a way to have Refraktions play sounds from another iOS app.
When Refraktions is loaded as a MIDI filter, a MIDI source (like an iOS keyboard) inputs notes into the Refraktions sequencer loop and instantly plays the Audiobus MIDI destination. As the Refraktions sequencer loops, it continues to play the Audiobus MIDI destination. This is the equivalent of the Refraktions MIDI thru functionality.
Enable Ableton Link in the Settings Panel.
You can change the tempo of the Link Session with the Tempo Selector. Incoming tempo requests will be displayed on the Text Display.
For more information, see the Ableton Link website.
On a personal note, I created Refraktions to be a tool to use in my own live performances and recording sessions. One of my main challenges with loop based music is finding the balance between the entranced state that rhythmic music can evoke and a composition becoming too repetitive and grating. Refraktions become my solution for that.
In live performances, I use Refraktions to control several of my hardware synths, including a modular set up. Refraktions takes care of the notes and sequences, evolving organically over the course of the performance. If I need to add more notes, I tap the screen. If I need to clear everything out, I reset the sequencer. But for the most part I leave it alone. I trust it to make its own composition while I'm freed up to do the fun part - turning knobs on the synths and effects pedals.
Each show is unique, a collaborative performance between myself and the AI inside the app. And each time I use it, it creates compositions that are my style. I tend to tap the lower and left areas of the screen, which are the lower-pitched synths, accented with the faster percussion hits of Track 2. The AI has learned my personal style and generates new notes that favor my preferences.
In the studio, I've set up Refraktions to output MIDI sequencers into a DAW MIDI channel. I record the incoming notes for several minutes, alternately inputting notes manually and waiting to see how Refraktions morphs those sequences.
Once complete, I audition different synth sounds and samples with newly recorded MIDI notes, deleting the lackluster sections and saving the interesting ones. It's become a way to quickly generate melody and rhythmic sequences to use in a song.