A method of generating a musical tone waveform sample at each sampling time, by the use of a processing unit carrying out an arithmetic operation every repetition period that is longer than said sampling time, by determining an envelope value of said waveform sample at said each sampling time through an approximation of an envelope characteristic of a waveform of a musical tone to be generated by a polygonal line formed by a plurality of segments, each of which has a length corresponding to said repetition period, comprising the steps of:
- determining an envelope value of a first waveform sample of waveform data of said musical tone to be generated for said repetition period;
- multiplying said envelope value of said first waveform sample by a predetermined attenuation factor to obtain an envelope value of a last waveform sample of said waveform data for said repetition period;
- calculating a difference between said envelope value of said first waveform sample and said envelope value of said last waveform sample, said difference corresponding to each of said segments of said polygonal line;
- obtaining a decremental or incremental value per said each sampling time, based on said difference;
- and
- determining said envelope value of said waveform sample at said each sampling time by adding said decremental or incremental value to an envelope value of an immediately preceding waveform sample.