Reply by Richard Dobson November 19, 20082008-11-19
Glen Herrmannsfeldt wrote:
..
>> It's been done: > >> http://chameleon.synth.net/english/index.shtml > > Pretty neat. Though I meant one more oriented for > home use than professional studios. The price > (and feature set) would be smaller, but the potential > market much larger. >
It's not really aimed at pro studios, but home studios, gigging groups who fancy the challenge, and hobbyists, and the increasing number of amateur VST programmers (in the sense of those who distribute them mostly as freeware via forums such as KVR) who want to get into hardware given the tools. It a very variegated market out there these days. Conventional pro studios will not be interested in devoting lots of time to designing algorithms on the offchance some client will want to use them. I don't know how many Line6 ToneCore kits have been sold, that would be an interesting statistic. The difference with Line6 is that they have a large established product line into which ToneCore literally plugs, so their bottom line is not dependent on dsp kit sales. With the Chameleon it was a small company with a single product with high overheads, and they sold some 500 systems (according to the info on their forum). Now maybe a product at a lower price point would sell more, but the Chameleon was really about as small a system, in useability and stage-performance terms, as one would want to devote a lot of energy to. I resisted because I wanted more audio channels (being interested in surround sound), and ideally 2 dsp chips to stand a chance of making a phase vocoder at a decent sample rate). That was going to be the Mark II model, but they cancelled it for lack of resources. The proportion of kitchen-table VST programmers who would like to try hardware dsp is still likely a small proportion of the whole. At the truly "pro" end of the market, one can get developer status for Digidesign pro Tools for free if one can prove competence and clear product plans - but the HD hardware is far from cheap. The developer kit for the Creamware Pulsar/Scope platform (multiple Sharc dsps) is very expensive (last I heard, �10000), so clearly not aimed at hobbyists at all. That puts the Chameleon into some sort of context, anyway. Richard Dobson
Reply by Glen Herrmannsfeldt November 18, 20082008-11-18
Richard Dobson wrote:
(snip, I wrote)

>> How about a box with stereo line in/line out that would fit >> in with the rest of an audio system. Also with USB or ethernet >> so one could connect to it and load new programs.
>> It would have A/D converters on the inputs, D/A converters >> on the outputs, and a completely programmable DSP in between.
>> A front panel with some LEDs that the DSP could also control >> might be nice. Maybe some front panel switches to select >> between previously loaded programs, such as different >> equalization curves (implemented as separate DSP programs).
> It's been done:
> http://chameleon.synth.net/english/index.shtml
Pretty neat. Though I meant one more oriented for home use than professional studios. The price (and feature set) would be smaller, but the potential market much larger. -- glen
> but hardware supply has just about ground to a halt (uneconomic), though > the user community is still very active. Line6 have developed a dsp > development plugin module (Freescale-based) for their modular > "ToneCore" footpedal system. No MIDI though, which limits it as a > general-purpose development system. > > But the canonical route these days is to develop software plugins using > variously VST, AudioUnits, DirectShow, in order of popularity. > > > Richard Dobson
Reply by Richard Dobson November 18, 20082008-11-18
Glen Herrmannsfeldt wrote:
> jungledmnc wrote: > (someone wrote) > >>> 2) EQ as in an adaptive equalizer where a digital demod is >>> compensating for linear distortions in a channel? > >> Well, I mean the audio related stuff. > > How about a box with stereo line in/line out that would fit > in with the rest of an audio system. Also with USB or ethernet > so one could connect to it and load new programs. > > It would have A/D converters on the inputs, D/A converters > on the outputs, and a completely programmable DSP in between. > > A front panel with some LEDs that the DSP could also control > might be nice. Maybe some front panel switches to select > between previously loaded programs, such as different > equalization curves (implemented as separate DSP programs). >
It's been done: http://chameleon.synth.net/english/index.shtml but hardware supply has just about ground to a halt (uneconomic), though the user community is still very active. Line6 have developed a dsp development plugin module (Freescale-based) for their modular "ToneCore" footpedal system. No MIDI though, which limits it as a general-purpose development system. But the canonical route these days is to develop software plugins using variously VST, AudioUnits, DirectShow, in order of popularity. Richard Dobson
Reply by Glen Herrmannsfeldt November 18, 20082008-11-18
jungledmnc wrote:
(someone wrote)

