29 April 2007

mapWindow

mapWindow


v1.0 [pdf]
v1.1 [pdf]
In this document one can find everything about the mapping stage with windows, used for our iDAFx. Four possible windows are presented (but adding some others is a piece of cake). For each window a big one and a small one are possible. The big one is 1024-points large and the small one only 128, which agrees with the range of the MIDI message parameters. The effect is the same, but the latter is obviously less accurate.

windows.m is the m-file that is used to make these windows. Every table is then saved in a textfile and this one is used inside Pure Data.
[hammBig.txt] [hammSmall] [blackmanBig.txt] [blackmanSmall.txt] [gaussBig.txt] [gaussSmall.txt] [hannBig.txt] [hannSmall.txt] [windows.m]
We supply two blocks for applying a window to a control signal: windowBig and windowSmall. The documentation is given hereunder:


windowBig/windowSmall

This block applies a 1024-points/128-points window to a control signal. One can choose between different windows. One has to define an argument to use multiple instances of this block in the same patch without influencing each other.

version

v1.0: built 29/04/2007 with Pd v0.40-2 [pd]/[pd]
v1.1: built 30/04/2007 with Pd v0.40-2 [pd]/[pd]

interface

Input 1: a control signal ranging between 0 and 1024/128

Output 1: a control signal ranging between 0 and 1

Controls: a knob per window type

implementation


The values for each window are read from a .txt file (that have to be found in the same folder as the patch). Upon clicking a button, a bang is sent to the appropriate read message, and the right curve is loaded in the graph. The tabread block is then used to map the inlet to the outlet.
In v1.0 one could not use multiple instances of this block in one patch, because there was an unsolved problem with arguments. That is now solved with the help of Frank Barknecht. In two help-patches he explains all our oddities with dollarsigns. [dollars-help.pd] [dollars.pd] And his most beautiful solution was adopted, the one with the sends, which at the same time doesn't have the problem of difference between arguments in objects and arguments anyway.




No comments: