Another way - depending on what waveforms you want - is to progresively overdrive an OTA. Running a triangle in, as you increase the level, the output goes from triangle thru sine & then into rounded square. paul perry melbourne australia