Shibatch Audio Tools - Quality Audio Tools and More

These are free tools made by Naoki Shibata.



SSRC - High Quality Audio Sampling Rate Converter

This program converts the sampling rate of a PCM wav file. 44.1kHz sampling rate is used for a CD, and 48kHz is used for a DVD. However, converting between these frequencies is hard, because the ratio beteen these two frequencies is 147:160, which are not small numbers. Accordingly, we need a very long FIR filter in order not to degrade the sound quality during conversion. This program utilizes FFTs to apply the FIR filter in order to reduce the amount of computation.

This program also has a function to apply dither to extend the perceived dynamic range. It is optimized for human's ear characteristics.

You can download the program here. Some experimental results are shown here.

SuperEQ - High Quality Audio Equalizer

An accurate equalizer for winamp 2(yes, it's old). It uses FIR filter with 16383 taps, which is substantially longer than other equalizers. Although it has many knobs to change frequency characteristics, it does not degrade audio quality.

You can download the program here. Here is an article explaining how to compensate for suboptimal frequency response of your speakers using an EQ.

mp3guessenc - Encoder Estimator

Now, Elio Blanca is maintaining his versions of mp3guessenc at This is a utility to guess which encoder is used to encode a given mp3 file(or another kind of file).

Other Programs

Probably you can find what you are looking for in this directory.

Note: The mpg123 plugin does not improve mp3 decoding quality. It used to be effective because of a bug in the mp3 decoder in very old versions of winamp. There is no such bug anymore.


SLEEF - SIMD Library for Evaluating Elementary Functions

Most of today's processors have capabilities to execute SIMD instructions, and we can expect significant speed-ups in various kinds of computation if these instructions are properly used. But, this is technically hard because many popular programming techniques like table look-ups, conditional branches, scattering/gathering operations can easily slow down the computation. With this library, the trigonometric functions(sin, cos, tan, sincos), inverse trigonometric functions(asin, acos, atan, atan2), exponential and logarithmic functions(exp, log, pow, exp2, exp10, expm1, log10, log1p), hyperbolic/inverse hyperbolic functions(sinh, cosh, tanh, asinh, acosh, atanh), and some other functions(cbrt, ilogb, ldexp) can be evaluated in both double precision and single precision without table look-ups, scattering from, or gathering into SIMD registers, or conditional branches using SSE2, AVX, AVX2, FMA4, or ARM NEON instruction sets.

You can download the library here.

You can see the javadoc here.

You can read the paper about the previous version of the library here. Here you can see presentation slides.

Many of the techniques used in SLEEF 2 are described in Elementary Functions: Algorithms And Implementation written by Jean-Michel Muller.

NSFFT - Simple, Small and Portable Fast Fourier Transform Library

NSFFT is yet another FFT library for performing 1-dimensional discrete Fourier transforms. NSFFT is a simple, small and portable library, and it is efficient since it can utilize SIMD instruction sets (SSE, SSE2, AVX for x86, NEON for ARM, and AltiVec for PowerPC) in modern processors. It performs multiple transforms simultaneously, and thus it is especially suitable for digital signal processing. It does not need so much computation to make a good execution plan. This library is in public domain, so that you can incorporate this library into your product without any obligation.

You can download the library here. You can read the reference manual here.

BAUM : Software Package for Recognizing Blur-Resistant Markers

Motion blur can be a problem in detecting markers when the camera or the object is moving. BAUM is a software library for drawing and recognizing circular barcodes that are designed to be relatively tolerant of linear motion blur. With this library, those circular barcodes can be recognized from video in real time from Full HD videos utilizing a desktop GPU. Read more

GPUMarkerTracker - GPGPU-Assisted Tracking Software Library for Fiducial Markers

GPUMarkerTracker is a tracking software library for AR (augmented reality) markers. It utilizes GPGPU for fast and accurate tracking. It is intended for detecting markers from an HD resolution video so that small markers placed far from the camera can be detected. Read more


Connected Component Labeling Algorithm for GPGPU

Connected Component Labeling(CCL) is a well known technique for assigning a unique label to each of connected components in a given binary image. In this article, I explain a CCL algorithm suitable for GPGPU execution. Here.

How to compensate for suboptimal frequency response of your speaker using EQ

Bad freqency response could be the reason that your speaker is sounding badly. In this article, I explain how to compensate for suboptimal frequency response, using the Super EQ plugin. Here.

Contact : e-mail address

Get Shibatch Audio Tools at Fast, secure and Free Open Source software downloads