I would suggest using numerical engineering tools, such as Matlab. High-level and very powerful. (There's also a free open-source numerical application called Octave. Personally, i never used Octave but it should do the job pretty well).
a few more very simple tips: Instead of clipping the values other than 0-255, you can simply normalize the waveform, then perform rounding.
Also, if you build the various wavefroms using trial & error, you can use logarithmic scales for the amplitude, so that different results will sound more different to the ear.
just my 2 cents...
