/usr/share/SuperCollider/HelpSource/Classes/SinOsc.schelp is in supercollider-common 1:3.8.0~repack-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | class:: SinOsc
summary:: Interpolating sine wavetable oscillator.
related:: Classes/Osc, Classes/FSinOsc, Classes/SinOscFB, Classes/PMOsc, Classes/Klang
categories:: UGens>Generators>Deterministic
Description::
Generates a sine wave.
Uses a wavetable lookup oscillator with linear interpolation.
Frequency and phase modulation are provided for audio-rate modulation.
Technically, code::SinOsc:: uses the same implementation as link::Classes/Osc:: except that its table is fixed to be a sine wave made of code::8192:: samples.
subsection:: Other sinewaves oscillators
LIST::
## link::Classes/FSinOsc:: – fast sinewave oscillator
## link::Classes/SinOscFB:: – sinewave with phase feedback
## link::Classes/PMOsc:: – phase modulation sine oscillator
## link::Classes/Klang:: – bank of sinewave oscillators
## link::Classes/DynKlang:: – modulable bank of sinewave oscillators
::
classmethods::
method::ar, kr
argument::freq
Frequency in Hertz.
Sampled at audio-rate.
argument::phase
Phase in radians.
Sampled at audio-rate.
note::phase values should be within the range +-8pi. If your phase values are larger then simply use code::.mod(2pi):: to wrap them.::
argument::mul
Output will be multiplied by this value.
argument::add
This value will be added to the output.
Examples::
code::
// create an audio-rate sine wave at 200 Hz,
// starting with phase 0 and an amplitude of 0.5
{ SinOsc.ar(200, 0, 0.5) }.play;
// modulate the frequency with an exponential ramp
{ SinOsc.ar(XLine.kr(2000, 200), 0, 0.5) }.play;
// more complex frequency modulatation
{ SinOsc.ar(SinOsc.ar(XLine.kr(1, 1000, 9), 0, 200, 800), 0, 0.25) }.play;
// phase modulation (see also PMOsc)
{ SinOsc.ar(800, SinOsc.ar(XLine.kr(1, 1000, 9), 0, 2pi), 0.25) }.play;
::
|