I would like to announce LSA (LiSt properties of Audio files). This is a
minimal, lightweight, console, Unix-style program to list various
parameters of audio files.
'Unix-style' means that it tries to do one thing and do it well.
LSA also tries to be fast. It has been written in C, it's multithreading
(creates one thread per physical core), it uses SSE and SSE2 intrinsics
(some people are still using some AMD processors that have no support
for SSE4). If you ever have to wait for results, it's because of hard
drive speed or decompression. Decompression is performed by Audio File
library, so I cannot easily speed up this.
LSA is built on top of Audio File library, so it inherits its list of
supported file formats:
* AIFF/AIFF-C (.aiff, .aifc)
* WAVE (.wav)
* NeXT .snd/Sun .au (.snd, .au)
* Berkeley/IRCAM/CARL Sound File (.sf)
* Audio Visual Research (.avr)
* Amiga IFF/8SVX (.iff)
* Sample Vision (.smp)
* Creative Voice File (.voc)
* NIST SPHERE (.wav)
* Core Audio Format (.caf)
* FLAC (.flac)
Supported compression formats:
* G.711 mu-law and A-law
* IMA ADPCM
* Microsoft ADPCM
* FLAC
* ALAC (Apple Lossless Audio Codec)
The program currently is capable to display the following parameters:
* sample rate;
* sample width;
* sample format (signed or unsigned integer, single or double precision
floating point);
* number of channels;
* length in minutes, seconds, and hours (if necessary) per file;
* total length of all files in actual directory;
* number of frames per file;
* total number of frames of all files in actual directory;
* peak [0..1] per file;
* maximum peak among all files in actual directory;
* compression scheme.
TODO:
* efficiently calculate perceived loudness (as per ITU-R BS.1770-3);
* efficiently calculate loudness range.
LSA repository is here:
https://github.com/mrkkrp/lsa
Documentation: LSA comes with its own man page
License: GNU GPL