MelaM
Mela
May 24

Comb filters

In addition to the existing LP/HP/BP filters, I’d like to have some comb filters with options like harmonic series and fibonacci.
CompletedCompleted

Jul 3, 2023

Implemented in Mela 4.2.

Jun 23, 2023

Nikolozi: awesome! Looking forward to trying it out! Thanks much.

Jun 24, 2023

Yep this is going to be fun! Quick first experiment with breath control: https://photos.app.goo.gl/nfM1EaeS8GWJ1V5t5

Jun 24, 2023

Jon Diercks: beautiful! can I share the video on socials?

Jun 24, 2023

Nikolozi: Here is a different clip that turned out better, please use it instead. https://youtu.be/r5fvDO99XVg

Jun 23, 2023

This was one of those tasks that I thought I would be able to complete it quickly. But not so. Anyway, after experimenting I decided to go with the universal comb filter, it seems to be the most flexible of all the variations I tried and is simple enough. Let me know if you have any feedback. Check out the built-in help for full details. I'll try to make some proper presets with it next few days to test it properly. The module will be available in build 103, once it gets created and published. Should be ready in next 10 mins or so. From the [Changelog](https://mela-feedback.nikolozi.com/changelog): > Comb Filter Module: > Added the universal comb filter module. It combines the feedback and feedfoward comb filters into one design that offers a lot of flexibility. Depending on the Blend, Feedback and Feedforward parameter values, and the type of modulation applied to the Frequency parameter the module can be used to create many types of audio effects, such as feedback and feedforward comb filters, delay, all pass filter, resonator, doubler, chorus, flanger, slapback, vibrato and phaser. > The comb filter cutoff frequency can be thought of as the inverse of the time interval by which the signal is delayed. The parameter is in [19.5, 19968] range, which spans exactly 10 octaves. The default value is the frequency of the middle C note. This means the module can be used as a resonator if you modulate it using the MIDI Source that has its input set to Key Track and the target modulation amount to 100%. Simply set the input to receive a short burst of noise when you play a MIDI note and have fun.

Jun 17, 2023

From what I've seen I think Logic Pro's Comb PM filter (pic 1) seems most intuitive from a UI perspective. I think the Damp parameter is their 1-pole filter inserted in the feedback (pic 2). Most simple comb filters I've seen seem to be IIR filters, i.e. feedback comb filters. - Now the question is, would FIR comb (feedforward) filters be useful? - Would it make sense to FIR and IIR in one circuit or as separate modes? For example, there's this Universal Comb Filter topology, which can do FIR Comb, IIR Comb, All-pass filter, a simple delay or some other combination based on the coefficients (pic 3). I feel this would be a bit too confusing for most users, but presenting it here for some idea generation. Also, an FIR Comb filter is really a mix of the dry and a delayed signal. So it might make sense to have a module that simply delays a signal and have a mix dial. And the delay time can be settable in seconds, frequency, tempo, and note number. So it could be multi-functional. It could be a simple Delay module, which can be used as an FIR comb filter. 1st & 2nd order All-pass filters probably can be made part of the [EQ Band](https://mela-feedback.nikolozi.com/feature-requests/p/a-simp…) module. Initial thoughts are: 1. Make Logic Pro style IIR Comb Filter, whose frequency is settable in MIDI Note Numbers as well. 2. Create a simple Delay module, which can be used as an FIR Comb Filter. This will be a separate task. 3. Make All-pass filter functionality part of EQ Band module.

Jun 17, 2023

Samuel Lindeman would love to hear your thoughts on this also.

Jun 17, 2023

Nikolozi: Being a 'Drambo Freak' I love its comb-filter with positive and negative feedback options combined with a 'forward' option that can be disabled for total unpredictable madness. Don't know the technicalities but it's totally bonkers. And yes the Logic Phat FX Comb PM is in the same category as the Drambo Comb Filter.

Jun 17, 2023

Samuel Lindeman: sweet, I’ll check the Drambo comb filter as well. (Forgot to check it duh.)

Jun 17, 2023

Samuel Lindeman Drambo's one looks like it's the simplest version. i.e. without a 1-pole in the feedback path. I imagine when Forward is on it's the FIR (feedforward) version, otherwise IIR (feedback) version.

Jun 17, 2023

An update on my initial thoughts, I think creating a Delay module and expecting it to be used as an FIR (feedforward) Comb filter is not really a sensible idea because Delays (echo style) are usually above 60ms, i.e. operate in the time domain. Whereas a Comb filter operates in the 0.05ms-⁠50ms (aka 20Hz-⁠20kHz) range, i.e. operates in the frequency domain. So, maybe I should do a Logic-style Comb PM filter, with a Feedforward option (i.e. FB/FF toggle).

Jun 17, 2023

Nikolozi: Yeah, and the omission of the 1-pole keeps it super 'raw' which I something I really enjoy as it can get a bit 'wilder' than the filter in the Phat FX module in Logic.

Jun 19, 2023

Samuel Lindeman: In theory, the Logic one should achieve the same results as the Drambo Comb Filter, when 1-pole is fully open, but not sure how the cutoff frequency is mapped to the Damp parameter. Anyway, I'll implement it to see what sort of results I can get.

Jun 19, 2023

Nikolozi: Perfect, I notied the new BS(Band Shift or 'Bull Sh*t'?!) filter in the latest beta, will dig thru if I find something else that is new :) Or maybe it's just an All Pass filter with variable amount of phase-shift?

