User Details

Username: synthesizerwriter
Facebook: None provided
Account Status: enabled
Member since: Dec 06 2009
About synthesizerwriter: I've been in the music business since the 1970s, demoed synths (I co-hosted the UK Launch of the Roland D-50, for example), programmed loads of sounds, done a bit of reviewing and some columns for Sound On Sound magazine in the past, and done some ghost-writing too. I program things in a diverse range of languages (Quartz Composer, Python, Max, HTML...) and write M4L when I get time (I've been very distracted for the last few years for a number of reasons...). Oh, and I wrote the undergraduate textbook: Sound Synthesis & Sampling.

You can see my audio visualisations here:

My blog on musical topics:
(report this profile)

Devices by synthesizerwriter

Wavetable Sound Effects WSEmr0v01 Version 0.01
Wavetable Sound Effects WSEmr0v03 Version 0.03
Waverne mr Version 0.03
Differential Distortion Version 0.03
Delay Delay Version 0.01
Freq Shift Chorus 0v01 Version 0.01
INSTsineATMOSPHERE Version 0.03
Humaniser mr Version 0.02
Fhorus Version 0.01
PanAuto Version 0.01
DDFS Delay Delay Frequency Shift Version 0.01
AUDcolours Version 0.01
AutoFuzz Version 0.01
ProbablyGEN mr Version 0.06
SyncLimiter Version 0.03
Comber Version 0.01
Comber Version 0.01
Hairbrush Version 0.01
Hairbrush Version 0.01
Comber Version 0.02
LFO Limiter Version 0.01
Comber Version 0.02
LFO S Limiter Version 0.01
Wavetable Sound Effects mr Version 0.05
Wavetable Creator 512 samples Version 0.05
Dopplator Version 0.01
Squarer Version 0.01
ShaveWapery Version 0.04
gFreez-mr Version 0.04
Pitch Progression Grid mr Version 0.1
Comber Version 0.3
Noise Generator mr Version 0.4
Versatile Filter Version 0.3
Noise mr Version 0.2
Pitch Progression Follow mr Version 0.2
Rnd Echo Version 0.01
SpecD Version 0.01
TR2gen Version 0.02
PanEcho Version 0.01
Sine3Generator Version 0.02
Sine3GeneratorDark Version 0.02
Waivy Version 0.01
Quick Transpose Version 0.01
Quick Transpose dark Version 0.01
Sweeper Version 0.02
Saw4GeneratorDark Version 0.03
Field Echo Version 0.03
Field Echo dark Version 0.03
MIDI ProbablyCHORD Version 0.04
Missing Echo Version 0.01
MIDIfx-mr Version 0.05
MIDIKeyMon-mr Version 0.03
MIDIKeyMon-dark-mr Version 0.03
MIDIview Version 0.01
MIDI cc Version 0.03
MIDI cc tool Version 0.02
DLS Helper N Version 0.01
DLS Helper D Version 0.01
MIDI Probably Version 0.01
MIDI ProbablyZ Version 0.09
MIDI HugeNoter mr Version 0.01
MIDI KeyMonFull mr Version 0.03
MIDI KeyMonFull dark mr Version 0.03
MIDI ChromatixT mr Version 0.05
Dual Velocity mapper mr Version 0.02
MIDI ProbablyS Version 0.10
sFreez mr Version 0.04
dFreeze mr Version 0.05
MIDI ProbablyLFO mr Version 0.06
LFOLFO Version 0.04
LFOLFO Version 0.6
BankOSCmr Version 0.03
3rd Hand Version 0.01
MIDIccQuant Version 0.03
ProbablyR Version 0.11
Quick Transpose dark Version 0.02
Drum Flammer Version 0.02
Quick Transpose dark Version 0.03
Quick Transpose BW Version 0.03
Quick Transpose Audio BW Version 0.03
DJ On Button Version 0.02
Ironic Distortion mr Version 0.03
Quick Transpose perf JLS Version 0.03
MIDIccQuant8 Version 0.03
MIDIprobablyR Version 0.14
INSTframeOSCmr Version 0.2
MIDINoteScalery Version 0.07
AUD HexFrequencyShifter Version 0.04
AUDhexECHO Version 0.01
AUDhexSPATIAL Version 0.1
AUDpiPOde Version 0.04
AUDpiPOdePLUS Version 0.03
AUDpiPOde A Version 0.05
AUDhexCHORUS Version 0.02
AUDhexPPD Version 0.01
MIDIprobNV Version 0.02
MIDIrandomA Version 0.01
MIDIdifferentONE mr Version 0.02
MIDIsmoothD Version 0.01
MIDIprobD4 Version 0.03
MIDIoffGRID4 Version 0.03
MIDIprobPLUSD4 Version 0.03
MIDIfilterNOTEmr Version 0.1
MIDIswapNVmr Version 0.1
MIDIrandomABCmr02 Version 0.02
MIDIsmoothR Version 0.02
MIDIsmoothRRR Version 0.02
MIDIsmoothY Version 0.01
MIDIsmoothYD Version 0.01
MIDIdifferentTWO Version 0.07
MIDIchromatixN Version 0.01
MIDIchromatixONE Version 0.01
MIDImaPPP Version 0.03
MIDIdelA3mr Version 0.04
MIDIoneOF Version 0.01
MIDIdifferentTWO16 Version 0.08
MIDIccPROC1 Version 0.02
MIDIccTAP1 Version 0.01
MIDIccPROC2 Version 0.03
MIDImftLABELSfloat Version 0.01
MIDInonU Version 0.02
MIDIdistPROC mr Version 0.01
Ferrous Modulation CH Version 0.02
OnOff Emulation Version 0.02
MIDIccTWEAK mr Version 0.01
MIDIccTWEAK mr Version 0.01

