Is your nick supposed to mean "Hagbard Celine"? In this case, I'd say "Think for yourself, schmuck!" ;-)
Assembling a .wav file that contains 18000 spoken characters is not a good idea. It will be huge, and it's far more elegant to write a program that reads the file and produces the corresponding sound on-the-fly:
If you just want to let the world know about the DNA sequence of a mitochondrion, it's probably more convenient to assemble a MIDI file where each instrument corresponds to a nucleoside. It will be much less boring to listen to, and it's easier to remember ;-)Code:char file[10]; while((c = fgetc(fp)) != EOF) { sprintf(file, "%c.wav", c); call_external_program("my_wavplayer %s", file); }
MP3 is a streaming format, so simply appending two mp3 files should also work. On my system, I tested it with "cat a.mp3 b.mp3 >> c.mp3 && mpg123 c.mp3" and it worked perfectly. Don't forget to remove the ID3 tag from a.mp3 (i.e. the last 128 bytes), if it has one. You can easily do this with a hex editor, because the first three bytes of the ID3 tag are 'T', 'A' and 'G', if I remember correctly.
If you still insist on generating .wav files, I'd suggest using a library that reads and understands .wav files. Maybe SDL is a good starting point, but actually I don't know anything about graphics and sound programming. If this is supposed to be a short hack, I'd use Perl and whatever module that implements .wav support.
Greets,
Philip