Fragment:Flow Max For Live OSC Tools (Beta)
I put together this set of Max For Live Open Sound Control devices in order to integrate my personal Ableton projects with Fragment:Flow, but they really help to open things up so I thought I’d make them freely available to everyone. Although I made them for use with Fragment:Flow they broadcast general OSC messages and are therefore compatible with a wide range of apps that support the protocol (confirmed working with Touch Designer and Resolume). The pack includes a number of bread-and-butter modulation devices such as a synced LFO and amplitude follower which draw heavily from the excellent M4L Building Tools tutorial devices from Cycling74/Manuel Poletti (among my favourite devices to use in Live). Alongside these are a number of experimental tools and general OSC utilities. Every device of this kind is capable of simultaneously broadcasting OSC and utilising Live’s internal parameter mapping, so you can control the filter cut-off of a VST for example, and use the same source to modulate parameters in your visual software over UDP. I’ve also included a couple of versatile consolidation and routing tools which are very useful when you wish to send the same OSC data to multiple places at once, or receive and consolidate OSC messages coming in over multiple ports. These devices solve the problem that only one application can bind to a given port at a time. The scope for complex integrations and creative modulation schemes between applications is quite broad. As a casual personal project I’m releasing the pack as a work-in-progress in the hope that others will find them useful, but intend to expand and improve the collection over time. Please feel free to contact me if there’s anything that you’d like to see added or have general feedback, even if you’re not a Fragment:Flow user. Also, feel free to crack open the devices to learn how create your own bespoke Open Sound Control tools with Max, or to adapt them to your needs. Best wishes, Paul (rhizome78).
Current Version: Beta 0.4b
Requirements: A 64-Bit version of Live with Max 8 as the Max For Live back-end.
List of Current Devices:
All modulation devices generate Open Sound Control messages on a specified port and can be mapped to internal parameters in Live simultaneously.
FF Amp Follow To OSC: Drop it on any audio track and generate OSC and internal parameter mapping based on the average amplitude of incoming audio. Includes a filter to isolate parts of the spectrum.
FF Envelope To OSC: Draw cyclical, tempo synced envelopes.
FF LFO To OSC: A versatile, tempo synced LFO with multiple waveforms.
FF OSC To Param: A simple, lightweight device which allows you to map incoming OSC to internal parameters within Live.
FF OSC Multi-Port Broadcaster: A simple but very useful device which broadcasts data from a specified port across multiple ports, allowing you to send it to up to 8 apps simultaneously.
FF OSC Multi-Port Listener: Does the reverse of the Multi-Port Broadcaster – takes OSC data from multiple ports and consolidates the messages to a single port.
FF OSC To Param Matrix: a versatile matrix which allows you to map multiple OSC messages to multiple parameters in Live (8×8 inputs/outputs).
FF Param To OSC Lite: Does the opposite of the OSC 2 Param device – generates OSC over a specified port from a mapped parameter in Live.
FF Param To Param OSC: Allows you to couple 2 parameters within Live and simultaneously generates OSC messages from the parent parameter.
FF Pitch Tracker To OSC: a very rudimentary audio pitch tracking to OSC device. Expects a monophonic signal and accuracy varies depending on source (I’ll try to create a more sophisticated tracker going forward).
FF Step Sequencer To OSC: A simple Step Sequencer that generates OSC messages (up to 32 steps).
FF Sum OSC To Param: An experimental device which sums/blends 2 incoming OSC streams and generates a new signal that is a hybrid of the two (with a slider to determine relative percentages). Just thought it might be cool – maybe gestural control influencing an LFO etc?
FF Sum Params To OSC: similar to the above, but it blends 2 internal Live parameters instead.
FF Dials To OSC: A really simple but surprisingly useful dial bank, with each dial generating OSC over a specified port. Can be used with Lives automation curves in Arrangement View etc.
FF OSC To Midi CC Matrix: A versatile matrix which allows you to convert OSC messages to Midi CC to control your CC capable hardware.
FF Live Spout Viewer: Provides a Spout preview window which can sit on your tracks in Live. There seems to be some kind of scaling issue in Live with the Max object that this utilises (jit.pwindow), but I thought I’d include it anyway while I try to find a solution.
Fragment:Flow Image To Sound
Unrelated to main Fragment:Flow app, this is a revised version of a patch that I made almost 10 years ago and shared via my YouTube channel. The old patch was beginning to creak in recent versions of Max and was generally a bit of a mess, so I thought I’d quickly revisit it in Max 8. It allows you to take an image and convert it into a sound file that is viewable in a spectrogram. For Max users, it basically takes the vertical pixel data from the image in 1px horizontal increments and uses the brightness and y positions to assign amplitudes to a collection of sine waves using oscbank~ (pixel position on the y axis corresponds to frequency). Below you’ll find a download link to the Max 8 patch and a Windows Standalone, and you are free to use the former however you wish. The results are a bit grungy and I’m sure that there’s better ways of doing it (been in Jitter land for so long 🙂 ), so I may revisit it at some point . Let me know if you make any improvements or can suggest better approaches. Hint: the resulting sound files of bright, busy images approach white noise and generally sound horrible – sparse images with a black background are much more bearable sonically.