Jun 19, 2023

Samuel Lindeman: lol, it's Band Stop, it's been there since 4.0. Haven't posted the beta release notes yet, but the main new feature in 4.2 beta is the Oscillator Hard Sync (for classic waveforms). I'll post release notes now.

Jun 19, 2023

Nikolozi: Gotcha, noticed the sync option for the saw waveform, if possible increase the range 25%-⁠400%?(-⁠2 octaves to +4) or even high as 800% which would be suitable for lower octave frequencies for total growliness. I usually sync to an oscillator that is initially at least one octave bellow the synced oscillators frequency so in in Mela 4's case it could start at maybe 50% or even as low as 25% (2 octaves below)? Should at least be worth considering no?

Jun 19, 2023

Samuel Lindeman: I've responded on the sync thread https://mela-feedback.nikolozi.com/feature-requests/p/add-os…

Jun 17, 2023

Jon Diercks I haven't seen examples of harmonic and Fibonacci options in other plug-ins, so I'm not 100% sure what they are. Can you elaborate?

Jun 17, 2023

Nikolozi: see p19 of this: https://intellijel.com/downloads/manuals/cylonix-rainmaker_m…

Jun 17, 2023

Jon Diercks: oh right, this an interesting effect, it's a multi-tap comb filter effect. I wouldn't consider it a plane comb filter, a type that can be selected from filter types, more like it's a complex effect and probably would require a completely different design approach than the approach I take for simple modules. I would put it in the same category as a reverb or a multi-tap delay-style module. Maybe let's keep this feature request focused on a simple Comb Filter type and if you like we can create a separate feature request entry for an effect like that.

Jun 17, 2023

Nikolozi: sure that makes sense

Jun 14, 2023

Any good implementation examples of this in other synths or effects? There are probably a few design/implementation decisions I need make for this type of a module, and since this is a popular request it would help to know what users are really after.

Jun 14, 2023

Nikolozi: something like this would be awesome: https://youtu.be/3gNjnmO8P9E

Jun 14, 2023

Especially important for me would be the ability to key track it and adjust it in semitones so I'm not constantly calculating conversions to/from Hz.

Jun 17, 2023

Jon Diercks: I'll look at experimenting with this. It makes sense to offer both Hz and MIDI Note implementation. Maybe even an option to follow the input pitch signal.