OSX High Sierra 10.13.1 Compatibility

SirenAudio's Feedback and Generative applications are not compatible with OSX High Sierra 10.13.1 and later versions. This update to OSX has broken compatibility with the version of the software used to build the applications. Support will continue to be offered for existing customers with prior versions of OSX and Windows. If you use a Mac and upgrade to this operating system, the applications are unlikely to launch and are officially unsupported.

Generative and Feedback are built using Max/MSP, a graphical programming environment for audio and video manipulation and creation. They're currently built using Max 5, a version of Max/MSP that is around 6 years old now. The reason for this is that updates to Max 6, and Max 7 did not allow the applications to be run without a very high CPU usage.

Essentially, this means that it's not practical to run the applications on a Mac alongside anything, even with a high end machine. As a developer and user I always wanted to offer as professional an application as possible and allow for the applications to be used practically across platforms and lower end hardware. 

Considering the scope of the applications and the focus of Cycling 74 (the company that makes Max/MSP), getting to the root cause of these issues isn't practical - Max 6 and Max 7 work well for most tasks, and Max's focus was never to allow users to develop applications, though it was a useful feature. 

This news has been frustrating as there are is nothing I can do to solve this problem. It isn't practical for Cycling 74 to offer support for all versions of Max, and unless older versions of Max become open source, there's no chance of fixing the issue. As of yesterday both Generative and Feedback have been discontinued.

Apologies to those affected by this, I will post updates if the situation changes.






Read more →

M4L Device: SA.Drift

Drift is a simple Max MIDI Device that applies a variety of modulation types to vary the pitch of incoming MIDI notes using pitch bend messages. It's useful for adding subtle, organic variations to harmonic parts. 

Drift has the following parameters:

Trigger Type : When Retrigger is enabled and a MIDI note on message is received, the phase of the modulation waveform will be set to zero. When set to free, the modulation oscillator is free running. If the Sync type is set to ‘Sync’ and the Trigger Type is set to ‘Free’, then the transport must be playing in order to hear the modulation effect.

Sync Type : This menu sets the modulation frequency type. The frequency may be a free value (Hz) or synced to the current BPM (Sync).

Modulation Polarity : This menu sets the polarity of the modulation. This can be set to plus or minus values (oscillating around the center frequency), or just plus (above the center frequency), or just minus (below the center frequency).

Modulation Waveform Type : This menu sets the modulation waveform shape. There are sine, square, sawtooth, triangle, and random waveform types.

Modulation Waveform Frequency : This dial sets the frequency in Hz of the modulation waveform.

Modulation Waveform Sync : This dial sets the note value frequency synced from the current BPM.

Modulation Depth : This dial controls the amount of modulation applied to incoming MIDI notes.

Jitter Depth : This dial controls the amount of random noise (or jitter) applied to the modulation.

Here's a short demo of the device with Ableton's Operator synth:

*Note that if the device is turned off, the pitch of the instrument device may be above or below it’s standard pitch.

You can download the device over at the Max for Live database: 






Read more →

Generative Update (2.0.5)

This is a small update to Generative which fixes a problem where audio would not record without first opening the 'record settings' dialog. I also fixed a problem with loading/saving presets on Windows, and a small UI change for normalising and randomising segments. Both manuals have been updated to reflect the latest versions. 

Generative 2.0.5

  • Fixed error when recording did not work without opening the record settings dialog.
  • Removed faded buttons for quick randomisation of segments and normalisation. These are now clickable buttons in the lower right hand waveform area.
  • Fixed problem loading and saving presets on Windows. 
Read more →

Generative + Feedback Updates (versions 2.0.4)

This is an update to mainly fix a problem in both applications where MIDI controller number zero would control all parameters. I've also added drag and drop functionality for loading files and presets (drag audio files and folders on to the top waveforms, drag presets in to the preset area). On the latest Mac OS 10.11.2 it appears that previous file browsing locations are not saved, so hopefully the drag and drop functionality will help with this.

Feedback 2.0.4

  • Added drag and drop to allow file and folders to be dropped on waveform display.
  • Added drag and drop to allow preset files to be dropped and loaded in preset area.
  • Fixed MIDI problem with random delay time assignments.
  • Fixed problem with MIDI controller number 0 controlling all assignments (no assignment now shows -10).
  • Fixed MIDI assignment problem with input effects-delay3-mix parameter.
  • Fixed MIDI compressor ratio parameter display problem.
  • Fixed potential problem with loading presets.

