From the original SynthMaker forum (2004–2014), with its members’ names and dates.
tester ·
I'm not sure which type of bandpass filters and in what configuration should be used in order to achieve desired results - very narrow filtering, very sharp edges (noise becomes a tone), predictable gain (i.e. equal filtering across the spectra; but some internal amplification of the whole spectra during the process would be probably required in order to exceed the 16 bit depth limit?), small frequency step size (like 1-2 Hz?). I'm attaching reference sound files of example input and of what I'd like to achieve. Filtering was made with cooledit FFT filter.
To avoid misunderstandings - this is an example of the end-result that can be achieved during the whole creation process, and that why I need to have some parameters under precise control 😉. I assume, that what is doable in cool edit - should be done with SM too; it's just beyond my technical knowledge right now.
Usable setup should be able to play 20 filters live at once (on 2GHz C2D at least). Help 🙂
adamszabo ·
Its just a bandpass filter with very high resonance. However that relaxing audio clip from the site sounds liek teh additive synthesis and not the filtering like you think.
tester ·
That relaxing clip above - is one of my own creations, made from scratch. 😉 What bothers me with such sound manipulations is the amout of time I must spend with CE's FFT filter, which is very cool tool, but difficult to use for such purposes. Easier would be to have a bunch of dedicated knobs and field values.
The thing I need is that very high level of resonance (and predictable gain behaviour of filtered spikes - type of BP filter I guess), great depth, and very precise degree of control over the freq band width. Otherwise - clips would not be as they are (tested at variety of widths per bands).
tester ·
The problem I have is getting such high resonance (tried with rjb, SM biquad). Plus - doing this with no gain issues. Plus - starting filters below 100Hz. Simply don't know how to configure these things. Or through FFT module? Again the question remains. High resonance.
Xtinct ·
How about an OSM so people can optimise it ?
tester ·
Whatever noise as input (can be SM stock gen), and (which one?) bandpass filter. There is no sense of optimising something that does not exist yet. RJB filters seem to work at very low resonance, and these might be the only candidates I think (bandpass2 as far I remember - constant gain; SM is installed on another rcomputer), but I can be wrong. If I was sure what is required as a base for such filter, then I would post an OSM for optimization. I guess this topic starts from zero point. Even my knowledge on filters (FFT resoluion related) is based on different parameters than used here. I know how to produce proper sounds using filters, not how to produce filters. 😉
martinvicanek ·
You could use an RBJ Bandpass2 with very high Q. Example: Q = 5000 at 440 Hz resonance frequency will result in a bandwidth < 1/10 Hz. (RBJ can handle these extreme settings). If you feed the filter with white noise, you'll need to amplify because there is not much energy in such a narrow band. And note that with such high Q values the filter will need a few seconds to respond to any change at the input.
Xtinct ·
Sorry, with you saying you had a problem I thought you had a problem with some thing you were producing not just theoretical 😊
tester ·
Thanks martin, check on that later, when I'm on my SM computer. Good to know about extreme settings, these will be needed. So in order to get wider band at the same resonance sharpness - just a RJB pair of lowpass and hipass should be used per band, right? Which ones from RJB would be appropriate here?
Xtinct - step by step. In order to produce something, people need to know what they deal with. 😉
martinvicanek ·
tester wrote: So in order to get wider band at the same resonance sharpness - just a RJB pair of lowpass and hipass should be used per band, right? Which ones from RJB would be appropriate here?
The easiest would be to use the RBJ Bandpass2 and adjust Q (the corresponding input is labeled "Res"). There is a simple relationship: bandwidth = Q*centerFrequency (the latter labeled "Cutoff").
tester ·
Using BP without band control is maybe the easiest way, but not the best for sound quality. Having peak center instead of window means two problems. Lack of energy per peak, which means that amplifying the peak also results in noisy surrounding instead of pure tonal sound - just tested. According to my understanding - lack of energy should also touch the 16-20bit dynamic range, which starts at 96dB per 16bit (as far I remember). Second major issue is - the tonal stability of peak/window (emphasized dynamics so to speak). In my project I used manually controlled FFT "windows", in which few Hz wider or narrower band - made a huge difference on whole multiband matrix.
//edit:
...but as far I can see, RJB lowpas/hipass are not good for high resonance curves. So either these lowpas/highpass should be somehow modified in order to get sharper custom curves, or above bandpass should be somehow modified/splitted into hipass/lopass tandem in order to get the control over the band size. Here is the conceptual design made of RJBs (not working at high Qs).
martinvicanek ·
You might want to try a higher order bandpass filter then.
[old link]
tester ·
From what I hear in my small multitone test setup - this one (Butterworth) should work correctly; I'm getting proper tonal results. So I have a basis to start with, thank you very much. Few questions:
1) What is the formula for window width (bandwidth)? I'm reading this "Q (= inverse normalized bandwidth)", but something escapes me. Q=50 at 100Hz gives the bandwidth size....?
2) 10 poles = 10th order (10 units one after another) yes? How does this refers to edge/slope sharpness? I mean - 10 poles seem to be fine, but I'm curious how to approach the optimum amount of poles for my project.
martinvicanek ·
tester wrote: 1) What is the formula for window width (bandwidth)? I'm reading this "Q (= inverse normalized bandwidth)", but something escapes me. Q=50 at 100Hz gives the bandwidth size....?
bandwidth = centerFrequency/Q, so Q=50 @ 100Hz yields a 2Hz bandwidth.
tester wrote: 2) 10 poles = 10th order (10 units one after another) yes? How does this refers to edge/slope sharpness? I mean - 10 poles seem to be fine, but I'm curious how to approach the optimum amount of poles for my project.
Not quite. The "units" are 2nd order (= 2 poles) RBJ bandpass2 filters, so five of those in sequence (with properly selected parameters) will give you a 10th order (= 10 poles) Butterworth (= flat passband) bandpass filter. Each pole makes for a 6dB/octave transition steepness. However, a bandpass filter has two transition bands, so for a 10th order filter you'd have 30dB/octave steepness for each transition band.
tester ·
Okay, thanks for clarification. BTW - what is the max Q for this setup? 100? And if so - how this can be extended, so that at higher frequencies smaller bands can be captured (like at 3000Hz window less than 10-20Hz instead of 30Hz limit)?
tester ·
Hey Martin, could you make that BP filter in higher degrees, for sharper edges? I see that there are repeating RJBs (yet as far I remember "synchronize all" in SM ignores field values; maybe there are that kind of variations inside too), but there are also some modules with different values, so I don't know how to make it correctly.
martinvicanek ·
Hey Tester,
sorry, I don't have SM here. However, 10th order is already very close to a brickwall filter. If you really need a steeper cutoff, try two 10th order BP filters with same center frequency in a series.
tester ·
Thanks, I just realized yesterday, that I can do this 😉 In order to get fine-tuned results (in terms of quality and audible effects) - I needed to connect not 2 but even 3 units per band. I see that these filters are quite nice - 20 bands in use, 3 filters per band (in stereo setup via mono4), and still - CPU usage is not so heavy as I thought it could be.
tester ·
Ehm... Now in other direction for other purposes. How to make a similar filter like this bandpass, but working as a band reject? (different purpose; removing single frequencies).
martinvicanek ·
added bandstop filter pack here.
tester ·
Thanks!
Wrote something here? To have a post removed or your name hidden, write to [email protected].