Download (Version of 13.03.2003)

Back to "Welcome" page

I've written the following DOS-programs to support the development of loudspeakers:
SB_OCT1/n-Octave-Realtime-Analyser for PC's with SoundBlaster®- compatible soundcard (partly)
SINUSGENsimple sine generator for PC's with AdLib®-compatible soundcard
BOXUTILseveral tools (coil wind up/down, BR-pipe calculation, impedance-equalizer etc.)
TSPCHECKchecks the consistency of a loudspeakers TS-parameters
WAVEANALperforms statistical analysis of WAV-files (Min, Max, Avg, Rms)
WAVECOMPcompares 2 WAV-files sample for sample (suppresses leading zeros etc.)
CDFS.VXDalternative VXD-driver allows direct access to WAV-files from audio-CDs (WINDOWS 9x/Me))
EMPHASISsome hints concerning the Emphasis/Pre-Emphasis issue

But these programs (and other commercial programs like e.g. AudioCad ECNC 8.0, Akustika 6.0, Lasip 3.0, PSpice etc.) are only tools to support the development of good loudspeakers. My typical development process is described in my collection of Tips for impatients.


Remarks for downloading SB_OCT (demo version):

SB_OCT is a DOS-program that uses a SoundBlaster®-compatible soundcard to realize a 1/n-Octave-Real-Time-Analyzer. The program has a simple (English) user interface and uses keyboard control throughout.
Only 16-color VGA graphic mode with 640*480 pixel is supported.

Screenshot of SB_OCT:

As SB_OCT communicates with the soundcard it may not be start from WINDOWS® and does not run in a MS-DOS®-window. WINDOWS® must first be closed (for WINDOWS 9X®-systems: Restart in DOS- mode). The soundcard detection is supported by the program SB_ENV, which checks/verifies the BLASTER environment variable and creates the file BLASTER.ENV which is needed by SB_OCT (for further information see your soundcard manual and/or read the file OCTFASTE.DOC)

The 1/n-Octave-Spectrum (n = 3, 6, 12 or 24) of one channel is measured from Fmin to 22k Hz (Fmin=10 to 80 Hz, depending on sample frequency, blocksize and octave resolution). For excitation any quasi-stationary signal (e.g. pink noise from a test CD) can be replayed via your hi-fi-system. If the specially for SB_OCT created Test-CD is used the measuring accuracy can be significantly improved despite of a shorter measuring time.
Besides several pseudo random signals this Test-CD contains signals for subjective evaluation of (room) resonances (without measuring equipment) and can be ordered for 15 (incl. shipping) at the author (see also complete table of contents (German)).

At first the excitation spectrum is measured (using e.g. the LINE input) and stored as a file (e.g. PN_REF.OCT). Then this spectrum is loaded as a reference spectrum (via 'File/Load Reference Spectrum'). This allows a spectral calibration of the measurement chain as long as the same input is used (the MIC input has a bass roll off below 100 Hz in general).

This mode is also used to measure the impedance Zls of a loudspeaker. The loudspeaker has to be connected in series with a known resistor Rref (e.g. 10 Ohms) to the output of the amplifier. In the 1. step the voltage across the known resistor and in the 2. step the voltage across the unknown loudspeaker impedance is measured. It is very important that the signal ground is always connected to the amplifier ground. Otherwise the soundcard ground will short circuit and maybe damage the amplifier. Rref and Zls must therefore be interchanged between both steps. However the user will be guided step by step through this measurement.
A little switch device according to the following sketch simplifies impedance measurements.

In the calibration mode' the mixer of the soundcard can be calibrated for each input (MIC or LINE) individually such that for all input gain settings of the mixer the same measurement result can be achieved. For this purpose SB_OCT provides a 1000 Hz sine signal on the LINE output (level 50 to 100 mV, depending on soundcard; must be measured with AC- voltmeter) which has to be fed into the LINE and MIC input one after the other. As SB_OCT allows linear as well as logarithmic [dB] amplitude display the amplitude of a sinusoidal signal can e.g. be directly read out in mV. The frequency information is available as a 1/n-octave-spectrum anyway.

In the 'scope mode' only 264 samples around the maximum are displayed in the time domain. This mode is mainly intended to check the polarity and to judge the step response subjectively. The object can be excited by simply switching on/off a battery or by using the impulse tracks of the specially created Test-CD for SB_OCT.

The user interface of SB_OCT is made very simple, only the most essential things are adjustable on-line. Many parameters (e.g. octave resolution, block size of the time signal, weighting window and impedance and calibration mode) can only be set by command line parameters (see English help with SB_OCT -h).

SB_OCT comes together with a program for display of measured data called DISP_OCT. Here up to 6 SB_OCT data files can be displayed and printed (at present only direct hardcopy with EPSON®-compatible printers, alternatively via WINDOWS clipboard).

The version provided here for download is freeware and limited in operation (see below). The full version can be ordered from the author (order form ORDER.TXT included in SB_OCT_E.ZIP) for 30 US$ and will be delivered on a 3.5" disc (the specially adapted Test-CD is available for 15 US$).