Total Downloads: 121,076

Comments by synthesizerwriter


@FreddyFingaz Gosh! Thanks! Much appreciated. It is good to hear that my work is appreciated!

To set the colours LOCALLY in the plug-in, you use the little grey number next to the coloured rounded box under each almost-square box (with the user-editable text inside!). Select it and use the up/down cursor keys to change the colour, or drag it up and down with the mouse (as you can do with all Ableton values...). What I do is set them to more or less the same colours as on the Twister itself, and this also serves as a useful indicator of which rotary controls are active. The mapping of colours to numbers is not obvious, and although I'm sure there is a simple algorithm that drives it, I haven't been able to find out what it is, so this version gives you the default mapping... Sorry.

As for it not doing anything, then it does store the text for each of the rotary controls, something which neither Ableton Live nor the MIDI Fighter Utility2 can do. Are you reporting that it is losing the text?

@SamSaw2 @damocies1408 Sorry for the delay. I think I may now have figured out how to fix this. Please try version 0.02. Thanks.

@bbedar OK. First draft of revised version is now available - 0.03.

@SQMO. Thanks for your kind words!

@simonho Thanks for the feedback! Make sure to get the 0.02 update to fix a bug in channel B.

Has anyone else had any problems with the presets?

@broah Thanks for the feedback!

OK, Update. Just re-tested using Ableton Live 10.1.7. Everything seems to work for me.

Curious. I tested all of these functions before releasing the device. So I retested the device (the computer has been rebooted several times since I did the last testing on this device, and I produced MIDIswapNVmr01 on that computer over the last few days).

I tried loading the saved .als file and that worked ok for me. The preset buttons work ok for me. Saving a snapshot of the device works ok for me. I added another device to a different channel and that worked independently of the first channel, with no resetting of the preset memories. I saved the .als file and reloaded it, and everything was ok for me. I added two devices to another channel without any resets in the other devices and they worked, loaded and saved independently for me.

So I'm afraid that I'm having trouble locating the problem at the moment. What version of Ableton Live are you using? What OS are you running?

Oops! Sorry about that. I will have a look.

Updated to Version 0.2. Detune control added, plus I have improved the stereo output.

@SamSaw2: That's refreshingly different! My first instinct would have been to do that with a modular step sequencer!

@Mecanique22 I haven't been able to reproduce the problem, so I have done various bits of tidying up to see if they affect it...

What I mean is that the three 'Map' buttons are visible in MY instance of Live, which has gone through several updates - currently on 10.1. Your experience may of course differ!

This is curious. I developed this using Live 10, and the three 'Map' buttons are visible. I the [X] 'uncap' button visible?

Thanks again to blortblort for noticing my programming errors! These should now be fixed...

@zklaus Thanks for the feedback. Much appreciated! I have to confess that I haven't played around with using M4L plug-ins inside Max. I will have a look... (Thanks for setting me along this path!)

@Mecanique22 Oh dear! this isn't what is supposed to happen. I will have a look and see if I can find out why this is happening.

@groovmekanik Thanks for the feedback! Much appreciated.

@broah Thanks for your feedback. Enjoy!

@broah Thanks for your feedback. Enjoy!

@NeonBreath. Phew! Crisis averted... Thanks for your feedback - hugely useful!

@NeonBreath. Ah, my favourite part of software development! On my system, all parameters are saved and recalled ok. I have rechecked all of the parameter settings and done some tidying up. Try this new version. If no success then we enter the dark realm with the usual opening incantation: What platform, OS, and Live/Max/M4L versions are you running?

@NeonBreath Thanks for the feedback! I've made a few changes to try and fix the storing issue you have experienced. Let me know if version 0.02 fixes it. I have also increased the 'Umph' on the Mains Modulation section...

