saunaklub / etudes

Études audiovisuels
GNU General Public License v3.0
5 stars 0 forks source link

audio filter supercollider module #2

Closed drlight-code closed 8 years ago

drlight-code commented 8 years ago

I'd like to have a supercollider module which can be reused in different other ones, which does the following: Take audio input, apply a set of filters on it in parallel, do envelope following on the result and write the output as normalized float. This can then be easily used in specific installation patches to send to an osc etudes target input.

The idea is to have our modulations react to sound input, obviously. We would have predefined low/mid/hi which would be shelf filters I guess, with optional cutoff freq param, as well as more specific notch filters with center frequency and Q value for the isolation of specific voices or frequency ranges.

@claudiocabral I think that's one for you, do you want to do it?

drlight-code commented 8 years ago

actually for the notch filters we want a bandwidth parameter instead of Q for more intuitive definition. oh and they're called band-pass filters, i thought it's notch however that seems to be the inverse i.e. band-stop..

https://en.wikipedia.org/wiki/Band-pass_filter#Q_factor https://en.wikipedia.org/wiki/Band-stop_filter

claudiocabral commented 8 years ago

yeah, I can do it, no problems... just want to discuss the model a bit before getting to work

2015-12-04 3:16 GMT+01:00 Patric Schmitz notifications@github.com:

actually for the notch filters we want a bandwidth parameter instead of Q for more intuitive definition. oh and they're called band-pass filters, i thought it's notch however that seems to be the inverse i.e. band-stop..

https://en.wikipedia.org/wiki/Band-pass_filter#Q_factor https://en.wikipedia.org/wiki/Band-stop_filter

— Reply to this email directly or view it on GitHub https://github.com/saunaklub/etudes/issues/2#issuecomment-161851581.

drlight-code commented 8 years ago

Yeah I was thinking of some \Ndef (I suppose?) for shelf/bandpass filter modules, which I could just instantiate with a given high/low shelf frequency, or center frequency + bandwidth respectively.

It could by default take stereo input from jack and mixdown the two channels, but can optionally be given a jack inport name in case we want to route separate voices or such. Then there will be some default instantiantions available for the shelf filters, low/mid/hi or something, with mid actually being a concatenation of two filters (then envelope following, then conversion to normalized float).

They should be quickly usable from within installation/performance patches, with something along those lines:

AudioInHigh.ar() AudioInMid.ar() AudioInLow.ar()

or

AudioInBP(center_f, bandwidth).ar()

in case this syntax makes any sense at all but you get the idea.

drlight-code commented 8 years ago

closing since sc-code moved to separate repo.