NOTE:
The use of this program is done on your own risk. The author of the program is not responsible for any damage that might be caused by the use of this program!

Main features of SB_OCT
Featurefull versiondemo version
Frequency range10-20k Hz80-20k Hz
Sample frequency44, 22, 11 kHz44 kHz
Octave resolution1/3, 1/6, 1/12, 1/241/3
Blocksize1024, 2048, 4096, 8192, 163841024
Frequency resolution43.1, 21.5, 10.8 ... 0.67 Hz43.1 Hz
Max. number of averages6416
Time windowRechteck, Hanning, Hamming, BlackmanSame
Impedance measurementYesYes
Mixer calibrationYesYes
Scope modeYesYes
Date storageYesNo
Date display with DISP_OCTYesYes (test data)

Download demo version of SB_OCT (please read OCTFASTE.DOC before 1st measurement!)

Back to overview


Remarks for downloading SINUSGEN (V1.1)

As you might have already guessed SINUSGEN is a simple sinus generator program.

The frequency is adjustable from 20 to 10000 Hz and the output level of the sinusoidal signal can be lowered. For signal generation the FM chip of the soundcard is used. For frequencies above 4000 Hz the sine signal might sound a bit distorted depending on the FM chip/soundcard!

The program SINUSGEN.EXE should run with all AdLib®-compatible soundcard (which means nearly any soundcard) under MS-DOS® or under WINDOWS® (in DOS box or direct).

Eventually an external mixer program has to ensure proper level of the FM output of the soundcard.

NOTE:
This program is freeware. The use of this program is done on your own risk. The author of the program is not responsible for any damage that might be caused by the use of this program!

Download SINUSGEN (V1.1)

Back to overview


Remarks for downloading BOXUTIL (V2.2)

As you might have guessed BOXUTIL is a program that provides several utilities for loudspeaker development.

The program is written in TurboPascal V3.0 for MS-DOS® and therefore very compact. It works in text mode and can therefore also be run under WINDOWS®. BOXUTIL shows the following functionality:
Box/room calculationsInput parametersOutput
VolumeBox length, width and heightBox volume
BR-tube/lengthTuning frequency, box volume, tube diameter or area, number of tubesTube length depending on tube design, 1. + 2. standing wave in tube
BR-tube/frequencyBox volume, tube length, tube diameter or area, number of tubesTuning frequency depending on tube design
 
Network calculationsInput parametersOutput
Equalizer/ZobelDC-resistance, impedance at 15 kHzRC-circuit
Equalizer/resonance frequencyDC-resistance, resonance frequency, mechanical and electrical QRLC-circuit
Equalizer/notch filterDC-resistance, notch filter frequency, damping and QRLC-circuit + table (frequency response)
Level reductionImpedance, damping, desired impedance; results with ideal resistorsActual reduction with available resistors
Network componentsDC-resistance, -3 dB frequency, high or low pass, order (1-4)Network sketch with element values for different filter characteristics
 
Inductor calculationsInput parametersOutput
ListInductivityList with resistance as function of wire diameter (0.5 to 4.0mm)
Wire diameterInductivity, coil resistance, coil height, coil diameter inner/outerWire diameter (2 guessed values)
Winding up/downActual and desired inductivity, wire diametercopper mass, wire length of identical diameter to wind up/down

NOTE:
This program is freeware. The use of this program is done on your own risk. The author of the program is not responsible for any damage that might be caused by the use of this program!

Download BOXUTIL (V2.2)

Back to overview


Remarks for downloading TspCheck (V1.01)

As you might have guessed TspCheck is a program to check, whether the measured or given TS-parameters of a loudspeaker show the correct relationship. Often you will e.g. find that the given efficiency is somewhat too optimistic. On the other hand you may estimate the moving mass or the suspension compliance by just combining some known parameters.

Moreover it will be estimated:
Max. lin. SPL @ 50 Hz in CB - the maximum achievable sound pressure level at 50 Hz when mounted in a closed box and using the maximum linear displacement as well as
SPL_m = SPL_e - the frequency where the maximum achievable sound pressure level with full power input starts to be limited by the linear displacement.

The WINDOWS-program TSPCHECK.EXE is written in VisualBasic 3.0, runs from WINDOWS 3.x onwards and can be copied to any directory. If the target PC does not have a runtime library VBRUN300.DLL (in general under C:\WINDOWS\SYSTEM) this must be installed, too (e.g. in the directory with TspCheck).
REMARK: TspCheck only works correctly if numbers are defined in the form 1,000.00 (point as decimal separator)!

NOTE:
This program is freeware. The use of this program is done on your own risk. The author of the program is not responsible for any damage that might be caused by the use of this program!

Download TspCheck.Zip (V1.01) (6 kB; only works if VbRun300.Dll is available)
Download VbRun300.Zip (226 kB; only needed if VbRun300.Dll not yet available)


