Last updated 13/Jan/2025


The *ASIO Audio Test Signal Generator

ASIOSigGen.exe - Current version 4.70
Copyright (C) 2005 - 2025 George W. Taylor - http://www.TropicalCoder.com

This utility generates sine wave signals of the highest precision, at sample rates from 44,100 to 768,000 samples per second, in the full range of 10 Hz to half the sample rate (Nyquist limit), at attenuation values from 0 to 90 dB, with white and pink noise of selectable duration and amplitude, and choice of linear or logarithmic sweep (can sweep between 10 Hz and 22050 Hz).

There is nothing to install and clutter your Windows' registry. Just unzip the files to a folder, and click on the exe to run. You may wish to create a shortcut to the application and place it on your desktop.

Included is a little configuration file that will allow you to access the desired ASIO device if you have more than one. In the debug log, you will see your devices listed. Note the number of the desired device, and make that value the first (and only) character in the configuration file. When you next boot ASIOSigGen, it should connect with the desired device. (If you only have one ASIO device, of course you have no need of that file.) [Note - this is now automatically handled by the application]

The application will only work with sound cards that have an ASIO driver. (Generally only professional sounds provide this type of driver.) It will only work with Windows (was tested on Windows 10/11/64 bit, 7/64 bit, XP and 2000 and 2003), and Ubuntu Linux under WINE. Furthermore, it will only work with if the default internal format of your sound card is 16, 24, or 32 bits (Some 20 bit cards also supported), and as of now, 32 bit float.

The application generates a little debug file ("Dbg.Log") that provides information about the sound card and error reports. The complete specifications are available at: http://www.TropicalCoder.com/Specifications.htm"


History
*******
24/Jan/2025 What's new in version 4.80...

Fixed an issue with 24 bit DACs


13/Jan/2025 What's new in version 4.70...

Added accommodation for DACS that change buffer size with sample rate


05/Dec/2024 What's new in version 4.60...

Added support for ASIO sample type ASIOSTInt32LSB24 (24 bit samples right-aligned in 32 bit buffers)
(As used by the Marian Clara E - Dante powered card for one).
Fixed bugs in display of channels in combo box.


04/Dec/2024 What's new in version 4.50...

Now supports any number of channels.
Previously was limited to 32 channels, any more than that would crash it (oops!)


08/Dec/2023 What's new in version 4.45...

Changed method of setting sample rate by first disposing buffers,
setting sample rate, then recreate buffers to avoid reset request.
Changed so that upon ASIO device reset request, no longer asks for restart. Just does it.
Changed so that on selecting new ASIO device, no longer asks for restart. Just does it.
Created 64 bit version ASIOSigGen64.exe, necessary for testing 64 bit ASIO drivers.


02/Oct/2023 What's new in version 4.35...

Increased max signal duration from 60 seconds to 120 seconds 
...but currently is only tested rigorously to 60 seconds. 
Durations > 60 seconds, especially at higher sample rates at your own risk!
(Of course, all is at your own risk. There is no warranty expressed or implied.)


01/Oct/2023 What's new in version 4.34...

Prevented the Enter key from shutting down the app


03/Oct/2021 What's new in version 4.33...

Added support for 768,000 samples per second


10/Apr/2017 What's new in version 4.32...

A little tweak to the UI


09/Apr/2017 What's new in version 4.31...

Rearranged UI to provide for continuous play, and channel output to left, right, or both channels.


02/Apr/2017 What's new in version 3.31...

Added support for sample rates 192000 and 384000 samples per second, Linear or Logarithmic sweep, extended duration of sinewave to Nyquit limit, extended duration of sinewave or noise to 3600 seconds, extended attenuation to 90 dB, and gave it a new skin


04/Nov/2012 What's new in version 2.30...

Added support for 32 bit float samples.


29/Mar/2010 What's new in version 2.30...

Now require user to restart application for those few sound cards that require a full reset upon sample rate change request. It seems the way I handled it did not work properly on at least one device.


31/Jan/2010 What's new in version 2.20...

Added a wite Gaussian noise generator. 


04/Feb/2007 What's new in version 2.18...

If your default ASIO sound card was off line for some reason, and the configuration file was set to that device, ASIOSigGen would find that it could not open the driver and exit. This was fine, but if you happened to have other devices, you could not access them (unless you were savy enough to modify the configuration file). Now with this latest version, if your default device is off line, it will simply open a different device when you have more than one. The default device then will show as unavailable.
Also made some small cosmetic changes to the layout.


