I did a lot of testing of my IEM with frequency test tones and a balance slider and got bunch of data. I have like 40 frequencies with a db number of how much exactly I should boost or reduce them for the sound to be even.
I have an equalizer with separate L and R channels with peak, shelf, pass and band filters. How can I make the most accurate EQ curve using this data? Is there some kind of tool where I could input frequencies with gains and get an automatic graph that smoothly connects the dots and calculates Q values for me to use in a parametric EQ?
My noob approach from almost 10 years ago is probably not the cleanest way, but hey, it should work:
Use REW(Room EQ Wizard) to create the EQ for each channel. First, and this is the dirty part, you need to make a .txt with your gain values but with the negative of the amplitude you want to get applied.
So if your initial work gave you one channel with frequency and gain respectively:
20 +2
30 +3
40 +4
50 +5
80 +2
150 -4
etc. Then you need to make a .txt that will show:
20 -2
30 -3
40 -4
50 -5
80 -2
150 +4
With a space between each frequency and amplitude value(long ago I needed to a "," as separator but not anymore, IDK if it's a change in REW or if it's some setting option within the program, so I hope what I tell you will just work as is). For the negative of all gain values, I'm sure there is a simple trick in Excel like multiplying everything by minus one and get the result.
Now you open REW and in recent versions you just drag and drop the .txt into REW(or you can go to "File"=>"Import"=>Import frequency response". It will make a corresponding graph. In my example, we get this little marvel
You click on EQ
The pop up window has a lot to play with, and you might decide to do so. On the right you want to expand and tweak Equalizer, Target settings and filter task(the first 3, Modal Analysis and Resonances aren't meaningful here)
-In Equalizer, if you don't know, I would suggest to start by picking the last option "Generic", and if your EQ happens to want another form of data then just try another option at the end when the EQ is already generated, until the data looks like what you need.
-in target setting
I would suggest going with those settings, they determine the target curve to aim for, as you want the opposite of the data you entered, so the target should be dead flat.
Target level is the one you'll need to set yourself, you can press "calculate target from response" just below it, and it will automatically set a value. But then it might disregard anything below the line, and you may or may not like that. If you wish for the entire graph to be factored in(you probably want that in your case), then just move the target level until it's below your graph everywhere(not too far away, though!).
-Filter tasks. Here you tell the program the frequency range of the EQ generated, how much gain you allow for each boost and in total, and with "flatness target", how precise the EQ should be. 1dB is the best this can do!!!!, that looks bad but remember that you're generating a curve and what matters is for the overall curve to follow well for good psychoacoustic result, not that one point is always good down to 000.1dB precision. In practice, it's pretty good, IMO.
Anyway, you need to handle all those settings depending on the amplitudes you reach in your .txt and how crazy you're willing to go with EQ(number of filters and max Q). If you see something going wrong along the way, you can always come back to this step and change those values until things makes more sense.
Now you're done, you press:
If you went with the entire line below your graph, you'll get a warning, just proceed. And you can see the graph of the filters or the applied EQ(just click whatever you wish to see on the graph, but it's just for you to confirm that the predicted curve is rather flat).
If it doesn't open automatically, click here:
And there is the EQ we wanted, with Q values for a correction rather close to your initial data curve.
This by be the end for you.
Or in the "Filter Tasks" panel, you have a bunch of options you can try and ways to export the data that may or may not work directly with your EQ if it has such an option as importing profiles.
Now you do all that again for the other channel, and you should be good if I didn't mess up somewhere.
