Linux Audio projects at Kokkini Zita

This site in still under construction. We do apologize for the dust.

Downloads
Papers
Ambisonics
Downloads
Papers
Ambisonics
Downloads
Papers
Ambisonics
Downloads
Papers
Ambisonics

Aeolus

The Aeolus page
Aeolus is a high quality pipe organ emulator using additive synthesis.

Jconv

Jconv is a Convolution Engine for JACK, based on FFT convolution and using non-uniform partition sizes: small ones at the start of the IR and building up to the most efficient size further on. It can perform zero-delay processing with moderate CPU load. Jconv uses the convolution engine designed for Aella, a convolution application for reverberation processing (to be announced later). This distributes the calculation over up to five threads, one for each partition size, running at priorities just below the the one of JACK's processing thread. This engine will become a separate library as soon as I can find the time to write the user documentation.

Main features:

  • Any matrix of convolutions between up to up 64 inputs and 64 outputs, as long as your CPU(s) can handle it.
  • Allows trading off CPU load to processing delay, and remains efficient even when configured for zero delay.
  • Sparse and diagonal matrices are handled as efficiently as dense ones. No CPU cycles or memory resources are wasted on empty cells in the matrix, nor on empty partitions if IRs are of different length.
  • Accepts the same configuration files as Jace (see below).

Zita-resampler

Documentation

Libzita-resampler is a C++ library for resampling audio signals. It is designed to be used within a real-time processing context, to be fast, and to provide high-quality sample rate conversion.

The library operates on signals represented in single-precision floating point format. For multichannel operation both the input and output signals are assumed to be stored as interleaved samples.

The API allows a trade-off between quality and CPU load. For the latter a range of approximately 1:6 is available. Even at the highest quality setting libzita-resampler will be faster than most similar libraries, e.g. libsamplerate.

TetraProc / TetraCal

Screenshots

To be released at the 2007 Linux Audio Conference.

The paper and pressentation can be found here.

TetraProc converts the A-format signals from a tetrahedral Ambisonic microphone into B-format signals ready for recording. Main features:

  • A-B conversion using a classic scalar matrix and minimum phase filters, or
  • A-B conversion using a 4 by 4 convolution matrix using measured or computed impulse responses, or a combination of both.
  • Individual microphone calibration facilities.
  • 24 dB/oct higpass filters.
  • Metering, monitoring and test facilities.
  • Virtual stereo mic for stereo monitoring or recording.
  • Unlimited number of stored configurations.
  • Jack client with graphical user interface.

TetraCal is the microphone calibration application for TetraProc. Given a number of impulse response measurements of a tetrahedral microphome (captured using Aliki, see below) it computes the matching configuration file for TetraProc. Main features:

  • Automatic determination of gain and directivity errors of the A-format microphones.
  • Automatic computation of an A-B matrix compensating for those errors.
  • Frequency and phase response display of all A and B format signals.
  • Interactive adjustment of pre- and post matrix equalisers.

Future versions of TetraCal will also exploit the convolution matrix implemented in TetraProc.

TetraProc is available now, please contact me by e-mail. Release of TetraCal awaits some required changes in Aliki, and completion of the manual that explains the complete calibration procedure.

Calibration service for Core Sound's TetraMic

As one result of a NDA signed with Core Sound, I can offer a free calibration service for anyone using their TetraMic on a Linux system. Given the serial number, I will provide a TetraProc configuration based on the impulse response measurements performed by Core Sound on your microphone. Currently this configuration does not use the convolution capabilities of TetraProc, but the results are excellent even without that. The combination of a very well designed microphone with IR-based calibration provides an affordable Ambisonic recording system of really suberb quality.

Aliki

Manual (PDF) The Aliki page
Aliki is an integrated system for Impulse Response measurements, using the logaritmic sweep method developed by Prof. Angelo Farina. Release 0.0.3-beta is available on the downloads page. It's still very incomplete but it has been used for real measurement work.

AmbDec

Manual (PDF) Screenshots
An Ambisonic decoder for first and second order. Release 0.0.1 is available on the downloads page. Main features:
  • 1st or 2nd order, 2-D or 3-D decoding.
  • Up to 24 speakers (could be extended).
  • Optional dual frequency band decoding.
  • Optional speaker delay and gain compensation.
  • Optional Near-Field effect compensation.
  • Built-in test and Mute/Solo for each speaker.
  • Graphical display of polar patterns, rV, rE (not yet in this release).
  • Unlimited number of presets.
  • Jack client with graphical user interface.

Jaaa

Screenshots
Jaaa (JACK and ALSA Audio Analyser, is an audio signal generator and spectrum analyser designed to make accurate measurements.

Japa

Screenshots
Japa (JACK and ALSA Perceptual Analyser), is a 'perceptual' or 'psychoacoustic' audio spectrum analyser.
In contrast to JAAA, this is more an acoustical or musical tool than a purely technical one. Possible uses include spectrum monitoring while mixing or mastering, evaluation of ambient noise, and (using pink noise), equalisation of PA systems.

Yass

Screenshots
Yet Another Scrolling Scope. Main features: up to 32 channels, variable scrolling speed, automatic gain control, and very light on CPU usage. Beta release available.

Jdelay

This is a small command line JACK app you can use to measure the latency of your sound card. It uses a phase measurements on a set of tones to measure the delay from the output to the input. Accuracy is about 1/1000 of a sample.

HOA NF filters

A set of IIR filters combining forward and inverse Near Field correction for Higher Order Ambisonics, up to 4th order. A 'textbook' implementation of such filters will not work when using single precision floating point. There is a simple solution for this explained in this note which also comes with the sources.

ACweight

High precision A- and C-weighting filter for sound measurements. IIR implementation working at 44.1, 48, 88.2 and 96 kHz. Accuracy should be in the order of 0.1 dB over most of the frequency range (errors occur only close to half the sample frequency). The tarball contains: C++ class, JACK in-process client and LADSPA plugin.

Jnoise

A command line JACK app generating white and pink gaussian noise.

LADSPA plugins

The LADSPA page
Various sets of plugins, both synth modules and audio processing.