iorewmemory.blogg.se

Max msp fft
Max msp fft




  1. Max msp fft full#
  2. Max msp fft software#

This process must occur iteratively on each analyzed FFT window. This table is then read index by index, while each index is copied to a second table according to a mapping function given in a third table. In other words we need to be able to write the analysis data to a table. Here we need an opcode that can manipulate the index of the analyzed FFT bins in order to remap the FFT data, before sending it to the resynthesis engine. Glancing through the list of PVS opcode it is clear that no opcode exists to allow frequency warping as demonstrated by the GRM tools (see the above section). In short, the FreqWarp interface makes it possible to manipulate and tweak a highly abstract FFT algorithm in a perceptibly coherent manner.

max msp fft

Subtle manipulations will of course create more natural results. For instance, by inverting the default function, one can invert the distribution of spectral energy in the output signal.

Max msp fft full#

In practice what the user influences is the amplitude or energy distribution of FFT bins across the full frequency range. This simple manipulation of the FFT data can yield highly radical results. Thus if the function is a straight line from zero to FFT size/2, the analyzed signal is synthesized again unaltered: input data for bin one is mapped to output bin 1, input data for bin 2 to output bin 2, and etc.

max msp fft

The vertical axis represents the output bin destinations, to which the input bin's frequency and amplitude data are copied. The horizontal axis (marked input) represents the original mapping of the analyzed signal with the bins arranges from zero to FFT size/2. This function represents and controls the remapping of the FFT data (frequency and amplitude). As the picture above shows, the main part of the interface comprises of a function, drawn on an XY graph. Its effectiveness is due to its ingeniously coherent interface, which allows the manipulation of the analyzed FFT data. In principle this plug-in is rather simple. The reader is expected to be familiar with both Csound and Max (MSP is not discussed here), although the Max part can be ignored by those only interested in the core DSP engine of the program.įigure 1: The GRM Tools graphical user interface. What follows in this article is a general description of the frequency warping method used by the GRM tools followed by a Csound implementation with Max based graphical interface. Furthermore, as the project evolved, more functions were added to the interface, expanding the possibilities offered by the GRM tools GUI (Figure 1). I soon realized that a Csound/Max implementation can indeed compare well with the GRM tools plug-in. Since Csound itself does not offer a table manipulation GUI widget, a third party language must be used to program the interface, and what better excuse to delve deeper into the possibilities offered by combining Csound and Max/MSP (using the external Max object csound~). 512 bins for an FFT size of 1024 samples) to arrive at the "warped" spectrum. In addition, a GUI similar to that found in the GRM plug-in must be considered an indispensable part of this algorithm-it is crucial that the user can easily and coherently manipulate all the available FFT bins (e.g. Initially, this project started as a double challenge: first, to test and expand my ability at coding, and second, to examine the flexibility of Csound's PVS real-time spectral processing opcodes.

max msp fft

Given its highly esoteric character, an attempt to duplicate or implement this plug-in again in Csound may appear trivial and even uncreative at first. One could go as far as to say that this GRM plug-in is unique both in concept and execution: frequency warping as an abstract concept belongs to a rather obscure territory, with no single standard definition, DSP application or method of implementation.

Max msp fft software#

In fact, I have yet to find another frequency warping software tool that combines a decent sounding FFT algorithm with such a flexible and easy to use interface, as demonstrated by the FreqWarp plug-in.

max msp fft

The GRM tools plug-in FreqWarp (part of the plug-in package "Spectral Transform Tools") is perhaps one of the most widely known and used implementations of frequency warping.






Max msp fft