You downloaded the source code for "dsd2pcm" which is a simple little"filter" program, that takes a DSD data stream on stdin and convertsit to a PCM stream (352.8 kHz, either 16 or 24 bits) and writes it tostdout. The code is split into three modules: (1) dsd2pcm This is where the 8:1 decimation magic happens. It's an implementation of a symmetric 96-taps FIR lowpass filter optimized for DSD inputs. If you feed this converter with DSD64 you get a PCM stream at 352.8 kHz and floating point samples. This module is independent and can be reused. (2) noiseshape A module for applying generic noise shaping filters. It's used for the 16-bit output mode in "main" to preserve the dynamic range. This module is independent and can be reused. (3) main.cpp (file contains the main function and handles I/O)The first two modules are pure C for maximum portability. In addition,there are C++ wrapper headers for convenient use of these modules inC++. The main application is a C++ application and makes use of theC++ headers to access the functionality of the first two modules.Under Linux this program is easily compiled by typing g++ *.c *.cpp -O3 -o dsd2pcmprovided you have GCC installed. That's why I didn't bother writingany makefiles. :-pCheers!SG