Index of /c/rdaiff
RDAIFF, a tiny audiofile reading utility in C.
Version 0.09, december 30, 2019.
Latest version available at: https://ecomaan.nl/c/rdaiff
Copyright (c) 2004, 2005, 2006, 2019 - Pieter Suurmond
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
Any person wishing to distribute modifications to the Software is
requested to send the modifications to the original developer so that
they can be incorporated into the canonical version.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Users with a graphical user interface on their compilers (IDEs) can simply drop
the two .c files (read_aiff_files.c and rdaiff.c) in a standard ISO/ANSI C-
project. It should compile and run without errors or warnings on all computers.
rdaiff-0.09.tar.gz This complete directory tarred
and gzipped for easier download.
read_aiff_files.c Example program using the RDAIFF API.
rdaiff.h Headerfile specifying the RDAIFF API.
rdaiff.c Implementation (no need to look inside).
Makefile UNIX users may use this to compile and run.
1.aiff Example audio input files.
2.aiff
Running the program with the provided input examples results the following:
Testing the RDAIFF C library.
------------------------------------------
AIFF file: 1.aiff
channels: 4
frames: 9
bits: 16
samplerate: 32000 Hz
bytes per frame: 8
filesize: >118 bytes
duration: 0.2812 milliseconds
------------------------------------------
All 9 frames, converted to floats:
frame: channel0: channel1: channel2: channel3:
0: 0.000000 -0.500000 0.125000 0.000000
1: -0.250000 -0.353546 0.088379 -0.500000
2: -0.433014 0.000000 0.000000 0.000000
3: -0.500000 0.353546 -0.088379 0.500000
4: -0.433014 0.500000 -0.125000 0.000000
5: -0.250000 0.353546 -0.088379 -0.500000
6: 0.000000 0.000000 0.000000 0.000000
7: 0.999969 -0.999969 -1.000000 0.678162
8: 0.000000 0.000031 -0.000031 -0.339081
Again, the same 9 frames, now as shorts:
frame: channel0: channel1: channel2: channel3:
0: 0 -16384 4096 0
1: -8192 -11585 2896 -16384
2: -14189 0 0 0
3: -16384 11585 -2896 16384
4: -14189 16384 -4096 0
5: -8192 11585 -2896 -16384
6: 0 0 0 0
7: 32767 -32767 -32768 22222
8: 0 1 -1 -11111
------------------------------------------
AIFF file: 2.aiff
channels: 2
frames: 212808
bits: 8
samplerate: 22050 Hz
bytes per frame: 2
filesize: >425662 bytes
duration: 9.6512 seconds
------------------------------------------
The (1st of) highest peak(s) in 1st channel of '2.aiff'
found at 4.6344 seconds (absolute value = 95.31 %).
An equivalent C++ library resides at: https://ecomaan.nl/cpp/rdaiffpp
To write AIFF files, take a look at: https://ecomaan.nl/c/wraiff