The Official daxaif Home Page
Updated September 23, 1999

--> daxaif 1.1 now available - Live audio capture. QuickTime interface, 10 band Equalizer!<--
(Screen Dump from daxaif 1.1 Macintosh program)
daxaif screen dump
The program is recording input from the AV port through the graphics equalizer.
About

Download

FAQs

Bug reports

Credits


About daxaif

daxaif is a no-loss audio compression program which performs live capture or converts audio files, movie sound tracks, or audio CD tracks into a compressed ".dax" file format. This format allows fast locating and selection of audio passages through the use of a clickable compression-factor map. The selections can be played or saved in uncompressed AIFF or further compressed to AIFC format using any QuickTime-supported compresser.

The program demonstrates a recent patented general compression method which is licensed through DAKX, LLC. It is currently available as shareware for the Macintosh only.

Features
  • Drag-and-drop background compression of audio CD's or tracks
  • Drag-and-drop sequential play of compressed dax files
  • Live capture from any Mac audio input port, unlimited recording length
  • 10 band graphics equalizer (PowerPC only)
  • Converts uncompressed aiff and wave files, or any QuickTime-importable audio (aifc, movie tracks, .au, etc.)
  • Up to 255 channels (plays only one or two)
  • Sample rate, size, and stereo->mono conversion
  • Makes 4 through 16 bit dax files
  • Variable compression depending on noise and dynamic range (typically 2-4x)
  • Faster-than-realtime compression of CD stereo (with PowerPC)
  • Audible shift-click cropping of audio selections
  • Fast regeneration of aiff files, or aifc files using any QuickTime-supported compresser.
  • Selectable display colors
  • Makes an interesting audiovisual desktop background
  • Current limitations (v1.1)
  • Some functions disabled unless registered.
  • No direct digital output to CD or SP/DIF devices.
  • No audio cut and paste. Selections must be contiguous.
  • No text or image annotation of passages.
  • Replay not interrupt driven. Sustained foreground tasks will disrupt background playback.
  • Top of Page


    Download daxaif

    Daxaif 1.1 is distributed as US$40.00 shareware. It requires a 68020 or later, and Sound Manager 3.0. The equalizer functions require a PowerPC.

    Daxaif 1.0 is still available and should run on any Mac with System 7 or later.

    Read this vitally important legal disclaimer before downloading.

    daxaif1.1.sit
    Mac - English - Fat Binary

    Icon
    (134 KB)
              
    daxaif1.0.sit
    Mac - English
    Icon
    (88 KB)
           
    daxaif1.0.sea.hqx
    Mac - English
    Icon
    (156 KB)

               
    Include an email address with your shareware payment to receive this free control strip module that plays dax files in the background.

    Hours of high-quality music without wearing out your CD's!
    Module screen dump
            

    Top of Page


    Frequently Asked Questions

    Can .dax files be sent across the internet?
    Certainly, if your browser or mail program supports adding helper applications. Suggest a MIME type of "audio/x-dax" and binary file type ".dax". Save the daxaif preferences with appropriate window locations and sizes, and the "Monitor" button hilighted if you want the file to start playing automatically.

    Try this link for testing your configuration. Here's another longer (111K) example.

    Will daxaif be made available for other platforms?
    A Windows version is under development. Currently it has the basic conversion and play functions. The codec thread is written entirely in stdlib c, so it should be relatively easy to port to other platforms. Contact dak@dakx.com if you want to assist in a port.

    If you're handy with ResEdit and convert daxaif to another language, send me your localized version and I'll add it to the download section. Add your name to the about box if you like, and consider your shareware fee paid in full.

    What is this "map" into the audio?
    The map is generated from the compression factor, the size of the compressed blocks of music (all channels combined) divided by the uncompressed size. A compression factor of 1.0 or 100% means no compression (the worst case for dax compression); a factor of 0.5 or 50% means 2x compression and is represented by a vertical bar half the height of the window. The compression factor tends to follow the amplitude, but also varies with the complexity and noise level. Cymbal crashes, for example, are easily located. The map from even an hours-long dax file can be displayed very quickly and used to play or extract particular audio passages.

    The time index runs from left to right. The map can be "zoomed" up to the block size, typically 1/10 of a second. No substructure can be seen within the block, but internal selections can still be made by listening to the first or last half-second of the passage. A future version might display the individual samples at high zoom.

    The map can sometimes give an interesting insight into the structure of the music and the style of the performance. For example, some of Beethoven's Diabelli Variations as played by Daniel Barenboim.

    What is DAKX compression?
    DAKX or dax stands for difference-adaptive compression. Compression is achieved through prediction of the number of bits required to encode the next datum. Typically this datum is the first or second difference between successive audio samples. The prediction rules contain several parameters which can be varied to find the best compression. In daxaif, the parameters used are g (granularity) and t (threshold). Unused forbidden or "non-sensical" encoder sequences are exploited to incorporate rapid-field expands and repeat counts. The method is also applicable to other waveforms and grayscale, color-indexed, or full-color images. More information and source code is available at dakx.com. Further examples of audio compression can be found at http://www.dakx.com/examples/audio.

    How can I be sure the compressed file is the same as the input file?
    If you check the "Verify" menu item during compression, each and every block is decompressed and compared to the original audio before being written to the .dax file. However, this will not detect disk errors during reading or writing. Transmission or later reading of the .dax file could also have disk errors. Depending on which bits are in error, these can remain unnoticed or be quite apparent over the block they occur in. Since correct decompression of the last sample in each block depends on every bit in the compressed record, something akin to a CRC check could be done, with virtually no overhead, by including an uncompressed last sample for comparison. This is not yet done in daxaif.

    How can I get more compression?
    Three levels of compression are supported: Best Speed, Best Size, and Both. Best Size compresses each block many times searching for the best g and t parameter. Best Speed searches just a small range starting from the last g and t used for the channel, using only half the samples in the block. Both is a compromise between the two. Using Best Size takes about 5 times longer and for typical music gives only a 3-10 percent more compression than Best Speed. But if you are using a fast machine and listening to the audio during the compression (which slows it down to real-time), you might as well use the "Best Size" setting. Note the decompression speed is the same regardless of how the blocks are initially compressed.

    Digitally-mastered audio compresses better than analog-mastered audio. With an analog-mastered CD, "silence" compresses only a factor of three, giving a typical compression "floor" of 30%. With clean digital audio the floor is closer to 5%. A lower floor can be achieved with analog audio by filtering or bandlimiting to reduce the noise. The equalizer provides a very flexible way of doing this.

    Reducing the precision of audio samples is another option. Twelve-bit audio sounds fine on most sound cards. Non-digital audio recorded outside of a sound studio rarely benefits from more than fourteen-bit precision. For typical CD tracks, right-shifting samples two bits will give an extra 20-30% compression. The decompressed files will have low volume unless left-shifted by the same amount. daxaif does this left-shift automatically when playing such files.

    Variable precision could be done on a block basis to maintain a given number of significant bits or constant output bit rate. http://dakx.com/examples/audio/feynman.html compares these various methods for the compression of an old recording of one of R. P. Feynman's undergraduate lectures.

    Significant additional no-loss compression (around 2x more) is possible by applying DAKX compression to the coefficients in fourier space. Daxaif does not contain this version of the codec.

    What is the .dax file format?
    This will most likely be an interim file format since dax compression could easily be incorporated into a compressed AIFF or AIFC standard, should someone like Apple decide to do so. However, to avoid potential future confusion, DAKX, LLC is claiming the dot-dax (".dax") name and two-blue-note symbol as trademarks.

    The header is the same as the AIFF file except for the replacement of "AIFF" by "daxA" in third longword. The Offset and BlockSize longwords contain the directory offset and audio frames per block.

    Each channel is compressed separately in roughly tenth of a second blocks, with channel blocks interleaved. The first longword in each block contains the channel number, compression parameters (first or second difference, g, and t), and the compressed block length. A directory of pointers to the first channel blocks is written at the end of the file. From this directory an audio block can be located by indexing to the first channel block and following the block lengths to successive channels. The directory allows rapid indexing into the audio file at selected time points, and also the rapid computation of the block compression factors for generation of the map display. This directory of longword pointers is very efficiently second-difference DAKX compressed and adds very little to the file size.

    What if the directory is missing?
    The directory is not needed to decode the compressed file. The file can still be played by using the length information at the beginning of each compressed block. The directory is only needed to speed the time indexing into the compressed audio, and can always be recovered by scanning through the file. Daxaif does this automatically as needed.

    Do selections have to start or end on block boundaries?
    No. The selection is made based on the audio frame count from the start of the file. The required starting and ending blocks are located by dividing the frame count by the blocksize. The entire block is decompressed, then the specified starting and ending frames are located within the block. A future version could show the waveform at high zoom to allow accurate selections to be made visually. For now, this must be done by listening to the result.

    What if a bit error occurs?
    If the error affects the implicit code length framing, the decoder will usually increase the code length past the maximum and detect the error. If the error is in a low-order bit, all the following samples in the block will be offset by the same amount. Error recovery is conceivable in both cases (and in fact enhanced by the global effect on the rest of the samples in the block) but not implemented in daxaif.

    If the decompresser requires only 2 MIPS, why can't my old Mac decompress CD Stereo in real time?
    The PowerPC assembly version uses 2 MIPS, the 680x0 version about 5 MIPS because of the smaller number of registers available. Continuous 44.1 KHz stereo replay requires a 20 MHz 68030 or faster.

    I downloaded an AIFF or WAVE file from the internet. Why won't daxaif compress it?
    It is most likely compressed using an unknown codec. Try importing it using QuickTime.

    Top of Page


    Bug reporting

    Your bug reports to bugs@dakx.com are appreciated. Suggestions for improvements or new features are also welcomed.
    The program has successfully run on
  • Mac IIsi, System 7.5.3 (68030) (No realtime compression of 44KHz stereo)
  • Quadra 650, System 7.5.3 (68040) (Approximately realtime CD compression)
  • PowerPC 7500, System 7.6 (PPC 601) (2x realtime CD compression)
  • PowerBook G3, System 8.5 (PPC 750) (5x realtime CD compression)
  • iMac G3, Rev B. (5x) The dual headphone jacks provide very nice audio.
  • Known bugs:
  • File paths (including all subfolders) must be shorter than 255 characters
  • AIFF chunks in the original file other than the sampled sound will not be preserved across compression/decompression cycles.
  • Top of Page


    Credits

  • Initial program by D.A.Kopf, DAKX, LLC.
  • Testing and interface suggestions by Tim Kopf and Myra Collins.
  • Macintosh is a trademark of Apple Computer, Inc.
  • Michael at Decristo46@aol.com for the initial suggestion and extensive testing of the Equalizer.
  • Top of Page


    Disclaimer

    This program is distributed as-is, with no warranty for reliability or fitness of use for any purpose whatsoever. Use at your own risk. There is no guarantee that the dot-dax (".dax") file format will be continue to be supported by DAKX, LLC or anyone else.

    You archive your data with this software at your own risk!

    " Neither DAKX, LLC, or any agency thereof, nor any of its officers, employees, contractors, or subcontractors thereof, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by any of the abovementioned entities. The opinions expressed herein also do not necessarily state or reflect those of any of the abovementioned entities. "
    dot-dax and .dax are trademarks of DAKX, LLC
    QuickTime is a trademark of Apple Computer, Inc.


    Back to Download

    Top of Page