Differences

This shows you the differences between two versions of the page.

 — cs190c:addfunc [2008/01/31 17:49] (current) 2008/01/31 17:49 seh created 2008/01/31 17:49 seh created Line 1: Line 1: + ===== Project 1: Specification of Additional Functions ===== + + **square_sample(freq,​ amp, dur)** + + This function returns a square wave with frequency freq, amplitude amp, + and duration dur (in seconds). The amplitude should be specified + with a range of 0 to 1 where 1 represents the maximal amplitude. + To obtain the actual amplitude in the sample use the WAVE_MAX value + to scale it to an appropriate value. + + See http://​en.wikipedia.org/​wiki/​Image:​Waveforms.svg for an illustration. + ---- + + **sawtooth_sample(freq,​ amp, dur)** + + This function returns a sawtooth wave with frequency freq, amplitude amp, + and duration dur (in seconds). The amplitude should be specified + with a range of 0 to 1 where 1 represents the maximal amplitude. + To obtain the actual amplitude in the sample use the WAVE_MAX value + to scale it to an appropriate value. + + See http://​en.wikipedia.org/​wiki/​Image:​Waveforms.svg for an illustration. ​ + + ---- + + **ring_modulate(s1,​ s2)** + + This function takes two waves and computes their ring modulation. + The ring modulation is the product of the two input waves. + + In order to calculate the ring modulation of the given waves, each + wave is first scaled so that the samples range from 0 to 1. Each pair + of corresponding sample is multiplied, and then scaled back to the + original range of values (hint: use WAVE_MAX). + + ---- + + **just_scale(freq,​ amp, dur, sampler=sin_sample)** + + This function is essentially the same as the scale in equal + temperment, except that the frequency multipliers should be + the ones provided in the ratios list. + + See also http://​thinkzone.wlonk.com/​Music/​12Tone.htm ​ + + ---- + + **partch_scale(freq,​ amp, dur, sampler=sin_sample)** + + This function produces an ascending partch scale. This scale + contains 43 tones which are calculated using the ratios in + the ratios list. + + The scale is not found in classical music, but rather in + the electronic music of Harry Partch. Even to most musicians + this scale will sound unfamiliar. + + See also http://​sonic-arts.org/​monzo/​partch/​43lattice.htm ​ + + ---- + + **  fade_out(data,​ amount=.1) ** + + This function takes in an array of samples and implements a fading out effect over the last "​amount"​ percent of the samples. ​ + The scaling function may be any decreasing curve, however a straightforward approach is to use a linear function. It may also + be interesting to try this with an exponential function. + + This function is particularly useful for eliminating the "​clicking"​ between samples generated by the other routines.        