Back to overview

Remarks for downloading WaveAnal (V0.90)

WaveAnal is a program for the statistical analysis of WAV-files under WINDOWS 9x and will handle 8-bit and 16-bit mono- and stereo files. For each channel the program evaluates:

The RMS value is a better estimator for the average sensed loudness than the minimum or maximum value as it also takes into account how often their occur. Typical RMS values are: By the way: white noise with maximum level has a RMS value of about 22%!

Multiple files within one directory can be analysed at a time and the result can be copied via the clipboard to other WINDOWS applications. The program WaveAnal.exe and the help file WaveAnal.txt can be copied in any directory. The target PC just needs the runtime Library MSVBVM50.DLL (normally under C:\WINDOWS\SYSTEM).

NOTE:
This program is freeware. The use of this program is done on your own risk. The author of the program is not responsible for any damage that might be caused by the use of this program!

Download WaveAnal (V0.90) (19 kB)

I'm currently working on a spectral analysis extension (example: beginning of Oscar Peterson Trio / You Look Good To Me -> bass barely deeper than 50 Hz!)


Back to overview

Remarks for downloading WaveComp (V0.90)

WaveComp compares 16-bit stereo WAV files and run under WINDOWS 9x. Leading zeros are suppressed. It is intended to compare ripped and burned audio tracks with their originals. The following results are given:

The result can be copied via the clipboard to other WINDOWS applications. The program WaveComp.exe and the help file WaveComp.txt can be copied in any directory. The target PC just needs the runtime Library MSVBVM50.DLL (normally under C:\WINDOWS\SYSTEM).

NOTE:
The use of this program is done on your own risk. The author of the program is not responsible for any damage that might be caused by the use of this program!

Download WaveComp (V0.90) (21 kB)


Back to overview

Remarks for downloading CDFS.VXD

CDFS.VXD is an alternative driver for the detection of the file system of audio CDs under WINDOWS 9x/Me. It allows to have direct access to WAV-files from the Explorer (no ripping required!).
For installation the new driver just has to be copied to C:\WINDOWS\SYSTEM\IOSUBSYS and the computer must be rebootet.
As a precaution the original driver should be renamed (e.g. cdfs.vxd.orig -> the new name may not have the ending .vxd in order to prevent parallel loading of both drivers which will cause problems).

This driver is not from me therefore have a look on the original cdfs.vxd page.


Back to overview

Some hints concerning the Emphasis/Pre-Emphasis issue

Many "older" CDs (produced before 1985) used some kind of trebble lift (Pre-Emphasis). I can just guess why:

Two CDs of my favorite artist Michael Jackson are affected too, "Off the Wall" ©1979 and "Thriller" ©1982.

On CDs with Pre-Emphasis the digital data are stored with a massive (10 dB @ 20 kHz) trebble lift and the CD gets a corresponding mark (Pre-Emphasis-Flag). During replay this digital trebble lift is reversed (obviously using a small analogue circuit).

If a complete CD is copied the Pre-Emphasis flag is copied too and everything is OK. If however only a single track is ripped this will cause a problem because the Pre-Emphasis flag is not copied (obviously a single track cannot be marked this way).

If you still want to make a Best-of-Michael-Jackson sampler you have to compensate the digital trebble lift by yourself. In the internet they recommend equalizers for that, but this will never achieve the required mirror image like trebble sink.

However, in the internet I foud the time constants (50 µs +6 dB/Oktave, 15 µs -6 dB/Oktave) of the applied trebble lift, so I knew the ideal behaviour. Moreover, I did already made some bad experience with a pink noise track that I ripped of a test CD with Pre-Emphasis that no longer was "pink" afterwards. By measuring both average spectra (original CD and ripped CD) I was able to determine the trebble lift.

Finally I managed to evaluate empirically the parameters of a simple digital filter that performs the required mirror image like trebble sink nearly perfectly (deviation < 0.2 dB). There exists a corresponding program, as I was not able to convince Chris S. Craig (the man behind the effective program Goldwave) to implement this feature into Goldwave (by granting me a full license ;-) ).
Due to the trebble sink the maximum and RMS values are reduced in general by about 15%. The program will therefore allow a parallel amplitude increase in order to keep the influence of quantisation noise as low as possible (only 1 instead of 2 separate numerical manipulations).

Remarks for downloading WaveEmph (V1.10)

WaveEmph is a WINDOWS® 9x-Programm, which removes the pre-emphasis of 16-bit stereo WAV-files and/or changes the level. The original WAV-file will be renamed (add ".old"), the modified file will be stored in the program directory with the original name.

The program WaveEmph.exe and the help file WaveEmph.txt can be copied to any directory. The target PC just needs the runtime Library MSVBVM50.DLL (normally under C:\WINDOWS\SYSTEM).

NOTE:
This program is freeware. The use of this program is done on your own risk. The author of the program is not responsible for any damage that might be caused by the use of this program!

download WaveEmph (V1.10) (30 kB)

Back to overview