@Kuzma. Yes, this is a classic problem with any device that transposes MIDI notes whilst they pass through it as a stream - if the transpose happens before the Note Off message then the Note Off message no longer matches to the Note On (It is now an 'orphan' message because it wants to close the untransposed Note On that no longer exists...). I use the 'flush' object, plus an additional 'held' note detector to try and prevent this happening, but it isn't always 100% effective. Ideally, notes should be stored in a queue and processed as pairs of NoteOn/Off messages (This is what Ableton do in their 'Note Echo' device), but that approach is beyond my programming ability.)

Hmmm... There's something going on in Live 10 that is different to 9.7, and those glitches are definitely not meant to be there!

Sorry about this.

I'm investigating...

If you can't get any sound from this device, then remember that the four 'purple' buttons marked 'Saw','Ring','S&H','H&S' control the outputs for each of those sections - so just setting the Volume and Pan controls will not produce any output. You need to make sure that at least one of the section output buttons is highlighted (purple). Then go to the part marked [4] and set the pitch to a few hundred hertz. You should now hear a tone. You can modulate the pitch of this tone with the upper controls, and the modulation from earlier parts (1-3) with the lowest controls.

OK. Here's version 0.03f (version 0.03 is waiting in the wings in case anyone has problems). New controls, more timbral range, and some tiny new UI features. Enjoy!

@zenke. Argh! I meant 'consistently'.

@zenke. I have contacted Ableton and Cycling'74, and we could not reproduce a crash constantly, but we did find another interesting quirk, which version 0v02 should fix. Thanks again for your bug report - keep them coming!

@zenke. Thanks for the bug report. I've not had any crashes in Live 10 so far, and I'm quite a long way towards finalising the next version release candidate, so there's a lot of hours of continuous use after making the video and the audio demos. I will go back to 0v01 and see if I can find anything. You say it crashes Live? - after how long and are there any specific actions that trigger it?

Version 0.04 is a quick intermediate release whilst I do some tidying up internally, but it adds in my experimental 'Event Sync' where you can reset the main LFO's phase using MIDI Notes or the Sub LFOs, which should make it quite versatile in creating a range of useful live modulation effects. I'm trying this as an alternative to synching to Live's Transport. Output waveform selection has also been improved, but there's more flexibility coming in that space soon.

Version 0.03 adds many waveforms for the main LFO output, a few waveforms for the Sub LFOs, modulatable Sub2 waveform and modulatable main output waveform. It is now beginning to get interesting! I'm also starting to think that the 'Sync' version should be a separate device... Have fun!

Version 0.02 adds a wider range of multipliers (from x0.125 to x2048) and so now does multiplies and divides. I have also tweaked the Multiply 'laws' so you now get linear, powers using integers with 0.5 added, and plain old powers of 2. The visualises now work better, although the dynamic range of some controls is so high it still causes problems...

Version 0.06. Adds a new 'async' mode: 'Noise' - which gives jerky progress across the grid. Also added are three 'Nudge' buttons for live tweaking of the relative timings of the channels.

V06: 'Noise' timing source provides jerky progression across the grid instead of smooth. The average speed is the same as the 'Free' clock source. (I will post more details in my blog soon) The 'Offset' control has also been fixed.

User demo video link added...

Version 0.05. I think the bug should now be fixed. I also added constraint-based random modifications - please read the blog entry for more details...

Bug: Argh! Version 0.04 also adds a bug. I will fix it when I get back from presenting a paper at AES@NAMM 2018...

@b22: Version 0.04 builds on the previous release, and should make it easier to use the generative stuff, plus it adds random modify functionality.

@b22: OK. I have added generative/random functionality, triggered manually or automatically. I'm now considering a different device to explore some aspects of this a bit further... so keep watching...

@broah Thanks for the feedback. Much appreciated. Enjoy!

@b22: (revisiting this) Do you mean 'Random' as in ProbablyLFO? I can add this in the next version of ProbablyGEN, although I'd probably make it algorithmic/generative rather than purely random...

@b22: The 'Random' function is built-in. Just put more than one white cell in a vertical column (the lowest 'dark' bar includes off in the set of probable events) to get random velocities for that time event.

Alternatively (for detailed control of randomness) , try the Probably (Z or S for extra features) probabilistic sequencer series, (also on MaxForLive) where just about every aspect of a step sequencer can be randomised separately. Huge sequencing power but a very simple user interface!

All of this is ongoing development work, so we aren't anywhere near the end-point yet! You are just seeing the sprint prototypes...

I'm still investigating the pops...

@victorkashirin Thanks for the feedback. More modes in the next version...

Please don't take my M4L hacking as anything even remotely like a good example! At that mythical day when I have time, I may tidy things up properly - but for now, you will get ideas just out of their initial raw state.