Generative 2.0.4

  • Added drag and drop to allow file and folders to be dropped on waveform display.
  • Fixed problem with MIDI controller number 0 controlling all assignments.
  • Added drag and drop to allow preset files to be dropped and loaded in preset area.
Read more →

M4L Device: SA.Wash

Wash is a Max Audio Effect that uses comb filters to create a reverb style effect. The aim of the device is to create dense washes of sound (akin to a watercolour wash).



  • del fb (delay feedback) : determines the amount of feedback, with higher values producing longer sustains.
  • del time (delay time): changes the length of time of the delay.
  • mod freq (modulation frequency): controls the frequency of the sine wave modulation oscillator. 
  • mod depth (modulation depth): changes the depth or amount of the modulation. 
  • jitter var (jitter variation): This modulation stage uses low pass filtered white noise, and the variation sets the cutoff frequency of the lowpass filter, with higher values producing more erratic variation. 
  • jitter depth: This parameter controls how much jitter is added to the delay time.
  • low cut: attenuates low frequencies from the effect
  • damping : attenuates high frequencies from the effect.
  • dry wet : fades between the dry and effected audio signals.
  • ef. gain (effect gain): scales the gain of the effect. This parameter is useful when the effect has high feedback settings as the volume can build up quickly.
  • clear button : In between the final two parameters is a button that will clear audio from the delays.

Note that changing the delay time, jitter, and modulation parameters will affect the pitch of the effected audio. 

Here's a short demo of the device with Live's Analog synthesiser device:

Here's a link to the device at the Max for Live database: 
Read more →

Generative + Feedback Updates (versions 2.0.3)

This is a small update mainly to fix a problem that Generative had when zooming in and out of the application and using the mouse with the lower waveform.

Generative 2.0.3

  • When zooming in and out, the mouse position is correctly scaled allowing you to use the add/edit/delete, and position controls.

Feedback 2.0.3

  • When changing input and output effects parameters with the mouse, values don’t disappear. 
Read more →

M4L Device: SA.Puck

Puck is a Max MIDI Device that allows you to use one note to output multiple notes that are currently held. The basic idea behind the device is to be able to play chords using one note. The device uses the [mxj] object so you will need Java installed for it to work.
The first parameter is the Trigger Note. This allows you to select the note that is used to trigger currently held notes. By default this is set to C-1. This is quite a low note that you're unlikely to use when playing or creating chords. The 'P' square will be highlighted green when the trigger note is being held.
The second parameter Velocity Percent, allows you to specify how much the Trigger Note's velocity will affect the output notes. When set to 0, Puck outputs the velocities of the held notes, and at 100% the notes will be scaled to a range of 0 - 1.5 times the original notes velocity.
There's also a small green button in the bottom right hand corner which will send a send note off messages for any stuck notes. Here's a little demo of the device, note that Puck will only trigger notes that are currently being played. You can see this demoed at around 1:20:
You can grab the device over at the Max for Live database: 
Read more →

Generative + Feedback Updates (versions 2.0.2)

This update is mainly to refine the user interfaces of both applications. As there's lots of controls in both applications, I've tried to make things a little neater and clearer. Aside from the UI, it's an important update for Mac users as both applications have improved stability when using OSX's coreaudio driver with the inbuilt hardware. There had been a particularly gruesome noise that occasionally appeared when switching audio drivers, and as far as I can tell with this update the problem has been solved. In any case, here's a look at the new interfaces and changes...

Generative 2.0.2

  • Gain style graphical filters are limited to +/- 24 db.
  • Fixed problems with using the inbuilt coreaudio driver on some OSX systems.
  • Fixed copy selection function causing playhead drawing / device soloing problems.
  • Made on/off controls in to toggles (not drop down menus).
  • Various user interface refinements.
  • In the States window, a preset can now only be selected if it has been saved.
  • Removed ordered segments button from States window (in practice this is the same as using random segments).
  • Added random positions function to the States window.
  • Ability to control granular parameters via MIDI (stored as a preference).
  • Removed "Voices" and "Global Pitch Variation" menu items, now accessible in the Grain Settings Window.

Feedback 2.0.2

  • Fixed problems with using the inbuilt coreaudio driver on some OSX systems.
  • Various user interface refinements.
  • Fixed problems when changing the routing of output effects and reverb.
Read more →

Generative + Feedback Updates (versions 2.0.1)

Since Generative and Feedback were released I've ironed out a few bugs with both applications. I've updated the demo applications too, so feel free to try them out and see if you can find any problems! Here's a list of fixes... 


