Filter Ver 1.01 By Jamie Mueller (Items new to 1.01 are listed at the end of this file.) Filter is a simple program based on the principles of digital signal processing. The program uses 256 point FHTs (Yes 'H' for Fast Hartley Transforms, but more on that later) to filter out different frequencies according to a filter you design. You can load (in fact you have to, to get any results out! :) an IFF sound file and filter out unwanted frequencies (i.e. noise) and save it back to another file. The loaded file MUST be an IFF sound file, not raw or otherwise. To design the filter just click in the "Filter Characteristics" window and draw in a filter (the mouse pointer will draw wherever you move the mouse, but the graph will only be updated when you let go of the left mouse button). The filter is designed in decibels; from 0 to -60 db (no amplification because if the sample already uses all 8 bits of the sound where would it put the 'extra' information??) NOTE: A db is 20 times the log of the 'gain' so a gain of -60 db would be equal to multiplying that frequency by 0.001 (if it sounds complicated, just play with the program, you'll figure it out! :). In addition to the Filter Characteristics; a plot of the original and filtered data can be 'opened' (under windows on the menu). These plots are also in db (NOTE: These plots will never show a negative db because that corresponds to a decimal and the Amiga stores the audio information in integers). The FHT transform used in the program computes the same information as a FFT would except that the 'butterfly' routine has half as many multiplies as a comparable FFT! This translates to a little extra speed. For comparison, my PrintSpec program uses 256 point FFTs and it gets about .88 sec per transform. This program, however, realizes about .55 to .60 sec per transform. (NOTE: Both this program and the PrintSpec program use the FFP library for math). If you find this program useful (or otherwise) please let me know! I can be located on GEnie as C.MUELLER. (sorry about the other services as I'm not rich!). Items new to version 1.01: Version 1.01 just 'removes' the small file limitation imposed by version 1.00. Filter can now filter files up to (almost) 1/2 the size of available RAM (both chip and fast). (Only 1/2 the size becuase two buffers are allocated: 1 for the original data and 1 for the filtered data). To give you an idea as to how long a 'large' file can take: I filtered a 360k file on my standard 1 Meg A500: the initial pass at loadup took 20 minutes, and applying a filter took 40 minutes! (@ 2845 transforms to do)! I anyone uses Filter on a 68020 system please let me know how fast it runs on your system (I'm just curious). Jamie C.MUELLER