Test Controller, sound card


Most computers can input and output sound, this device can be used by TestController as a simple frequency generator for output and as a "voltmeter" and frequency counter as input. The range will be limited to around the audible range.

        Mono, left and right
        Phase and stereo
        Other waveforms
        Viewing input data
        High input frequency
Main page



Before getting any sound a suitable sound card (device) must be selected. TestController will query the device for supported number of bits and sample rate and then show some possibilities. The OS may limit or enhance the actual sound cards abilities.
This device will have frequency and volume as values on "Current value", "Chart", etc.
The "Single" mode will do a single sweep when the log is started or after another press on "Single".


A computer may have multiple volume controls that affect the final output volume.


But be careful, if the volume is turned to high the output will clip.
The generator will generate a signal that uses exactly the full numeric range of the specified bits.

Mono, left and right


Mono will usually send a identical waveform to both channels.
Using left or right will send zero data to one channel and the waveform to the other channel, this makes it possible to load two instances of the sound output device and get two different frequencies at the same time.



Two generators can also be run on the same output, this will add the signals together.

Phase and stereo


When using the stereo channel it is possible to vary the phase between the two outputs.



When pressing the "Set" button for the sweep settings the sweep mode will be selected. Usually it will be free running, but when logging it will synchronize to reading of values.

Other waveforms

The generator can generate non-sinus waveforms, but due to the fairly limited bandwidth they will not work as high up in frequency as sinus.
This settings can only be activated from the command line with the "waveform" command.
These waveform will only work well below the sample frequency, this means 1/10 or even lower.


My sound card has a lot of ringing on the square wave output.


The ramp output looks fine enough at 1kHz.



The input will measure frequency, rms and pp values continuous when loaded if it can open a sound input (Windows 10 has privacy settings to prevent that). The "Sampling" indicator will be green when it is working.
The device will continuous sample and analyze, the two operations runs in parallel. This means there is no gab between measurements. The measurement speed controls the number of samples taken each second, lower values will mean better precision and the possibility to measure lower frequencies, but also more latency and slower updates.


The input data in "Current values".

Viewing input data

Use the "View" button to see the sampled input data that is used for analysis. Each press on "View" will show the last recorder buffer in the "Sound data input" window.


The input data may look like this. The length of the time axis will match the "Measurement speed".


It is possible to mark an area with the mouse.


And then zoom on it.



Input level is too high the upper and lower parts are truncated. The numeric range is about +/-32k for 16 bit sampling.
If using mono input overload can happen at half that value and it is not detected by TestController.

High input frequency


High input frequency (15kHz with 44.1kHz sample rate), this only leaves about 3 measurements for each sinus and because it is a bit random where in the sinus the samples are the curves are not very regular.
The measurements are still correct.


Even higher input frequency (18kHz with 44.1kHz sample rate).
Mostly the measurements will be correct, but it is at about the limit. Using higher sampling frequency will allow higher input frequencies (As long as they are real and not simulated by the OS).