Login / Register  0 items | $0.00 New#KVRDeals
Z1202
KVRian
 
842 posts since 11 Apr, 2002

Postby Z1202; Mon Nov 27, 2017 4:46 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

soundmodel wrote:Hmm, I think I need to read filter theory more then. I'm already doing my masters (in computational maths) and I still considered filter design to be "a bit tough". But then again, I've been reading mainly about Parks–McClellan and such.
Parks-McClellan is
- somewhat complicated compared to other stuff
- has very very narrow use (designing some very special FIRs, which you probably wouldn't need or use in >90+% cases of music DSP applications)

So, it looks to me you've been looking at stuff which is not really relevant to you, gaining a wrong impression about the complexity of the topic. Keep in mind, that most of the stuff in typical classical DSP texts is not the one of primary importance to a music DSP developer. I'd say one can even do without reading them at all, but rather looking up something music DSP specific. Music DSP field is a very special branch of DSP with a very different set of conditions and requirements.
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Mon Nov 27, 2017 5:49 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Z1202 wrote:
soundmodel wrote:Hmm, I think I need to read filter theory more then. I'm already doing my masters (in computational maths) and I still considered filter design to be "a bit tough". But then again, I've been reading mainly about Parks–McClellan and such.
Parks-McClellan is
- somewhat complicated compared to other stuff
- has very very narrow use (designing some very special FIRs, which you probably wouldn't need or use in >90+% cases of music DSP applications)

So, it looks to me you've been looking at stuff which is not really relevant to you, gaining a wrong impression about the complexity of the topic. Keep in mind, that most of the stuff in typical classical DSP texts is not the one of primary importance to a music DSP developer. I'd say one can even do without reading them at all, but rather looking up something music DSP specific. Music DSP field is a very special branch of DSP with a very different set of conditions and requirements.


Then instead of Oppenheim & Schafer, then what should I read for musical DSP only?
Z1202
KVRian
 
842 posts since 11 Apr, 2002

Postby Z1202; Mon Nov 27, 2017 6:30 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

soundmodel wrote:
Z1202 wrote:
soundmodel wrote:Hmm, I think I need to read filter theory more then. I'm already doing my masters (in computational maths) and I still considered filter design to be "a bit tough". But then again, I've been reading mainly about Parks–McClellan and such.
Parks-McClellan is
- somewhat complicated compared to other stuff
- has very very narrow use (designing some very special FIRs, which you probably wouldn't need or use in >90+% cases of music DSP applications)

So, it looks to me you've been looking at stuff which is not really relevant to you, gaining a wrong impression about the complexity of the topic. Keep in mind, that most of the stuff in typical classical DSP texts is not the one of primary importance to a music DSP developer. I'd say one can even do without reading them at all, but rather looking up something music DSP specific. Music DSP field is a very special branch of DSP with a very different set of conditions and requirements.


Then instead of Oppenheim & Schafer, then what should I read for musical DSP only?
In principle it depends on what kind of software with which features you're aiming to implement. However, under a kind of typical assumptions of music DSP I could suggest the following.

For the filters I'd (obviously :) ) recommend my own book (The Art of VA Filter Design) or Will Pirkle's Synth book (I haven't read it, but from the contents and previews it seems good). For basics of sampling theory (sampling theorem, sampling and restoration processes) I guess any DSP book would do, including O&S, although it might be better if it's music DSP specific. IIRC some are even freely available on the net, but I can't recommend any specific one since I haven't been looking into that stuff for a long time and don't remember the titles. For the rest I'm not sure, I guess you'll need to google around, maybe even not for books but tutorials and articles.

In the beginning I'd suggest to skip most of the Fourier theory, covering only maybe the most important facts and ideas, but not going into any detail (the introductory chapter of my book should give you an idea of which facts from the Fourier theory I'd consider important). And there I'd strongly suggest to start with continuous-time domain. And you can definitely skip the details of FFT algorithm implementations ;) The most important part here is understanding the relationship between time and frequency domains rather than learning any specific formulas or algorithms.

It's good to be aware of the FIR filters, but you can also skip them for now (unless your goal is designing things like linear-phase EQs).

So as you can see, most of the O&S (discrete time Fourier theory, FFT, FIR filters, IIR filters design by bilinear transform using direct form IIRs) is not high-priority ;)
Max M.
KVRist
 
207 posts since 20 Apr, 2005, from Moscow, Evil Empire

Postby Max M.; Mon Nov 27, 2017 6:52 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

For the rest I'm not sure, I guess you'll need to google around, maybe even not for books but tutorials and articles.


For the rest I recommend Zoelzer books and then just the RBJ-thing for a start (no need for a book when it's just about 20 lines of trivial formulae).

IIR filters design by bilinear transform using direct form IIRs


Bilinear-transform does not imply any specific topology like biquad. Every generic second-order topology fits, so the transform (or whatever strategy to get coefficients) should be treated as orthogonal to a filter topology in many cases. Like if I'm designing a classic parametric EQ I go with (maybe slightly modified) Simper SVF topo plus Christensen or MZTi coefficients calc (not quite a BLT but still related) for it. While any Moog Ladder VA mambo-jambo would be totally useless for me in this case.
Z1202
KVRian
 
842 posts since 11 Apr, 2002

Postby Z1202; Mon Nov 27, 2017 7:17 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Max M. wrote:
IIR filters design by bilinear transform using direct form IIRs


Bilinear-transform does not imply any specific topology like biquad. Every generic second-order topology fits, so the transform (or whatever strategy to get coefficients) should be treated as orthogonal to a filter topology in many cases. Like if I'm designing a classic parametric EQ I go with (maybe slightly modified) Simper SVF topo plus Christensen or MZTi coefficients calc (not quite a BLT but still related) for it. While any Moog Ladder VA mambo-jambo would be totally useless for me in this case.
To my knowledge most DSP books including O&S bind the bilinear transform discussion to the direct forms, which may give a wrong impression that BLT = direct forms. That's why I suggested ignoring that part in the O&S book, since any discussion of ZDF filters should cover the BLT topic as a byproduct (hopefully) anyway.

Edit: As for RBJ stuff it's highly useful, but one should be careful not to fall into the mentioned direct form trap (unless this is a conscious decision of course). Particularly, the coefficients in the RBJ do imply direct form implementation and one needs to convert them to use something like SVF. In my book I give most of the same formulas in the SVF output terms (in chapter 5). With Zoelzer one needs to be careful in regards to filter topologies, as AFAIK that book doesn't take ZDF topologies into account (which should be the number one choice in most typical cases).

Edit2: actually IIRC, RBJ also lists the analog transfer functions. So if one ignores the discrete time biquad coefficients and takes those instead, one can directly obtain the SVF modal mixture coefficients from there.
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Nov 27, 2017 9:42 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Z1202 wrote:For the filters I'd (obviously :) ) recommend my own book (The Art of VA Filter Design) or Will Pirkle's Synth book (I haven't read it, but from the contents and previews it seems good). For basics of sampling theory (sampling theorem, sampling and restoration processes) I guess any DSP book would do, including O&S, although it might be better if it's music DSP specific. IIRC some are even freely available on the net, but I can't recommend any specific one since I haven't been looking into that stuff for a long time and don't remember the titles. For the rest I'm not sure, I guess you'll need to google around, maybe even not for books but tutorials and articles.

Your book, definitely. Pirkle's is useless because of the bad code quality. There is also the Zolzer for general DSP.
stratum
KVRian
 
1360 posts since 29 May, 2012

Postby stratum; Mon Nov 27, 2017 9:48 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Pirkle's is useless because of the bad code quality.


That __stdcall stuff and the code quality is not so much disturbing, the existence of the code and other long uninteresting sections are, but mainly because the time is in short supply unless you are a student. Otherwise it would be useful.
~stratum~
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Nov 27, 2017 10:05 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Yes, I agree, he should have kept it at the theory.
But still, it's bad because people cite him as a reference and it gives bad advice for everything in terms of code (I mean, his virtual calls for each sample...)
Max M.
KVRist
 
207 posts since 20 Apr, 2005, from Moscow, Evil Empire

Postby Max M.; Mon Nov 27, 2017 10:31 am Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Z1202 wrote:That's why I suggested ignoring that part in the O&S book, since any discussion of ZDF filters should cover the BLT topic as a byproduct (hopefully) anyway.

Yes, I'd probably should stress that I mean that only in context of "the rest" (like in addition to your book and so on).
Indeed, most of those "general DSP" books are quite... phew for music-dsp (I recall how I was shocked to read some of them just to find out an author goes right to some crazy FIR and FFT stuff after 4 or 5 phrases literally ditching IIRs as useless... Like "Doh! I've just read 300 pages of some tricky math... and still has no idea of how to do a simple 1st-order high-shelf":) ).
So indeed, a more productive start probably would just be to skip the books at all (except the "music" specific books already mentioned above) and go straight to papers (of JAES, DAFX and similar) on the particular areas of interest.
camsr
KVRAF
 
6720 posts since 16 Feb, 2005

Postby camsr; Mon Nov 27, 2017 12:12 pm Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

You should use the RBJ filters, they are pretty good and can do most anything you want, as long as you're not trying to use it for analog simulation.
Image
stratum
KVRian
 
1360 posts since 29 May, 2012

Postby stratum; Mon Nov 27, 2017 12:14 pm Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Miles1981 wrote:Yes, I agree, he should have kept it at the theory.
But still, it's bad because people cite him as a reference and it gives bad advice for everything in terms of code (I mean, his virtual calls for each sample...)


They should learn c++ from somewhere else:)
~stratum~
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Nov 27, 2017 1:09 pm Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

stratum wrote:They should learn c++ from somewhere else:)

I agree. I hope one day there is a book on proper DSP theory and good modern C++.
dmbaer
KVRian
 
852 posts since 11 Nov, 2009, from Northern CA

Postby dmbaer; Mon Nov 27, 2017 1:19 pm Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Z1202 wrote:For the filters I'd (obviously :) ) recommend my own book (The Art of VA Filter Design)


Which can be found where?
Max M.
KVRist
 
207 posts since 20 Apr, 2005, from Moscow, Evil Empire

Postby Max M.; Mon Nov 27, 2017 2:14 pm Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

dmbaer wrote:Which can be found where?

The Art of VA Filter Design
dmbaer
KVRian
 
852 posts since 11 Nov, 2009, from Northern CA

Postby dmbaer; Tue Nov 28, 2017 12:54 pm Re: Honestly, do you always write filter algos by hand or are there some popular libraries?

Max M. wrote:
dmbaer wrote:Which can be found where?

The Art of VA Filter Design


Thanks. I know it looks like I was too lazy to use google, but the fact that the first search result was a Native Instrument site threw me off and I didn't try clicking it. Anyway, found it, downloaded it (free is good), and looking forward to checking it out (once I finish reading the Richard Lyons book).
PreviousNext

Moderator: Moderators (Main)

Return to DSP and Plug-in Development