>>2) EQ as in an adaptive equalizer where a digital demod is >>compensating for linear distortions in a channel?
> Well, I mean the audio related stuff.
How about a box with stereo line in/line out that would fit in with the rest of an audio system. Also with USB or ethernet so one could connect to it and load new programs. It would have A/D converters on the inputs, D/A converters on the outputs, and a completely programmable DSP in between. A front panel with some LEDs that the DSP could also control might be nice. Maybe some front panel switches to select between previously loaded programs, such as different equalization curves (implemented as separate DSP programs). -- glen
Reply by jungledmnc November 18, 20082008-11-18
>to the OP... > >there are two common usages for the term "equalization" or EQ > >Are you taking about: > >1) EQ as in audio where you want to taylor the frequency response, i.e >fancy tone controls > >or > >2) EQ as in an adaptive equalizer where a digital demod is >compensating for linear distortions in a channel? > >Mark >
Well, I mean the audio related stuff. dmnc
Reply by Mark November 14, 20082008-11-14
> > >> I'm wondering, if there is no problem in equalization with DFT. Simply > >> window �the source signal, DFT, mutliply each frequency bin by a real > >> value > >> defining it, and IDFT. This would even be zero-phase filtering > >> wouldn't it? > > >
to the OP... there are two common usages for the term "equalization" or EQ Are you taking about: 1) EQ as in audio where you want to taylor the frequency response, i.e fancy tone controls or 2) EQ as in an adaptive equalizer where a digital demod is compensating for linear distortions in a channel? Mark
Reply by Richard Dobson November 14, 20082008-11-14
Glen Herrmannsfeldt wrote:
> jungledmnc wrote: > >> I'm wondering, if there is no problem in equalization with DFT. Simply >> window the source signal, DFT, mutliply each frequency bin by a real >> value >> defining it, and IDFT. This would even be zero-phase filtering >> wouldn't it? > > Not the question you asked, but I wondered (and asked here) > some time ago about very long FFTs, such as a whole CD. > (Well, maybe each track separately.) As it is O(N logN) it > shouldn't take so long, but you do have to be careful in > memory use patterns for efficient use of the cache. > > If you really do FFT a whole CD track then it doesn't seem so > hard to filter and IFFT it. > > -- glen >
It's been done (needless to say, for "creative" processing) (watch out for line wraps): http://www.notam02.no/index.php?/nor/Teknologi-og-tekst/Programvare/Mammut-help Richard Dobson
Reply by Glen Herrmannsfeldt November 13, 20082008-11-13
jungledmnc wrote:

