Use provided Makefile
./wavcodec encode <input.wav> <output.wav> OR ./wavcodec decode <input.wav>
I discuss a simple test of this utility on my portfolio website, here's a link to that page: Audio Steganography
Given a input wave file of sufficient size, a binary file can be encoded into the bits of the input file, producing an output wave file, which has the exact size, properties and playback capabilties as the original file, within which is encoded as noise which is hard to detect by a human.
The codec doesn't require the original file to decode, hence the original can be safely destroyed without compromising the integrity of the payload.
Depending on the size of message and ballast file, the program can determine how many bits to use in order to try and maintain the noise introduced to be minimum.
The provided source code can be altered with relative ease for multithreaded perfomance, as the problem at hand is embarrasingly parrallel.
This module is part of CS241 Honors (CS296-41) Project: Steganography Toolset which I helped in creating along with my two team members Dan Johnson and Anton Bershianskiy. The orginal project can be found at this link.