Please don't take my M4L hacking as anything even remotely like a good example! At that mythical day when I have time, I may tidy things up properly - but for now, you will get ideas just out of their initial raw state.

OK. I have added 30 second defaults for the Attack and Release, and forced the loops to be always on (I always wanted them to be permanently On). I'm guilty of testing in my development environment, and not in a clean one. I'm working on fixing this... Please keep the feedback coming!

@zerli, OK - was just making sure it wasn't something obvious... I've just restarted it fresh and noticed that the attack and release are very long (over 3 hours). Try setting them to a minute or so, and let me know what happens. Thanks again for the feedback.

@zerli, OK - solo me aseguré de que no fuera algo obvio ... Acabo de reiniciarlo y noté que el ataque y la liberación son muy largos (más de 3 horas). Intente configurarlos en un minuto más o menos, y avíseme qué sucede. Gracias de nuevo por los comentarios.

@zerli, Sorry to hear about the problem. Is Play selected (rounded squares filled in with colour)? Are the level meters showing audio? Have you dropped samples into the boxes on the left?

@zerli, Lamento escuchar el problema. ¿Se seleccionó Play (cuadrados redondeados rellenos de color)? ¿Los medidores de nivel muestran audio? ¿Has dejado caer muestras en los cuadros de la izquierda?

Version 10 should fix a problem with the memories interacting with the grid. (Sometimes UI metaphor consistency is tricky!).

@zerli: ¡Muchas gracias por sus comentarios! Muy apreciado...

Version 0.04 ads new LFO functionality (various transfer functions), and I have tried to fix the audio problems (the granular playback was masking them very well). I found some clicks, but no drop outs, so I have fixed the clicks. As always, let me now of any bugs or problems.

Look out for sFreez_mr, a variation on gFreez_mr...

Version 0.09 provides a way to reset the grids to a default setting. Just click on the tiny blue circle in the lower right hand corner - in the 'Length' section.

To save your own personalised starting position, just save ProbablyS in your User Library and add that '.adv' to tracks instead of the '.amxd'.

Version 0.09 provides a way to reset the grids to a default setting. Just click on the tiny blue circle in the lower right hand corner - in the 'Length' section. To save your own personalised starting position, just save ProbablyS in your User Library and add that '.adv' to tracks instead of the '.amxd'.

Version 0.09 should also fix the annoying jump to 16 steps in the State grid.

Version 0.08 fixes the annoying sync problem if you try to do other tracks. It should now always be be in sync. As always, let me know if you find a bug...

Version 0.07 adds the preset storage - so now you can gradually build from a simple sequence to a complex one, or any other variation you want. This increases the usability and flexibility of ProbablyZ quite a lot.

So does 0v02 fix the problems? Oh, and I meant a 'MIDI' track in my previous comment...

Argh! Forgot to 'freeze' the device before posting. Ironic, I suppose! 0v02 should fix it... (and it seems to work best in an 'Audio' track...)

Sweeper is a quick taster of the forthcoming new version of Waverne, so it was coded quickly and some functions are not implemented!

I've refrozen the device and uploaded a new amid file. Please try reloading.

It is a stand-alone device, so is placed where you would put any instrument device. You can add effects afterwards - the 'Auto Filter' would be a good one to try. See my blog on 'Sweeper' for more details.

No sound for the default initialisation, or from dropped WAVs? Have you tried moving the 'Start' and 'Wave' controls? (Sometimes there's a bit of interaction...)

SpecD, the dark version, is now available. Apologies for the delay.

So far, none of my stuff is really finished or commercial quality, so I don't impose licenses - but an attribution is always welcome.

Okay, I've now added simple 'drag and drop' functionality as 'Table W', plus a few other enhancements. Thanks for the suggestion - it is now much more like a warped version of Simpler...

Thanks for all the positive feedback! I'm working on a revised version...

OK. SoundCloud demos (bassline and drums) prepared and posted.

I'm working on a YouTube video, but I will prepare some SoundCloud examples tonight. Essentially you have a shaped pulse (from squar-ish to smooth) that dips the delay time towards zero at the same time as raising the feedback to 100%. The pulse can be anywhere in the bar (via the swing).

Hmm - this has set me thinking, and I will see if I can add this functionality...

Sorry - there are 10 wavetables included, but there is no option to drag and drop a wav file.

Updated to fix Wet/Dry mix and balance. Minor changes to other controls.

lek, I've re-examined the Max code and can't see any reason that the Dry/Wet mix control should not work for you. Has anyone else had this problem?

Apologies to wasili and Jimbabwae, but I've not been able to find anything wrong with the dependencies or freezing, so I'm not sure what it is. However, I've rebuild it with newly named wavetables to see if that helps, so 0v01 is now replaced by 0v02.