NES-Max-For-Live

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)

NES-Biquad

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.

NES-Brassage02

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-CombFilter5 

NES-DelayTaps

Up to 32 delay taps

NES-DelayTaps

The X-Y controller allows you to change the min/max delay amounts simultaneously.

NES-DopplerPan

Simulate a Doppler effect

NES-DopplerPan

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.

NES-Interpolate

As this is quite a unique effect, here are some detailed instructions:

  1. 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.
  2. 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.
  1. “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.
  2. “Denoise” allows you to remove frequency bands below the set threshold. If you can’t hear anything, decrease the threshold level.
  3. “Freeze 1” and “Freeze 2” allow you to manually jump to a new freeze point in the looping sound file.
  4. “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

NES-PitchEcho

The X-Y controller allows you to change the transposition amounts simultaneously.

NES-Resons32

Up to 32 simultaneous resonators

NES-Resons32

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.

NES-SpectralDelayDistort

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