> I'm wondering, if there is no problem in equalization with DFT. Simply > window the source signal, DFT, mutliply each frequency bin by a real value > defining it, and IDFT. This would even be zero-phase filtering wouldn't it?
Not the question you asked, but I wondered (and asked here) some time ago about very long FFTs, such as a whole CD. (Well, maybe each track separately.) As it is O(N logN) it shouldn't take so long, but you do have to be careful in memory use patterns for efficient use of the cache. If you really do FFT a whole CD track then it doesn't seem so hard to filter and IFFT it. -- glen
Reply by Richard Dobson November 13, 20082008-11-13
Andor wrote:
..
> > You forgot the Weiss linear-phase EQ. I think we were the first ones > to offer a stand-alone linear-phase EQ. >
Indeed. But that is hardware, is it not? I was only thinking of plugins, and the few of them I know about.
>> Possibly all of >> them use FFTs, > > Nope. I would say half / half: FFT filtering and filtfilt filtering. > >> but I suspect Algorithmix at least is doing some thing >> very esoteric as their EQ, while praised to the skies (used at >> astronomical sample rates for such things as SACD mastering), is >> vveerryy slow, and uses huge impulse responses of over a second. > > Interesting - I don't see why that would be necessary. The Red or the > Blue? >
I only tried out Red (which they say works in the frequency domain). They present it as being "analog-sounding" (while still being L-P); and parameters can be time-variable just like conventional EQs. But my PC was way too slow to get it even close to real-time, except on the low-quality settings. And they make much fuss about allowing very low freq changes without side-effects (the "fat bottom end" stuff), at srates up to 384KHz). But as I am not a mastering engineer (nor even a mixing engineer) (nor really an engineer of any category at all, except when I had my lathe and milling machine), the finer points of all that are somewhat beyond me anyway. ..
> Richard, would you be interested in an EQ where you could continuously > vary the phase from minimum to linear phase response while keeping the > amplitude response constant? >
It sounds the sort of thing that would very likely interest pro-audio people - things that can be time-variable are always popular! If it can emulate things such as Manley tube EQ (which in turn emulates the old Pultec hardware) even better. Such things are not my own area of interest though; I am very much in the weird-wacky phase vocoder transformation and mangling end of things (even unashamedly zeroing FFT bins ad lib). I would want to know if I could control the minimum-linear state from an LFO, much more than I would care if it emulates this or that expensive analog kit. So is that a product, or just a twinkle in the eye for one in the future? Richard Dobson
Reply by Jacob November 13, 20082008-11-13
On Nov 13, 12:31&#2013266080;pm, Jerry Avins <j...@ieee.org> wrote:
> foxcob wrote: > >> Jacob wrote: > >>> On Nov 13, 8:46 am, Jerry Avins <j...@ieee.org> wrote: > >>>> foxcob wrote: > > >>>> &#2013266080; &#2013266080;... > > >>>>> Isn't using a not rectangular window the same as using the window > > method > >>>>> of FIR design? > >>>> No. One isn't *designing* a filter (chosing the coefficients), but > >>>> *implementing* one (doing quickly with FFTs what might take longer > > with > >>>> a classic transversal structure). > > >>>>> &#2013266080;Along those lines, having a brick wall filter would result > >>>>> in a windowed sinc type filter correct? > >>>> A sinc filter would be brick wall, but you'd have to wait too long > > for > >>>> the output. Once the sinc is windowed, the wall leans. > > >>>> Jerry > >>>> -- > >>>> Engineering is the art of making what you want from things you can > > get. > >>> Jerry, &#2013266080;I understand what you're saying. &#2013266080;What I mean is that if I > >>> were to apply a hamming window during overlap-add and correctly > >>> setting the overlap amount, wouldn't this have the same effect as > >>> designing the filter using the window method with a hamming window? > >> No. you don't understand what I tries to get across. The FFT that is > >> part of overlap-add is not by itself a filter. A proper way to design > >> the frequency mask for use with this method if to select the impulse > >> response corresponding to the filter you want, and then FFT that to get > >> the mask. A hamming or other tapered window can be useful in making a > >> mask for an FFT FIT, just as it is when calculating coefficients for a > >> transversal FIR. > > >>> Isn't the purpose of using the window method to prevent infinite tails > >>> AND to define what happens between the bins? > >> No. Not when filtering. That is one purpose, but it's not applicable > >> here. Steve Smith's excellent book is available free on line, chapter by > > >> chapter. Steve posted a link to one chapter, but you might want to read > >> more. > > >>> &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; &#2013266080; So although a brick wall > >>> filter will not truly be a brick wall, we would have a filter that > >>> more closely resembles that without the strange side effects of IR > >>> truncation. &#2013266080;Am I correct in this thinking? &#2013266080;I'm somewhat new to DSP, > >>> but I'm trying. &#2013266080;:-) > >> Overlap-add is a complicated but fast way to implement convolution and > >> as such can be used to make FIR filters. If you have no need to spend > >> complexity to buy time, use the conceptually simpler transversal > >> structure. (Steve wrote that too.) Instead of determining the > >> coefficients by windowing a truncated calculated impulse response, use > >> an FIR generating program like ScopeFIR (http://www.iowegian.com) to get > > >> an optimized set. > > >> Jerry > >> -- > >> Engineering is the art of making what you want from things you can get. > > > Jerry, > > I'm pretty sure I've understood what you're saying so far. &#2013266080;BTW, I've read > > the material at those links before, Lyons book, and a couple others. &#2013266080;I > > think I am getting a grasp on this stuff, but I think I may have not been > > very clear in explaining myself. &#2013266080;I understand that the overlap-add method > > is not a filter by itself and that it is a method of implementing an FIR > > filter. &#2013266080;I guess what I am trying to say is that if you know your desired > > frequency response, and the window method of filter design is acceptable, > > couldn't you do the following: > > 1. Take next block of samples > > 2. Window using window that meets criterion > > 3. FFT > > 4. Multiply by desired frequency response > > 5. IFFT > > 6. Overlap-Add > > > I understand that this skips the step of FIR filter design, but if I were > > using window method of design, the process would be: > > 1. Take desired frequency response > > OK. > > > 2. IFFT > > That gets you the mask; essentially the coefficients to be applied to > each bin of the result of the FFT of the data to be filtered. > > > 3. Window using window that meets criterion > > What criterion? Use the calculated mask. _That_ is the window you apply > to the data before the IFFT. > > > So couldn't you skip that step if you were going to implement the FIR > > filter using overlap-add? &#2013266080; > > What step? You don't window data that goes into a filter. You window the > data into a Fourier transform if that seems useful. Overlap-add > eliminates the end effects that make tapered windows useful because the > very nature of overlap-add eliminates the intermediate ends. > > Wouldn't this method be useful for filters > > > needing real-time manipulation such as an equalizer? &#2013266080;Sorry if I'm totally > > off and need to go back to the books. > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;
Jerry, I meant for the 3 steps above to be the steps of designing FIR filter coefficients by the window method. But thinking about it now, I think I have made an error in my thinking. Computationally it wouldn't make sense to window anyways since it would be done on every block instead of just on the filter, much less, it would not have the correct effect since windowing the sample data is different than windowing the filter. Thanks for the dialog. Jacob