25/Jan/2007 What's new in version 2.17...

Added a pink noise generator. See specifications for more details. Also increased the allowed sweep duration to 60 seconds from 10 - gee - thought I did this already before!


19/Jan/2007 What's new in version 2.16...

Added capability to select ASIO device, and to select the desired output of currently selected device. Updates configuration file automatically to save device preference (but not output preference, which will usually be the default.)


17/Jan/2007 What's new in version 2.15...

I have discovered that some sound cards will send an kAsioResetRequest when you change the sample rate. Since my software didn't handle that beyond calling ASIO->Stop, that would have been the end of it once you changed the sample rate - no more sound. Since the first thing ASIOSigGen did was to attempt to put the sound card into 96,000 samples per second mode, if you had one of these cards, you would never hear anything at all. At least - the MOTU UltraLite (Firewire) does that. Anyhow, now I properly handle kAsioResetRequest by doing a complete reset, and the MOTU, for one, seems happy for it.


22/Dec/2006 What's new in version 2.14...

In my haste to release vers 2.13 with 24 bit sound card support, I must confess that I took a little short cut, generating 32 bit samples, then truncating them to 24 bits. The problem with that was, after carefully removing the tiny bit of DC that may accumulate from converting floating point to integers, I was adding a little DC right back in with that truncation. Sorry if that has thrown off somebody's test results. Anyhow, now I am generating true 24 bit samples for 24 bit sound cards, with 0 DC as the specification says. (I always was generating true samples in the case of 16 or 32 bit cards.)


21/Dec/2006 What's new in version 2.13...

Added support for 24 bit sound cards (which will also work for some 20 bit cards).
There was an issue in the debug output code that was fixed.
Some optimizations were realized in the code that loads the sound buffers.


18/Dec/2006 What's new in version 2.12...

There were issues around choosing the desired ASIO driver where more than one exist. Fixed.


09/Jan/2006 What's new in version 2.11...

I updated the accuracy of the selectable musical notes. In the list box they are displayed with an accuracy rounded up to 6 decimal places, but if you click on a note in the list, that note will display and play with a precision rounded up to 11 decimal places.


06/Jan/2006 What's new in version 2.10...

- no longer need double clicks to choose a musical note or set the sample rate of the sound card. A single click will do.
- added support for 16 bit sound cards, such as the Audigy 2 with it's Creative ASIO driver.
- ASIOSigGen is now tested and found to work with **ASIO4All and a number of Sound Blaster cards such as the Creative Audio PCI, Sound Blaster Live!, and the Audigy 2, as well as with an ac97. (**Manufactures do not provide an ASIO driver for most consumer sound cards, but ASIO4All will emulate an ASIO interface for them. It's free, and you can download it from http://www.asio4all.com/)

- in cases where you have more than one ASIO driver on your computer, there is now a way to select which driver you wish to use. Normally, ASIOSigGen.exe loads the first ASIO driver that it finds. However, it may be that you have ASIO drivers for other devices on your computer, and may need a way to tell ASIOSigGen.exe which driver is for the sound card you are using.

When ASIOSigGen.exe is opened, it creates a debug log called "Dbg.Log". If you read this file, you will see all your ASIO drivers listed by number. For example...


Enumerating ASIO Drivers...

numDev: 0
ASIO4ALL v2
C:\Program Files\ASIO4ALL v2\asio4all.dll

numDev: 1
Digigram ASIO driver
C:\WINDOWS\system32\drivers\Digigram\VXKit\DigiASIO.dll

Found ASIO Configuration file!
nRequestedDrvNum: 0, Num devices: 2
asioOpenDriver success!
Total num devices found: 2
Diver selected...
ASIO4ALL v2
C:\Program Files\ASIO4ALL v2\asio4all.dll

Now in this example, ASIO4ALL was the driver wanted, and it worked out great because ASIOSigGen.exe loads the first driver found - "numDev: 0" - which happened to be ASIO4ALL. But suppose you wanted some other device - such as the Digigram in this example? You need a way to tell ASIOSigGen to load a different driver. To do this, modify simple text file "ASIOConfig.txt" included in NotePad or some other simple text editor. Put the number of the desired driver (as seen in the debug file) as the very first character, in place of the zero now there. That's all there is to it. Make sure that little text file is in the same folder as ASIOSigGen.exe. Next time you run it, it will load the driver requested.



                                  ***

*ASIO is a trademark of Steinberg Media Technologies GmbH