SynthMaker

Biquad inputs in Parametric EQ

Archive · 2006 12 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

oddson ·

I'd like to alter the Parametric EQ module to take the fundamental of the note played in the poly stream as a set-point on the graph.

First step for me is to understand the existing schematic.

The first problem is the center frequency of the peaking filters seems to be twice what it should be based on the effect the filter is having on the actual signal.

I've made a schematic to show this. OSM

Seems that the boost occurs at twice the frequency of the fundamental note. 😕 [edit]the problem was in the OSCs being set 1 octave too high not the filter being 1 too low... fixed in 0.9.5j[/edit]

As a follow up... once I figure how to centre the fundamental note, can anyone think of how I'd get the harmonics to stay in the same (relative) place on the graph.

I'm thinking the Freq and Q values would have to be converted differently from their X coords but I haven't figured how yet... (or would Q be the same as the scale is logarithmic?)

I'd also like to put up (vertical) markers for the main harmonic values.

oddson ·

The silence is deafening... 😉

I still have no idea why the 1/2 frequency thing is happening... so I've assumed there's an answer somewhere and I'll learn about it later. I've coded '4*pi' into the formula instead of the '2*pi' everything says is correct.

In the meantime I've started my project and have run into a few other problems... [url=http://members.shaw.ca/oddson/paraEQ2.osm]

OSM[/url]

The vertical dashed lines are multiples of the fundamental with the main note being the first line. There's a wireless feed of the fundamental frequency (in Hz) into the module and it won't work without it. (It could be changed to a hard wired 0-1 F value.)

Now for the problems.

First - somewhere along the way I broke the Q pointer's Y axis control so it's not locked with the Y value of the main pointer. It wiggles around when you move the main pointer and floats in the Y axis when you move it.

Second - (edit - now largely sorted - see post below) the graph lines for gain and phase are still using the old convert coding. I'm sure the phase line is largely meaningless with the differing frequencies the graph is trying to present so I'd likely lose it anyway. But the gain line is necessary. The thing is, even though it's not giving the 'right' information it seems to work on an intuitive level in that the peaks are where you'd expect them to be and the sound you get is what you might expect.

If I try changing the X conversion to the linear format of the graph peaks stop lining up. I can't find a combination of start/end frequencies to feed to the biquad frequency analyser to go with what I think is the correct X convertion. I would assume you could pick an arbitrary X value to be your representative frequency (somewhere around middle C or maybe A=440Hz) multiply it by 8 (as the normalized X value is 1/8 at the first vertical line).

Then there's the issue of whether something like the 1/2 frequncy problem is happening in the green coefficient calcaulations... 😮

Third - once I've got this stuff sorted I'd like to be able to switch between peaking to band-pass filters but don't have the DSP knowledge to make it happen on my own (and pointing me to DSP sites with coefficient info won't do it 'cause I not quite bright enough to figure it out on my own). 😕

Any help would be greatly appreciated.

oddson ·

Opps... didn't notice the logf boolean on the biquad graphing components.

Still have a bit of tweeking on the graphing issue but I think I'll get the sorted myself now.

Still would like help on the other issues...

1) what's up with the centre frequency? 2) how should I deal with the conversion for Q? 3) how can I convert the peaking to band pass in both the code and graphing sections? 4) how do I fix whatever I've done to the Q pointers?

infuzion ·

oddson wrote: The silence is deafening... 😉

Sorry dude, Fri nite to Mon morn, all I do is check email, sleep, work work work (about 25hours/weekend)

First - somewhere along the way I broke the Q pointer's Y axis control so it's not locked with the Y value of the main pointer. It wiggles around when you move the main pointer and floats in the Y axis when you move it.

First: unsync the first Point module from the second (You can still have the Freq modules synced though)

Second: Inside the second Point, do this:

There might be a better way, but it works.

oddson ·

I'll keep this in mind and use it if something I've done means I can't use the solution Stefan had working. But I can't understand how it worked in the original version.

Thanks for looking at it. It may help me sort it out if Stefan doesn't post an explanation for me.

stefan ·

I just checked the frequency thing in the EQ in the toolbox. If I set the freq input to 8000, I get the peak at 8khz. Are you sure that you get the peaks at half the frequency you set it to?

stefan ·

Looked at your schematic now... It's your "F to Hz" that is faulty, it should take F * samplerate, not F * nyquist.

oddson ·

It's your "F to Hz" that is faulty, it should take F * samplerate, not F * nyquist.

That's not what I heard here [old link]

stefan ·

Ok, well, nevertheless, the frequency from the F to Hz module is half of what it should be 🙂 I came to that conclusion by analysing the frequency of the output sine from the oscillator. Not easy to know when one has been misinformed, so it's no wonder this all seemed odd.

oddson ·

OK - I'll check it all out when I get home. I knew it would be something fairly simple but never questioned that because I've been using that elsewhere and never discovered any problem.

Thanks for the help.

-- what about the Q control point issue? Can you spot anything there?

stefan ·

Will try to have a look at it later, or force malc to do it, been a bit busy lately.

oddson ·

Thanks... if you don't get to it then I'm hopeful that Infuzion's info above will help me sort it out..

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.