Generative 2.0.1

  • Fixed problems with soloing and muting granular devices.

  • Improved stability of drawing playheads when switching playback modes.

  • Copying pitches to individual devices (e.g. copy 1 to 4) now works properly (previously only worked with copy all).

  • Initialisation problem meant the lower waveform occasionally didn't responding to clicks, this is now fixed. 

  • When switching between setting playback areas and segment operations, the selected operation is remembered.

  • Reverb reflections are now on by default, and volume scaled for reflections on/off.

Feedback 2.0.1

  • Fixed problem when using MIDI to clear or record in to delay banks.

  • Added parallel processing to delay banks (reduces CPU usage if you have multicore processor).

  • Fixed problem of waveform display not being clickable after initialise set when audio file loaded.

  • Reverb reflections parameter is on by default, and volume scaled for reflections on/off.

  • Fixed incorrect MIDI note offset (-1 octave) when in Sampler audio file playback mode.

  • When in the Grain and Play Free click and click free modes, the waveform position control is automatically selected.


Read more →

Feedback and Generative 2 Release Notes

I’m very happy to finally release version 2 of Generative and Feedback. This update has been a long time coming as I’ve been involved in a lot of other projects since the first versions came out. During development I also had some problems that I couldn’t easily solve with standard Max objects, so developing became a vehicle to learn Javascript and Java in Max. I'm still learning but I've found it to be a very useful skill when patching - so if you're a Max user and wondering if you should start, get stuck in! Like a lot of Max users, I’m more of a music maker than a programmer, so it took me a while to start thinking of how to solve problems in code, and not in Max objects. Here's the finished UI of Generative 2...

With the new versions I’ve done as much as I can to reduce CPU, and there are a few options in Generative 2 to further reduce the CPU load. I've had a great group of Beta testers who have helped me to fix a lot of little quirks that the applications had, and I'm constantly using the applications myself and finding little improvements I can make. I will be updating versions as and when any bugs are found, so even if you're using the demo or full applications and find things aren't working as described please let me know. 

Back in 2011 when I released the first versions of the Lorelei Suite, I had no idea how they would be received. I still get emails from users that think of the apps as indispensable, and it's great that people can enjoy creating with the applications. I’m excited to see how the new versions of Generative and Feedback are received, and hope that they can become more significant tools for composers and sound designers.

Here's a list of changes in Generative : 

  • Restore sessions. Recall analysed audio with all settings to completely restore a previous session.

  • ‘States’ section to alter parameters via MIDI notes and the computer keyboard.

  • MIDI trigger section with amplitude envelope to set pitches and change state presets.

  • Ability to change each devices pitch using a sliding scale or keyboard values.

  • Graphical filter for each device, and a choice of state variable filter or graphic filter for the main output filter.

  • Improved user variation implementation for more precise variation control.

  • Aux send to effects for each device.

  • Effects channel with delay ramp, distortion, and delay effects.

  • ‘Random segments on copy’ function to bypass the previous version’s analysis stage.

  • ‘Random Segments’ window to quickly create new segments, with space and length settings.

  • User options for CPU reduction: hide graphical playheads / set number of voices used by each device.

  • Direct control of granular parameters by suspending the applications internal synthesis engine.

  • ‘User Playback Area’ for each device in order to give finer control of user playback position via MIDI.

  • Global Pitch tuning and variation settings.

  • Random pitch method by user defined scale or pitch range.

  • Option to alter pitches via MIDI by scale / range / keyboard interval.

  • Ability to view, add, edit, and delete segments.

  • Option to show segments of specific devices and/or user playback areas.

  • Better sounding state variable filters (by Tim Place of 74 Objects).

  • Reverb (by Tim Place of 74 Objects).

  • Ability to scale the application, for laptops with small screens.

And Feedback
  • Expanded Random Settings dialog, with random delay times based on millisecond or measure ranges.

  • Improved Granular synthesis play mode.

  • Polyphonic Sampler file playback mode with up to 10 voices.

  • Output Effects Section.

  • New ‘Play Free’ playback modes for interesting pitched playback of an audio file.

  • Darker/Refined User Interface.

  • Reverb (by Timothy Place of C74 Objects).

  • Improved state variable filters (by Timothy Place of C74 Objects).

  • New Instability and Strength controls to control delay time variation parameters.

  • Various user interface and internal changes to save CPU usage.

  • More parameters controllable via MIDI.

  • Ability to change the order of Output Effects / Reverb.

  • Visual Feedback of BPM for live performance.

  • More options for recording input source.

  • Ability to scale the application, for laptops with small screens.

  • Ability to Update / Delete Preset slots.

Read more →