converts various waveforms to square wave with adjustable duty cycle
http://www.edn.com/article/CA150819.html
converting a random-width pulse to a signal with the same frequency but with a 50% duty cycle is not easy but a small microcontroller can do it
http://www.edn.com/archives/1996/121996/26di_03.htm
simple arrangement of active-R oscillators can generate an excellent triangular waveform
http://www.edn.com/archives/1995/033095/07di3.htm
Sine to Square and Square to Sine
http://www.wenzel.com/documents/waveform.html