User Details

Username: synthesizerwriter
Website: www.martinruss.com/
Facebook: None provided
Twitter: twitter.com/martinruss
Soundcloud: www.soundcloud.com/martinruss
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: http://www.youtube.com/synthesizerwriter

My blog on musical topics:
http://synthesizerwriter.blogspot.co.uk/
(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
Humaniser mr Version 0.02
Fhorus Version 0.01
PanAuto Version 0.01
DDFS Delay Delay Frequency Shift 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
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.01
ProbablyR Version 0.11
Quick Transpose dark Version 0.02
Drum Flammer Version 0.01
Quick Transpose dark Version 0.03
Quick Transpose BW Version 0.02
Quick Transpose Audio BW Version 0.01
DJ On Button Version 0.01
Ironic Distortion mr Version 0.02

Total Downloads: 60,485


Comments by synthesizerwriter

Comments

@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.