Audio editing

Howard

Lifer
Oct 14, 1999
47,982
11
81
This is not for actual audio, per se, but for math purposes... anyway, here's what I'd like to do:

1. Pick any music track
2. Normalize the largest peak (0 dBFS) to an arbitrary SPL (e.g. 100 dB @ 1m) - could perhaps be done with a simple axis shift
3. Run a high-pass and/or low-pass filter, type of user's choice, on the entire sample
4. Pick out the new peaks*
5. Calculate the volume displacement of a driver reproducing that exact peak, in a system calibrated to earlier arbitrary SPL

Anybody know how to do this?

For example, let's say I take Beethoven's 9th, first movement, and run a Linkwitz-Riley 24 dB/octave high-pass at 2 kHz on it, and in effect this will show me what a tweeter in a speaker where the HP filter is at 2 kHz will be reproducing. So, now I want to find out the maximum volume displacement of the tweeter in this filtered song at any given instant. If I have this, I can find the excursion of the tweeter since the surface area of the diaphragm is usually well-known.

There may be other ways to determine the required excursion within a bandpassed spectrum - I believe this is one of them.
 
Last edited:

joetekubi

Member
Nov 6, 2009
176
0
71
Your method is sound, but has some shortcomings. Any particular driver will have mechanical excursion limits, but will also have limits in short term and long term power handling, thermal power dissapation limits, and a non-linear realationship to power handling. (IE: any particular driver will have a different response for 1-20 watts, versus 21-40 watts input).
Klippel is a scientific system that measures this behavior:
http://redrockacoustics.com/klippel_power_testing.php

You appear to know some of the basics. I would encourage you to post on Parts Express forums if you want to talk to some real experts:
http://techtalk.parts-express.com/forumdisplay.php?f=2
 

Howard

Lifer
Oct 14, 1999
47,982
11
81
Your method is sound, but has some shortcomings. Any particular driver will have mechanical excursion limits, but will also have limits in short term and long term power handling, thermal power dissapation limits, and a non-linear realationship to power handling. (IE: any particular driver will have a different response for 1-20 watts, versus 21-40 watts input).
Klippel is a scientific system that measures this behavior:
http://redrockacoustics.com/klippel_power_testing.php
Yes, real-world systems are not quite linear, but I want to get a better root understanding of how this stuff works.
You appear to know some of the basics. I would encourage you to post on Parts Express forums if you want to talk to some real experts:
http://techtalk.parts-express.com/forumdisplay.php?f=2
Guess I'll be doing that, then.
 

JSt0rm

Lifer
Sep 5, 2000
27,399
3,948
126
You can't normalize beyond 0dbfs. Also if you want to do a test why not use pink noise or sine waves for it? Spl meter c weighting slow will give you the average dbspl. Why are you doing this? Are you wanting to design a speaker?
 

Howard

Lifer
Oct 14, 1999
47,982
11
81
You can't normalize beyond 0dbfs. Also if you want to do a test why not use pink noise or sine waves for it? Spl meter c weighting slow will give you the average dbspl. Why are you doing this? Are you wanting to design a speaker?
Maybe normalize is not the right word - I just want to assign the amplitude peaks to a specific system output level.

Pink noise might work but it doesn't adequately represent the energy-frequency distribution in real music. Sine waves are a completely arbitrary input and are not useful for me.

Yes.
 

JSt0rm

Lifer
Sep 5, 2000
27,399
3,948
126
The amplitude peaks will be at 0dbfs if you normalize the file to that number. If you want to get music so that it has no dynamics and is all hitting 0dbfs then you need to put a limiter on it at the lowest db and then gain it to 0. It will sound horrible.

If you use a 24bit dac you should have 144db of dynamic range. You will be squashing this of course and only using the top of the range. To amplify a signal to a known number you need a spl meter and a spl meter calibrator. You can then start by amplifying pink noise to the desired db and then push your music thru it. What the pink noise does is give you a consistent base number. Of course the material will be different at that same level but if you need to repeat your tests at a certain distance then you will know based on the pink noise if you are infact at the correct level as before.

I don't design speakers but I edit audio professionally.
 

JSt0rm

Lifer
Sep 5, 2000
27,399
3,948
126
Also sine waves are used, with a variable trim dac. You use a multimeter and adjust the voltage to read 1.228 (0vu is -20dbfs). This ensures that the dac is correctly calibrated.
 

Howard

Lifer
Oct 14, 1999
47,982
11
81
The amplitude peaks will be at 0dbfs if you normalize the file to that number. If you want to get music so that it has no dynamics and is all hitting 0dbfs then you need to put a limiter on it at the lowest db and then gain it to 0. It will sound horrible.
I don't need to do any sort of compression... in fact, none is preferable.
I don't design speakers but I edit audio professionally.
Answer me this, then, if you can: what is the quantity on the y-axis on a typical music signal plotted vs time? An arbitrary (linear) amplitude? Voltage? dB?

clippedleftcleanright.gif
 

JSt0rm

Lifer
Sep 5, 2000
27,399
3,948
126
amplitude. It also shows the zero crossing of the waveform on the red line and dc offset.

This is what dc offset looks like

Dc_offset.jpg


The top file you are showing has been limited slightly, you can tell from the straight lines on the top of the waveforms. In most software that display can be altered itself so it is advisable to not use it to judge total amplitude however it is a good indication and you can use it to find problems easily.
 

Howard

Lifer
Oct 14, 1999
47,982
11
81
amplitude. It also shows the zero crossing of the waveform on the red line and dc offset.

This is what dc offset looks like

Dc_offset.jpg


The top file you are showing has been limited slightly, you can tell from the straight lines on the top of the waveforms. In most software that display can be altered itself so it is advisable to not use it to judge total amplitude however it is a good indication and you can use it to find problems easily.
Is the "amplitude" directly convertible to voltage, i.e. is that signal passed through a DAC -> (preamp) -> amp -> speakers without any additional conversions?

i.e. if the reproduction chain was 100% distortion-free, would the amp(s)' output simply be a scaled version of that signal?
 

JSt0rm

Lifer
Sep 5, 2000
27,399
3,948
126
Yes this would be ideal. however distortion is added at many different points including from the amps. To test this i think you would need a oscilloscope and again a sinewave. Run the sinewave thru the chain and see if it retains its parabolic structure. This is how you would end up testing distortion in speaker design i would think. The tools needed to record this are certainly lab grade and the room would need to also be perfect.

As I said before a sinewave at -20dbfs should read 1.228 volts at the output of the dac. With variable trim on the dac you can adjust it to read this number. There is also calibration standards for -18 dbfs and -14 dbfs we use -20dbfs in the film industry I forget the voltages for these other standards but they should be easily found.
 

Howard

Lifer
Oct 14, 1999
47,982
11
81
Hmm... so apparently the voltage is proportional to the velocity of the speaker (see footnote here: ref), so somehow I need to convert the filtered music signal (which is velocity) into position. Could easily be done with a sine wave but obviously music is much more complex than that. How else...?

Hmm.
 

JSt0rm

Lifer
Sep 5, 2000
27,399
3,948
126
I still dont understand what you are doing. Are you trying to create a crossover for a 2 or 3 way speaker design?
 

Howard

Lifer
Oct 14, 1999
47,982
11
81
I still dont understand what you are doing. Are you trying to create a crossover for a 2 or 3 way speaker design?
Well, the crossover itself is not an issue at all, it's mainly to determine what drivers I should use based on the excursion requirements... cost and other factors are also part of it.