I have ported over a selection of NES-Spectrale and NES-Tools as Max for Live devices. Most function as audio signal processors, but two of them process the FFTs of sounds, and one functions as a granular production instrument. Of special note are:
NES-Brassage02: Which granulates a sound loaded into the device itself, and
NES-Interpolate: Which freezes two slices of sound and interpolates between their frequency content over the set interpolation period.
Special care has been taken to make the devices below capable of multiple, independent instances in Live.
Download and unzip: NES-Max-for-Live Then install the devices in Ableton Live 10.
Read the Readme PDF file first, to get an idea of how the devices function in Ableton Live.
Detailed notes
The NES-Max-for-Live suite is as follows:
NES-Biquad | Implements a two-pole two-zero filter (for 2 channels) |
NES-Brassage02 | Granulate a sound loaded into the device itself |
NES-CombFilter5 | Implements 5 Comb filters |
NES-DelayTaps | Up to 32 delay taps |
NES-DopplerPan | Simulate a Doppler effect |
NES-Interpolate | freezes two slices of sound and interpolates between their frequency content over the set interpolation period |
NES-PitchEcho | Pitch shifter with vibrato & feedback |
NES-Resons32 | Up to 32 simultaneous resonators |
NES-SpectralDelayDistort | Combines distortion via multiplication and addition to the FFT index, and adds delay and feedback, frequency bin by bin |
NES-Biquad
Implements a two-pole two-zero filter (for 2 channels)
Use independently or use the ‘Link’ switch to allow the left controls to apply to the right channel too.
NES-Brassage02
Granulate a sound loaded into the device itself. Click ‘load sound’ to load a sound file.
Click ‘on’ to start granulation. Either select a section or press play or loop to provide the source for granulation. Then vary the granulation parameters.
Note: In contrast to some other Live granulators, special care has been taken to make this device capable of multiple instances in Live. Try it in different live channels, with different sounds loaded.
NES-CombFilter5
Implements 5 Comb filters
NES-DelayTaps
Up to 32 delay taps
The X-Y controller allows you to change the min/max delay amounts simultaneously.
NES-DopplerPan
Simulate a Doppler effect
NES-Interpolate
NES-Interpolate freezes two FFT slices of sound and interpolates between their frequency content over the set interpolation period (Interp Time). By default, this is 7.7 seconds, but the value can be varied from very short to very long. As long as the sound file is playing, periodic snapshots of the spectrum of the sound will continue, with interpolation happening between the latest two snapshots.
As this is quite a unique effect, here are some detailed instructions:
- Load this device into a Live audio track and load a sound into the track and play it using Bypass FX at the moment. Adjust the levels to make sure you can hear it.
- Turn “Interpolation” ON. The interpolated spectrum will appear below for each of the left and right channels.
- Turn Bypass FX off, and you will hear a progression from one timbre to the other. The wet/dry control determines how much of the original and the effect you can hear.
- “Elapsed Time” shows the current time since the last spectral snapshot. When it reaches the interpolation time, a new spectral snapshot happens, and a new interpolation begins between the latest two spectra.
- “Denoise” allows you to remove frequency bands below the set threshold. If you can’t hear anything, decrease the threshold level.
- “Freeze 1” and “Freeze 2” allow you to manually jump to a new freeze point in the looping sound file.
- “Play 1”, “Play 2”, and “Play Inter” permit you to play either snapshot alone, or the interpolation between the two. It is normally set to “Play Interp”.
- Vary whatever you can to create the evolving that effects you want.
- Remember that audio input can also be subject to the same treatment.
NES-PitchEcho
Pitch shifter with vibrato & feedback
The X-Y controller allows you to change the transposition amounts simultaneously.
NES-Resons32
Up to 32 simultaneous resonators
The X-Y controller allows you to simultaneously change the lower frequency value and the difference between this lower value and the upper value.
NES-SpectralDelayDistort
Combines distortion via multiplication and addition to the FFT index, and adds delay and feedback, frequency bin by bin.
Instructions:
- Start with the Dry/Wet control turned to 0% at the moment. Adjust the levels to make sure you can hear the source sound.
- You will also be able to see a spectrum plot for each channel by choosing ‘left/right’ on the right of the device.
- Turn up the Dry/Wet control and observe the sound with just the default delays and feedbacks.
- Try changing the Distort Spectrum ‘Mult’ and ‘Add’ dials to observe the results both aurally and on the spectral plot.
- You can draw in the function tables to change the Feedback and Delay on a per FFT bin basis.
- Record any output you may desire to keep.
System Requirements
NES-Max-for-Live requires Ableton Live 10. It has only been tested on a Mac running Mac OS Mojave version 10.14.5
Attribution and Acknowledgements
The NES-Interpolate device is adapted from Jean-François Charles’ patchers See:
http://www.jeanfrancoischarles.com
Many thanks to the other Max software developers for making their I/O and other code available. Here is a list of the original code sources:
NES-Biquad Based on biquad~.maxhelp
NES-Brassage02 Based on the Max example Granularized.maxpat and its
associated sub-patchers
NES-CombFilter5 Based on “Max CombFilterMulti” M4L plugin
NES-DelayTaps Based on “Max DelayTaps.amxd”, distributed with Max 7
NES-DopplerPan Uses Max’s M4L DopplerPan, which was Inspired by
Les Stuck and Ben Nevile’s Doppler patch (Max
examples)
NES-PitchEcho Based on “Pitch & Echo.amxd”, distributed with Max 7
NES-Resons32 This is a variation of the M4L Delay Taps patcher, where
variable frequencies are substituted for variable delays.
NES-SpectralDelayDistort Based on ‘Max SpectralDelay.axmd’ with my own
corruptions added
If you use any of the above, please acknowledge the relevant original sources, and the following references/inspirations.
References
Zack Settel & Cort Lippe (1994) Real-time timbral transformation: FFT-based
resynthesis, Contemporary Music Review, 10:2, 171-179.
Jean-François Charles (2008) A Tutorial on Spectral Sound Processing Using Max/MSP and Jitter. Computer Music Journal, Volume 32, Number 3, Fall 2008, pp. 87-102.
GRM Spectral Transform and Evolution: http://store.inagrm.com/en/
Limited Liability and Safe Use
NES-Max-for-Live is distributed free to the Max/Live user community “as is”, and is not supported in any way.
Make sure you begin its use by having all your levels turned down, so you don’t break anything, like your speakers (or your ears). Always monitor at levels designed to preserve and protect your hearing (you only have one set of ears for life).