# C-Based Sound File Creation Programs Writing two C programs capable of manipulating sound, one that removes vocals from stereo .wav sound files, another that adds reverberating echoes to monophonic .wav sound files. Both programs rely on command-line arguments to execute, performing file I/O functions on user inputted .wav files to output an appropriately transformed .wav. Makes use of dynamically allocated memory storage to minimize memory wastage so as to operate on input files exceeding several gigabytes. addecho-c-man-page ### Programs **addecho.c** mixes in echo sounds to a provided input .wav file, offering the user freedom to choose the manner in which each echo sound is played. Users can indicate how many _n_ sample bytes the program should wait before mixing in an echo to a corresponding sound and by how much volume _m_ to scale down resounding echoes of each noise, all through the command-line. The program works by modifying the sample bytes following a given sound, mixing the _n_-previous samples volume-scaled by the _m_ parameter with these bytes as part of a computation that applies the intended echo effect. **remvocals.c** has the capacity to remove vocals produced by singing, speaking, chanting, etc. that are provided as part of an input stereo PCM .wav file by the user through the command-line. It does so by methodically altering the values of sound bytes within the .wav based on an algorithm that exploits how stereo files are composed. Ultimately, remvocals.c outputs a resulting .wav file with all vocals removed.