49 lines
1.2 KiB
Text
49 lines
1.2 KiB
Text
class:: Blip
|
|
summary:: Band limited impulse oscillator.
|
|
related:: Classes/Impulse
|
|
categories:: UGens>Generators>Deterministic
|
|
|
|
|
|
Description::
|
|
|
|
Band Limited ImPulse generator. All harmonics have equal amplitude.
|
|
This is the equivalent of 'buzz' in emphasis::MusicN:: languages.
|
|
|
|
emphasis::Synth-O-Matic:: (1990) had an impulse generator
|
|
called blip, hence that name here rather than 'buzz'.
|
|
|
|
It is improved from other implementations in that it will crossfade
|
|
in a control period when the number of harmonics changes,
|
|
so that there are no audible pops. It also eliminates the divide in
|
|
the formula by using a 1/sin table (with special precautions taken for
|
|
1/0). The lookup tables are linearly interpolated for better quality.
|
|
|
|
warning::
|
|
This waveform in its raw form could be damaging to your ears at high
|
|
amplitudes or for long periods.
|
|
::
|
|
|
|
classmethods::
|
|
|
|
method::ar
|
|
|
|
argument::freq
|
|
Frequency in Hertz.
|
|
|
|
argument::numharm
|
|
Number of harmonics. This may be lowered internally if it would cause aliasing.
|
|
|
|
argument::mul
|
|
|
|
argument::add
|
|
|
|
Examples::
|
|
|
|
code::
|
|
// modulate frequency
|
|
{ Blip.ar(XLine.kr(20000,200,6),100,0.2) }.play;
|
|
|
|
// modulate numharmonics
|
|
{ Blip.ar(200,Line.kr(1,100,20),0.2) }.play;
|
|
::
|
|
|