Low-distortion Audio-range Oscillator

More complicated if the two devices are not running the same clock. For measurement purposes they must use a common clock. The pro interfaces support external master clocks so they can sync. Some (Lynx) have ASRC's on each input BUT those will seriously mess with audio measurements.
Hi Demian,

I don't expect serious issues when the one driver is only used for (ADC) input and the other driver is only used for (DAC) output. As said before, DiAna can synchronize on the ADC input signal. Maybe I'm too optimistic, so let's wait and see.

Cheers,
E.
 
I'm sort of doing the same thing, that is, starting the main program (instance), which in turn invokes an additional process, which in turn takes care of the second ASIO driver.
Edmond, IIUC with two processes you are loading two library instances, hence being able to use two static theAsioDriver instances, each for a different driver. The other method was to modify the ASIO library ("just a few" rather simple files :) ) to add more static instances and duplicate the API methods to use the other instances internally. My preferred approach would probably be to remove the static driver struct variable, pass the driver instance to the caller instead and extend the several public methods params with the driver parameter. User would pass the driver struct instance back to the ASIOHost calls where needed, allowing him to to initialize/use an arbitrary number of driver instances. Since the theAsioDriver struct already carries the callbacks, that part could be left unchanged, only user-provided callback methods would have to be driver-specific, or the callback API could be extended with some extra identification of which driver calls the callback. Many options if the library source code is available (provided these mods do not break Steinberg's license).

But if your approach of adding another process works for you, perfect and best luck to your project.
 
may I ask how to use an oscillator with a predefined voltage range such as Victor Oscillator to measure the THD of a mic preamp?

when I look at AES17, it looks like it is designed for measuring line-in and line-out because it only mentions dbFS. no gain was mentioned.
on the other hand achieving -1dbFS or even 0dbFS in the input line is (sometimes) difficult for Victor Oscillator.
 
Here is a good resource .. https://www.diyaudio.com/community/threads/howto-distortion-measurements-with-rew.338511/

It's new to me but I expect 2.7v will overdrive a preamp.
You need to attenuate the oscillator and you need a quality USB to send the amplifier output to your computer.
Audient id14 max mic input is 12dBu = 3.084Vrms
MOTU M4 max mic input is 10dBu = 2.449Vrms
The old-but-excellent-specs ESI Maxio EX8000 max mic input is -3.8dBu = 0.5Vrms

Victor Osc spec-ed for 300mV to 2.7V rms, this means it can not overdrive a few preamps, while AES17 asks for up to -1dBFS or even 0dBFS. for THD measurements.
 
On the REW thread, the amplifier output is being measured. They adjust the amplifier volume control and/or the input level so that the amplifier is driving a resistor load with 2.83 vrms

That is exactly my question: how to measure mic input (using low THD oscillator) ?
I am thinking that the proper way to do it is by standardizing the input signal strength and the gain (which is not mentioned in the AES17 document).
 
That is exactly my question: how to measure mic input (using low THD oscillator) ?
I am thinking that the proper way to do it is by standardizing the input signal strength and the gain (which is not mentioned in the AES17 document).
I was not aware of the AES17. I think it is just a curious abstraction since we are limited by the low-noise dynamic range of the measurements tools. We must deal with tiny signals that ride on a strong 1khz tone. Math is needed to expose them.

It is possible to measure with a computer sound card or the integrated codec found on many mainboards. However, there is too much noise from the digital circuits. The computer analog inputs and outputs are probably ok for gaming or background music but there now is a market for external DACs and special USB devices for low-noise inputs.

Do you have analog-to-USB input such as Focusrite Scarlett Solo Gen3. The Solo has a halo around the gain input. It turns green when a small signal is applied, turns yellow when the gain is excessive. Be careful when connecting to amplifier outputs.
 
Member
Joined 2004
Paid Member
Your task needs some more definition. You are testing the mike input (I think). Which microphone will you be using? Its important to be able to figure out the levels you will be testing at. With the mike's sensitivity ratio you can figure what level to drive the input at. At one extreme look at 130 dB (close voice miking for example) at the other 20 dB (noise floor of low noise microphones). Some arithmetic will show what voltages for those levels. Then make attenuators for Victors oscillator to match those levels. They should be low impedance- 600 Ohms total to minimize noise. You then need to figure out optimum setting for the input controls of the system.
 
I was not aware of the AES17. I think it is just a curious abstraction since we are limited by the low-noise dynamic range of the measurements tools. We must deal with tiny signals that ride on a strong 1khz tone. Math is needed to expose them.

It is possible to measure with a computer sound card or the integrated codec found on many mainboards. However, there is too much noise from the digital circuits. The computer analog inputs and outputs are probably ok for gaming or background music but there now is a market for external DACs and special USB devices for low-noise inputs.

Do you have analog-to-USB input such as Focusrite Scarlett Solo Gen3. The Solo has a halo around the gain input. It turns green when a small signal is applied, turns yellow when the gain is excessive. Be careful when connecting to amplifier outputs.
I do have an audio interface... I know how to use it, but my main concern is not that.
My main concern is that there is no standardized method/procedure for measuring the performance of a microphone preamp.
 
Your task needs some more definition. You are testing the mike input (I think). Which microphone will you be using? Its important to be able to figure out the levels you will be testing at. With the mike's sensitivity ratio you can figure what level to drive the input at. At one extreme look at 130 dB (close voice miking for example) at the other 20 dB (noise floor of low noise microphones). Some arithmetic will show what voltages for those levels. Then make attenuators for Victors oscillator to match those levels. They should be low impedance- 600 Ohms total to minimize noise. You then need to figure out optimum setting for the input controls of the system.
And that is why I am asking in this forum... to attenuate the output of Victor Oscillator without introducing too much impedance, how to do that?
Wil simple voltage dividing resistors do? Or does it have to be opamp with gain less than unity? But opamp will introduce distortion by itself.

As for the signal strength after attenuation... that is a question by itself, how strong should the signal be?
Measuring a mic preamp should not be tied to any particular microphone, that is my understanding.
 
Manual for a pretty good mic preamp shows specifications on page 9. Maybe that will help give some insight into what measurements might be performed under particular conditions.
https://www.gracedesign.com/support/manuals/m101_manual_RevA.pdf

Regarding Victor's oscillator, you can always load it with a resistor to ground until distortion starts to rise. Then you can make a voltage divider out of resistors that loads the oscillator less than would cause increased distortion. The output impedance of the divider should probably look about like a typical mic output impedance. Some typical source impedances for measurement are given the above linked manual specifications.
 
And that is why I am asking in this forum... to attenuate the output of Victor Oscillator without introducing too much impedance, how to do that?
Wil simple voltage dividing resistors do? Or does it have to be opamp with gain less than unity? But opamp will introduce distortion by itself.

As for the signal strength after attenuation... that is a question by itself, how strong should the signal be?
Measuring a mic preamp should not be tied to any particular microphone, that is my understanding.
To answer your question:
I took Victor's excellent design, used a VCA instead of a FET and designed it for high level >+20 dBu balanced output.
There is also a notch filter and attenuator.
You can use just the attenuator ("Atto') and your sound card D/A if you're not needing to measure distortion in the -100 to -140 dBc range.

https://ka-electronics.com/shop/index.php?route=product/category&path=67
https://proaudiodesignforum.com/forum/php/viewtopic.php?t=1265
 
I should also mention that you can use a balanced output device like the USB Focusrite 2i2 and use a simple U-pad to bring it down to mic level.

The U-pad should typically present a 150Ω or 200Ω source impedance to the mic preamp under test.

The typical loopback 1 kHz THD for the Focusrite 2i2 at 0 dBu is around 0.0006%. The A/D typically measures 0.0002% at 1 kHZ 0 dBu when ULDO at -140 dBc is the source. Your preamps may measure better than the 2i2's loopback.
 
Huh, I'm not sure if I'll sell Cosmos DAC just because the commercial interest is not so hot. The same thing with Cosmos APU, I prepared 1000pcs and I hopped it could be popular in the DIY area as an inexpensive PCBA. Not really, almost zero selling of APU PCBA, it seems everyone DIYer already has such a simple device as a Notch filter with <-150db harmonics resolution and THD+N -132db ;) So, I'm not sure if I'll go to produce Cosmos DAC to sell it 50pcs/year, better if you make it by yourself. There are no secrets, and the idea is trivial wiping out all harmonics and noise >1kHz.

Since the Cosmos DAC doesn't seem likely to be available and there's still some concern over the ESS "hump" (https://www.diyaudio.com/community/threads/return-of-the-ess-hump.391267/#post-7150416), what is a suitable DAC to use along with a Cosmos APU and ADC for distortion measurements?

No MQA, DSD, Bluetooth, or any of that kind of feature needed.

Any suggestions? I don't want to spend my hobby time futzing with firmware or any of that...