Other Generators#

in pysndlib.generators

nssb#

make_nssb(frequency=0, ratio=1.0, n=1)#

Creates an nssb generator. nssb is the single side-band version of ncos and nsin. It is very similar to nxysin and nxycos.

Parameters:
  • frequency – frequency in hz

  • ratio

Returns:

Nssb gen

nssb(gen, fm=0.0)#

returns n sinusoids from frequency spaced by frequency * ratio.

Parameters:
  • gen – nssb gen

  • fm – fm input

Return type:

float

is_nssb(gen)#

returns True if gen is an nssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib nssb

nxysin#

make_nxysin(frequency=0, ratio=1.0, n=1)#

Creates an nxysin generator that produces a sum of ‘n’ sinsoids starting at ‘frequency’, spaced by ‘frequency’.

Parameters:
  • frequency – frequency in hz

  • ratio

  • n

Returns:

nssb gen

nxysin(gen, fm=0.0)#

returns n sines from frequency spaced by frequency * ratio.

Parameters:
  • gen – nxysin gen

  • fm – fm input

Return type:

float

is_nxysin(gen)#

returns True if gen is an nxysin

Parameters:

gen – gen

Return type:

bool

See also

sndlib nxysin

nxycos#

make_nxycos(frequency=0, ratio=1.0, n=1)#

Creates an nxycos generator that produces a sum of ‘n’ sinsoids starting at ‘frequency’, spaced by ‘frequency’.

nxycos(gen, fm=0.0)#

returns n cosines from frequency spaced by frequency * ratio.

Parameters:
  • gen – nxycos gen

  • fm – fm input

Return type:

float

is_nxycos(gen)#

returns True if gen is an nxycos

Parameters:

gen – gen

Return type:

bool

See also

sndlib nxycos

nxy1cos#

make_nxy1cos(frequency=0, ratio=1.0, n=1)#
Creates an nxy1co generator that produces a sum of ‘n’ sinsoids starting at ‘frequency’, spaced by ‘frequency’.

nxy1cos is the same as nxycos, but every other component is multiplied by -1, and “n” produces 2n components.

nxy1cos(gen, fm=0.0)#
Parameters:
  • gen – nxy1cos gen

  • fm – fm input

Return type:

float

is_nxy1cos(gen)#

returns True if gen is an nxy1cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib nxy1cos

nxy1sin#

make_nxy1sin(frequency=0, ratio=1.0, n=1)#

Creates an nxy1sin generator hat produces a sum of ‘n’ sinsoids starting at ‘frequency’, spaced by ‘frequency’. nxy1sin is the same as nxysin, but every other component is multiplied by -1, and “n” produces 2n components.

nxy1sin(gen, fm=0.0)#
Parameters:
  • gen – nxy1sin gen

  • fm – fm input

Return type:

float

is_nxy1sin(gen)#

returns True if gen is an nxy1sin

Parameters:

gen – gen

Return type:

bool

See also

sndlib nxy1sin

noddsin#

make_noddsin(frequency=0, ratio=1.0, n=1)#

Creates an noddsin generator that produces ‘n’ odd-numbered sines spaced by ‘frequency’.

noddsin(gen, fm=0.0)#

returns n odd-numbered sines spaced by ratio.

Parameters:
  • gen – noddsin gen

  • fm – fm input

Return type:

float

is_noddsin(gen)#

returns True if gen is an noddsin

Parameters:

gen – gen

Return type:

bool

See also

sndlib noddsin

noddcos#

make_noddcos(frequency=0, ratio=1.0, n=1)#

Creates an noddcos generator that produces ‘n’ odd-numbered cosines spaced by ‘frequency’.

noddcos(gen, fm=0.0)#

returns n odd-numbered sines spaced by ratio.

Parameters:
  • gen – noddcos gen

  • fm – fm input

Return type:

float

is_noddcos(gen)#

returns True if gen is an noddcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib noddcos

noddssb#

make_noddssb(frequency=0, ratio=1.0, n=1)#

Creates an noddssb generator that produces ‘n’ sinusoids from frequency spaced by 2 * ‘ratio’ * ‘frequency’.

noddssb(gen, fm=0.0)#

Returns n sinusoids from frequency spaced by 2 * ratio * frequency.

Parameters:
  • gen – noddssb gen

  • fm – fm input

Return type:

float

is_noddssb(gen)#

returns True if gen is an noddssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib noddssb

ncos2#

make_ncos2(frequency=0, n=1)#

Creates an ncos2 (Fejer kernel) generator that will produce n sinusoids spaced by frequency scaled by (n-k)/(n+1)

ncos2(gen, fm=0.0)#

returns n cosines from frequency spaced by frequency * ratio.

Parameters:
  • gen – ncos2 gen

  • fm – fm input

Return type:

float

is_ncos2(gen)#

returns True if gen is an ncos2

Parameters:

gen – gen

Return type:

bool

See also

sndlib ncos2

ncos4#

make_ncos4(frequency=0, n=1)#

Creates an ncos4 (Jackson kernel) generator that produces ‘n’ sinusoids spaced by ‘frequency’ scaled by ((n-k)/(n+1))^2

ncos4(gen, fm=0.0)#

returns n cosines from frequency spaced by frequency * ratio.

Parameters:
  • gen – ncos4 gen

  • fm – fm input

Return type:

float

is_ncos4(gen)#

returns True if gen is an ncos4

Parameters:

gen – gen

Return type:

bool

See also

sndlib ncos4

npcos#

make_npcos(frequency=0, n=1)#

Creates an npcos (Poussin kernel) generator that produces n*2+1 sinusoids spaced by frequency with amplitudes in a sort of tent shape.

npcos(gen, fm=0.0)#

returns n*2+1 sinusoids spaced by frequency with amplitudes in a sort of tent shape.

Parameters:
  • gen – npcos gen

  • fm – fm input

Return type:

float

is_npcos(gen)#

returns True if gen is an npcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib npcos

ncos5#

make_ncos5(frequency=0, n=1)#

Creates an ncos5 generator that produces ‘n’ cosines spaced by ‘frequency’. All are equal amplitude except the first and last at half amp.

ncos5(gen, fm=0.0)#

returns n cosines spaced by frequency. All are equal amplitude except the first and last at half amp

Parameters:
  • gen (Ncos5) – ncos5 gen

  • fm – fm input

Return type:

float

is_ncos5(gen)#

returns True if gen is an ncos5

Parameters:

gen – gen

Return type:

bool

See also

sndlib ncos5

nsin5#

make_nsin5(frequency=0, n=1)#

Creates an nsin5 generator that produces ‘n’ sines spaced by ‘frequency’. All are equal amplitude except last at half amp.

nsin5(gen, fm=0.0)#
Parameters:
  • gen – noddssb gen

  • fm – fm input

Return type:

float

is_nsin5(gen)#

returns True if gen is an nsin5

Parameters:

gen – gen

Return type:

bool

See also

sndlib nsin5

nrsin#

make_nrsin(frequency=0, n=1, r=0.5)#
nrsin(gen, fm=0.0)#
Parameters:
  • gen – nrsin gen

  • fm – fm input

Return type:

float

is_nrsin(gen)#

See also

sndlib nrsin

nrcos#

make_nrcos(frequency=0, n=1, r=0.5)#

Creates an nrcos generator that produces ‘n’ cosines spaced by ‘frequency’ with amplitudes scaled by r^k.

nrcos(gen, fm=0.0)#

returns n cosines spaced by frequency with amplitudes scaled by r^k.

Parameters:
  • gen – nrcos gen

  • fm – fm input

Return type:

float

is_nrcos(gen)#

returns True if gen is an nrcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib nrcos

nrssb#

make_nrssb(frequency=0, ratio=1.0, n=1, r=0.5)#

Creates an nrssb generator that produces returns n sinusoids from frequency spaced by frequency * ratio with amplitudes scaled by r^k.

nrssb(gen, fm=0.0)#

returns n sinusoids from frequency spaced by frequency * ratio with amplitudes scaled by r^k.

Parameters:
  • gen – nrssb gen

  • fm – fm input

Return type:

float

is_nrssb(gen)#

returns True if gen is an nrssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib nrssb

nkssb#

make_nkssb(frequency=0, ratio=1.0, n=1)#

Creates an nkssb generator that produces n sinusoids from frequency spaced by frequency * ratio with amplitude k.

nkssb(gen, fm=0.0)#

produces n sinusoids from frequency spaced by frequency * ratio with amplitude k

Parameters:
  • gen – nkssb gen

  • fm – fm input

Return type:

float

is_nkssb(gen)#

returns True if gen is an nkssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib nkssb

nsincos#

make_nsincos(frequency=0, n=1)#
nsincos(gen, fm=0.0)#
Parameters:
  • gen – nsincos gen

  • fm – fm input

Return type:

float

is_nsincos(gen)#

returns True if gen is an nsincos

Parameters:

gen – gen

Return type:

bool

See also

sndlib nsincos

n1cos#

make_n1cos(frequency=0, n=1)#

Creates an n1cos generator that produces a spikey waveform similar to ncos2

n1cos(gen, fm=0.0)#
Parameters:
  • gen – n1cos gen

  • fm – fm input

Return type:

float

is_n1cos(gen)#

returns True if gen is an n1cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib n1cos

npos1cos#

make_npos1cos(frequency=0, n=1)#

Creates an nsincos generator that produces n cosines spaced by frequency with amplitude sin(k*pi/(n+1))/sin(pi/(n+1))

npos1cos(gen, fm=0.0)#

produces n cosines spaced by frequency with amplitude sin(k*pi/(n+1))/sin(pi/(n+1))

Parameters:
  • gen – npos1cos gen

  • fm – fm input

Return type:

float

is_npos1cos(gen)#

returns True if gen is an npos1cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib npos1cos

npos3cos#

make_npos3cos(frequency=0, n=1)#

creates an npos3cos generator that produces n cosines spaced by frequency.

npos3cos(gen, fm=0.0)#

produces n cosines spaced by frequency

Parameters:
  • gen – npos3cos gen

  • fm – fm input

Return type:

float

is_npos3cos(gen)#

returns True if gen is an npos3cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib npos3cos

rcos#

make_rcos(frequency=0, r=1)#

Creates an rcos generator that produces many cosines spaced by frequency with amplitude r^k.

rcos(gen, fm=0.0)#

returns many cosines spaced by frequency with amplitude r^k

Parameters:
  • gen – rcos gen

  • fm – fm input

Return type:

float

is_rcos(gen)#

returns True if gen is an rcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib rcos

rssb#

make_rssb(frequency, ratio=1, r=0.5)#

creates an rssb generator that produces many cosines from frequency spaced by frequency * ratio with amplitude r^k.”

rssb(gen, fm=0.0)#

returns many cosines from frequency spaced by frequency * ratio with amplitude r^k.

is_rssb(gen)#

returns True if gen is an rssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib rssb

rxysin#

make_rxysin(frequency=0, ratio=1, r=0.5)#

creates an rxysin generator (similar to rssb) that produces many sines from frequency spaced by frequency * ratio with amplitude r^k.”

rxysin(gen, fm=0.0)#

returns many sines from frequency spaced by frequency * ratio with amplitude r^k.

Parameters:
  • gen – rxysin gen

  • fm – fm input

Return type:

float

is_rxysin(gen)#

returns True if gen is an rxysin

Parameters:

gen – gen

Return type:

bool

See also

sndlib rxysin

rxycos#

make_rxycos(frequency=0, ratio=1, r=0.5)#

creates an rxycos generator that produces many cosines from frequency spaced by frequency * ratio with amplitude r^k.

rxycos(gen, fm=0.0)#

returns many cosines from frequency spaced by frequency * ratio with amplitude r^k.

Parameters:
  • gen – rxycos gen

  • fm – fm input

Return type:

float

is_rxycos(gen)#

returns True if gen is an rxycos

Parameters:

gen – gen

Return type:

bool

See also

sndlib rxycos

safe_rxycos#

make_safe_rxycos(frequency=0, ratio=1, r=0.5)#

creates a safe-rxycos generator that produces many cosines from frequency spaced by frequency * ratio with amplitude r^k where ‘r’ is restricted to a safe value.

safe_rxycos(gen, fm=0.0)#

returns many cosines from frequency spaced by frequency * ratio with amplitude r^k where ‘r’ is restricted to a safe value.

Parameters:
  • gen – safe_rxycos gen

  • fm – fm input

Return type:

float

is_safe_rxycos(gen)#

returns True if gen is an safe_rxycos

Parameters:

gen – gen

Return type:

bool

ercos#

make_ercos(frequency=0, r=0.5)#

creates an ercos generator (a special case of rcos) that produces many cosines from frequency with amplitude e^(-kr).

ercos(gen, fm=0.0)#

returns many cosines from frequency with amplitude e^(-kr).

Parameters:
  • gen – ercos gen

  • fm – fm input

Return type:

float

is_ercos(gen)#

returns True if gen is an ercos

Parameters:

gen – gen

Return type:

bool

See also

sndlib ercos

erssb#

make_erssb(frequency=0, ratio=1.0, r=0.5)#

creates an erssb generator (a special case of rssb) the produces many sinusoids from frequency spaced by frequency * ratio with amplitude e^(-kr).

erssb(gen, fm=0.0)#

returns many sinusoids from frequency spaced by frequency * ratio with amplitude e^(-kr).

Parameters:
  • gen – erssb gen

  • fm – fm input

Return type:

float

is_erssb(gen)#

returns True if gen is an erssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib erssb

r2cos#

make_r2cos(frequency=0, r=0.5)#

creates an r2sin generator that produces many even-numbered sines from frequency with amplitude r^(2k)/(2k)!.

r2cos(gen, fm=0.0)#

returns many even-numbered sines from frequency with amplitude r^(2k)/(2k)!.

Parameters:
  • gen – r2cos gen

  • fm – fm input

Return type:

float

is_r2cos(gen)#

returns True if gen is an r2cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib r2cos

r2ssb#

make_r2ssb(frequency=0, ratio=1.0, r=0.5)#

creates an r2ssb generator that produces many even-numbered sinusoids from frequency spaced by frequency * ratio, if that makes any sense, with amplitude r^(2k)/(2k)!.

r2ssb(gen, fm=0.0)#

returns many even-numbered sinusoids from frequency spaced by frequency * ratio, if that makes any sense, with amplitude r^(2k)/(2k)!.

Parameters:
  • gen – r2ssb gen

  • fm – fm input

Return type:

float

is_r2ssb(gen)#

returns True if gen is an r2ssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib r2ssb

eoddcos#

make_eoddcos(frequency=0, r=1.0)#

creates an eoddcos generator that produces many cosines from spaced by frequency with amplitude e^(-r).

eoddcos(gen, fm=0.0)#

returns many cosines from spaced by frequency with amplitude e^(-r).

Parameters:
  • gen – eoddcos gen

  • fm – fm input

Return type:

float

is_eoddcos(gen)#

returns True if gen is an eoddcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib eoddcos

rkcos#

make_rkcos(frequency=0, r=0.5)#

creates an rkcos generator that produces many cosines from spaced by frequency with amplitude (r^k)/k.

rkcos(gen, fm=0.0)#

returns many cosines from spaced by frequency with amplitude (r^k)/k.

Parameters:
  • gen – rkcos gen

  • fm – fm input

Return type:

float

is_rkcos(gen)#

returns True if gen is an rkcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib rkcos

rksin#

make_rksin(frequency=0, r=0.5)#

creates an rksin generator that produces many sines from spaced by frequency with amplitude (r^k)/k.

rksin(gen, fm=0.0)#

returns many sines from spaced by frequency with amplitude (r^k)/k.

Parameters:
  • gen – rksin gen

  • fm – fm input

Return type:

float

is_rksin(gen)#

returns True if gen is an rksin

Parameters:

gen – gen

Return type:

bool

See also

sndlib rksin

rkssb#

make_rkssb(frequency, ratio=1, r=0.5)#

creates an rkssb generator that produces many sinusoids from frequency from spaced by frequency * ratio with amplitude (r^k)/k.

rkssb(gen, fm=0.0)#

returns many sinusoids from frequency from spaced by frequency * ratio with amplitude (r^k)/k.

Parameters:
  • gen – rkssb gen

  • fm – fm input

Return type:

float

is_rkssb(gen)#

returns True if gen is an rkssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib rkssb

rkfcos#

make_rkfcos(frequency=0, r=0.5)#

creates an rkfcos (rkf!os) generator that produces many cosines spaced by frequency with amplitude (r^k)/k!.

rkfcos(gen, fm=0.0)#

returns many cosines spaced by frequency with amplitude (r^k)/k!.

Parameters:
  • gen – rkfcos gen

  • fm – fm input

Return type:

float

is_rkfcos(gen)#

returns True if gen is an rkfcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib rkfcos

rkfssb#

make_rkfssb(frequency=0, ratio=1.0, r=0.5)#

creates an rkfssb (rk!ssb) generator that produces many sinusoids from frequency spaced by frequency * ratio with amplitude (r^k)/k!.

rkfssb(gen, fm=0.0)#

returns many sinusoids from frequency spaced by frequency * ratio with amplitude (r^k)/k!.

Parameters:
  • gen – rkfssb gen

  • fm – fm input

Return type:

float

is_rkfssb(gen)#

returns True if gen is an rkfssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib rkfssb

r2kfcos#

make_r2kfcos(frequency=0, r=0.5, k=0.0)#

creates an r2kfcos (r2k!cos) generator that produces many cosines spaced by frequency with amplitude too messy to write down.

r2kfcos(gen, fm=0.0)#

returns many cosines spaced by frequency with amplitude too messy to write down.

Parameters:
  • gen – r2kfcos gen

  • fm – fm input

Return type:

float

is_r2kfcos(gen)#

returns True if gen is an r2kfcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib r2kfcos

k2sin#

make_k2sin(frequency=0)#

creates a k2sin generator that produces many sines spaced by frequency with amplitude 1/(2^k).

k2sin(gen, fm=0.0)#

returns many sines spaced by frequency with amplitude 1/(2^k).

Parameters:
  • gen – k2sin gen

  • fm – fm input

Return type:

float

is_k2sin(gen)#

returns True if gen is an k2sin

Parameters:

gen – gen

Return type:

bool

See also

sndlib k2sin

k2cos#

make_k2cos(frequency=0)#

creates a k2cos generator that produces many cosines spaced by frequency with amplitude 1/(2^k).

k2cos(gen, fm=0.0)#

returns many cosines spaced by frequency with amplitude 1/(2^k).

Parameters:
  • gen – noddssb k2cos

  • fm – fm input

Return type:

float

is_k2cos(gen)#

returns True if gen is an k2cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib k2cos

k2ssb#

make_k2ssb(frequency=0, ratio=1.0)#

creates a k2ssb generator that produces many sinusoids from frequency spaced by frequency * ratio with amplitude 1/(2^k).

k2ssb(gen, fm=0.0)#

returns many sinusoids from frequency spaced by frequency * ratio with amplitude 1/(2^k).

Parameters:
  • gen (K2ssb) – k2ssb gen

  • fm (float) – fm input

Return type:

float

is_k2ssb(gen)#

returns True if gen is an k2ssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib k2ssb

dblsum#

make_dblsum(frequency=0, r=0.5)#

creates a dblsum generator that produces many sines from frequency spaced by frequency * (2k -1) with amplitude r^k (this is buggy)

dblsum(gen, fm=0.0)#

returns many sines from frequency spaced by frequency * (2k -1) with amplitude r^k (this is buggy)

Parameters:
  • gen – dblsum gen

  • fm – fm input

Return type:

float

is_dblsum(gen)#

returns True if gen is an dblsum

Parameters:

gen – gen

Return type:

bool

See also

sndlib dblsum

rkoddssb#

make_rkoddssb(frequency=0, ratio=1.0, r=0.5)#

creates an rkoddssb generator that produces many sinusoids from frequency spaced by frequency * 2 * ratio with amplitude (r^(2k-1))/(2k-1).

rkoddssb(gen, fm=0.0)#

returns many sinusoids from frequency spaced by frequency * 2 * ratio with amplitude (r^(2k-1))/(2k-1).

Parameters:
  • gen – rkoddssb gen

  • fm – fm input

Return type:

float

is_rkoddssb(gen)#

returns True if gen is an rkoddssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib rkoddssb

krksin#

make_krksin(frequency=0, r=0.5)#

creates a krksin generator that produces many sines spaced by frequency with amplitude kr^k.

krksin(gen, fm=0.0)#

returns many sines spaced by frequency with amplitude kr^k.

Parameters:
  • gen – krksin gen

  • fm – fm input

Return type:

float

is_krksin(gen)#

returns True if gen is an krksin

Parameters:

gen – gen

Return type:

bool

See also

sndlib krksin

absin#

make_absin(frequency=0)#

creates an absin generator (abs oscil).

absin(gen, fm=0.0)#

(abs oscil)

Parameters:
  • gen – absin gen

  • fm – fm input

Return type:

float

is_absin(gen)#

returns True if gen is an absin

Parameters:

gen – gen

Return type:

bool

See also

sndlib absin

abcos#

make_abcos(frequency=0, a=0.5, b=0.25)#

creates an abcos generator that produces many cosines spaced by frequency with amplitude (-a+sqrt(a^2-b^2))^k/b^k.

abcos(gen, fm=0.0)#

returns many cosines spaced by frequency with amplitude (-a+sqrt(a^2-b^2))^k/b^k.

Parameters:
  • gen – abcos gen

  • fm – fm input

Return type:

float

is_abcos(gen)#

returns True if gen is an abcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib abcos

blsaw#

make_blsaw(frequency=0, n=1, r=0.5)#

creates a blsaw generator that produces a band-limited sawtooth wave.

blsaw(gen, fm=0.0)#

returns a band-limited sawtooth wave.

Parameters:
  • gen – blsaw gen

  • fm – fm input

Return type:

float

is_blsaw(gen)#

returns True if gen is an blsaw

Parameters:

gen – gen

Return type:

bool

See also

sndlib blsaw

asyfm#

make_asyfm(frequency=0, ratio=1.0, r=1.0, index=1.0)#

create an asymmetric fm gens. can produce same as asymmetric-fm generator or can use is the I0 case set r != 1.0 to get the asymmetric spectra

asyfm(gen, fm=0.0)#

same as asyfum_i. the I0 case of the asymmetric-fm generator

Parameters:
  • gen – asyfm gen

  • fm – fm input

Return type:

float

is_asyfm(gen)#

returns True if gen is an asyfm

Parameters:

gen – gen

Return type:

bool

See also

sndlib asyfm

bess#

make_bess(frequency=0, n=0)#

creates a bessel function (Jn) generator

bess(gen, fm=0.0)#

returns Jn

Parameters:
  • gen – bess gen

  • fm – fm input

Return type:

float

is_bess(gen)#

returns True if gen is an bess

Parameters:

gen – gen

Return type:

bool

See also

sndlib bess

jjcos#

make_jjcos(frequency=0, r=0.5, a=1.0, k=1.0)#

creates a jjcos generator that produces a sum of cosines scaled by a product of Bessel functions.

jjcos(gen, fm=0.0)#

returns a sum of cosines scaled by a product of Bessel functions.

Parameters:
  • gen – jjcos gen

  • fm – fm input

Return type:

float

is_jjcos(gen)#

returns True if gen is an jjcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib jjcos

j0evencos#

make_j0evencos(frequency=0, index=1)#

creates a j0evencos generator that produces a sum of cosines scaled Jk^2(index/2).

j0evencos(gen, fm=0.0)#

returns a sum of cosines scaled Jk^2(index/2).

Parameters:
  • gen – j0evencos gen

  • fm – fm input

Return type:

float

is_j0evencos(gen)#

returns True if gen is an j0evencos

Parameters:

gen – gen

Return type:

bool

See also

sndlib j0evencos

j2cos#

make_j2cos(frequency=0, r=0.5, n=1)#

creates a j2cos generator that produces a sum of cosines scaled in a very complicated way.

j2cos(gen, fm=0.0)#

returns a sum of cosines scaled in a very complicated way.

Parameters:
  • gen – j2cos gen

  • fm – fm input

Return type:

float

is_j2cos(gen)#

returns True if gen is an j2cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib j2cos

jpcos#

make_jpcos(frequency=0, r=0.5, a=0.0, k=1.0)#

creates a jpcos generator that produces a sum of cosines scaled in a very complicated way.

jpcos(gen, fm=0.0)#

returns a sum of cosines scaled in a very complicated way.

Parameters:
  • gen – jpcos gen

  • fm – fm input

Return type:

float

is_jpcos(gen)#

returns True if gen is an jpcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib jpcos

jncos#

make_jncos(frequency=0, r=0.5, a=1.0, n=0)#

creates a jncos generator that produces a sum of cosines scaled in a very complicated way.

jncos(gen, fm=0.0)#

returns a sum of cosines scaled in a very complicated way.

Parameters:
  • gen – jncos gen

  • fm – fm input

Return type:

float

is_jncos(gen)#

returns True if gen is an jncos

Parameters:

gen – gen

Return type:

bool

See also

sndlib jncos

j0j1cos#

make_j0j1cos(frequency=0, index=1)#

creates a j0j1cos generator that produces a sum of cosines scaled in a very complicated way.

j0j1cos(gen, fm=0.0)#

returns a sum of cosines scaled in a very complicated way.

Parameters:
  • gen – j0j1cos gen

  • fm – fm input

Return type:

float

is_j0j1cos(gen)#

returns True if gen is an j0j1cos

Parameters:

gen – gen

Return type:

bool

See also

sndlib j0j1cos

jycos#

make_jycos(frequency=0, r=1.0, a=0.5)#

creates a jycos generator that produces a sum of cosines scaled by Yn(r)*Jn(r).

jycos(gen, fm=0.0)#

returns a sum of cosines scaled by Yn(r)*Jn(r).

Parameters:
  • gen – jycos gen

  • fm – fm input

Return type:

float

is_jycos(gen)#

returns True if gen is an jycos

Parameters:

gen – gen

Return type:

bool

See also

sndlib jycos

jcos#

make_jcos(frequency=0, r=1.0, a=0.5)#

creates a jcos generator. (jcos gen (fm 0.0)) that produces a sum of cosines scaled in some complex manner.

jcos(gen, fm=0.0)#

returns a sum of cosines scaled in some complex manner.

Parameters:
  • gen – jcos gen

  • fm – fm input

Return type:

float

is_jcos(gen)#

returns True if gen is an jcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib jcos

blackman#

make_blackman(frequency=0, n=1)#

creates a blackman generator that produces the nth Blackman-Harris fft data window as a periodic waveform. (n <= 10)

blackman(gen, fm=0.0)#

returns the nth Blackman-Harris fft data window as a periodic waveform. (n <= 10)

Parameters:
  • gen – blackman gen

  • fm – fm input

Return type:

float

is_blackman(gen)#

returns True if gen is an blackman

Parameters:

gen – gen

Return type:

bool

See also

sndlib blackman

fmssb#

make_fmssb(frequency=0, ratio=1.0, index=1.0)#

creates an fmssb generator that produces single-sideband FM.

fmssb(gen, fm=0.0)#

returns single-sideband FM.

Parameters:
  • gen – fmssb gen

  • fm – fm input

Return type:

float

is_fmssb(gen)#

returns True if gen is an fmssb

Parameters:

gen – gen

Return type:

bool

See also

sndlib fmssb

k3sin#

make_k3sin(frequency=0, n=1)#

creates a k3sin generator that produces a sum of sines scaled by k^3.

k3sin(gen, fm=0.0)#

returns a sum of sines scaled by k^3.

Parameters:
  • gen – k3sin gen

  • fm – fm input

Return type:

float

is_k3sin(gen)#

returns True if gen is an k3sin

Parameters:

gen – gen

Return type:

bool

See also

sndlib k3sin

izcos#

make_izcos(frequency=0, r=1.0)#

creates an izcos generator that produces a sum of sines scaled by In(r).

izcos(gen, fm=0.0)#

returns a sum of sines scaled by In(r) :param gen: izcos gen :param fm: fm input :rtype: float

is_izcos(gen)#

returns True if gen is an izcos

Parameters:

gen – gen

Return type:

bool

See also

sndlib izcos

adjustable_square_wave#

make_adjustable_square_wave(frequency=0, duty_factor=0.5, amplitude=1.0)#

creates an adjustable-square-wave generator that produces square-wave where the duty-factor sets the ratio of pulse duration to pulse period.

adjustable_square_wave(gen, fm=0.0)#

returns a square-wave where the duty-factor sets the ratio of pulse duration to pulse period.

Parameters:
  • gen – adjustable_square_wave gen

  • fm – fm input

Return type:

float

is_adjustable_square_wave(gen)#

returns True if gen is an adjustable_square_wave

Parameters:

gen – gen

Return type:

bool

adjustable_triangle_wave#

make_adjustable_triangle_wave(frequency=0, duty_factor=0.5, amplitude=1.0)#

creates an adjustable-triangle-wave generator that produces a triangle-wave where the duty-factor sets the ratio of pulse duration to pulse period.

adjustable_triangle_wave(gen, fm=0.0)#

returns a triangle-wave where the duty-factor sets the ratio of pulse duration to pulse period.

Parameters:
  • gen – adjustable_triangle_wave gen

  • fm – fm input

Return type:

float

is_adjustable_triangle_wave(gen)#

returns True if gen is an adjustable_triangle_wave

Parameters:

gen – gen

Return type:

bool

adjustable_sawtooth_wave#

make_adjustable_sawtooth_wave(frequency=0, duty_factor=0.5, amplitude=1.0)#

creates an adjustable-sawtooth-wave generator that produces a sawtooth-wave where the duty-factor sets the ratio of pulse duration to pulse period.

adjustable_sawtooth_wave(gen, fm=0.0)#

returns a sawtooth-wave where the duty-factor sets the ratio of pulse duration to pulse period.

Parameters:
  • gen – adjustable_sawtooth_wave gen

  • fm – fm input

Return type:

float

is_adjustable_sawtooth_wave(gen)#

returns True if gen is an adjustable_sawtooth_wave

Parameters:

gen – gen

Return type:

bool

adjustable_oscil#

make_adjustable_oscil(frequency=0, duty_factor=0.5)#

creates an adjustable-oscil generator that produces a sinusoid where the duty-factor sets the ratio of pulse duration to pulse period.

adjustable_oscil(gen, fm=0.0)#

returns a sinusoid where the duty-factor sets the ratio of pulse duration to pulse period.

Parameters:
  • gen – adjustable_oscil gen

  • fm – fm input

Return type:

float

is_adjustable_oscil(gen)#

returns True if gen is an adjustable_oscil_wave

Parameters:

gen – gen

Return type:

bool

round_interp#

make_round_interp(frequency=0, n=1, amplitude=1.0)#

creates a round-interp generator that produces a rand-interp sequence low-pass filtered by a moving-average generator of length n.

round_interp(gen, fm=0.0)#

returns a rand-interp sequence low-pass filtered by a moving-average generator of length n.

Parameters:
  • gen – round_interp gen

  • fm – fm input

Return type:

float

is_round_interp(gen)#

returns True if gen is an round

Parameters:

gen – gen

Return type:

bool

nchoosekcos#

make_nchoosekcos(frequency=0, n=1, amplitude=1.0)#

creates an nchoosekcos generator that produces a sum of cosines scaled by the binomial coefficients

nchoosekcos(gen, fm=0.0)#

returns a sum of cosines scaled by the binomial coefficients

Parameters:
  • gen – nchoosekcos gen

  • fm – fm input

Return type:

float

is_nchoosekcos(gen)#

returns True if gen is an nchoosekcos

Parameters:

gen – gen

Return type:

bool

sinc_train#

make_sinc_train(frequency=0, n=1)#

creates a sinc-train generator with n components

sinc_train(gen, fm=0.0)#

returns a sinc-train

Parameters:
  • gen – sinc_train gen

  • fm – fm input

Return type:

float

is_sinc_train(gen)#

returns True if gen is an sinc_train

Parameters:

gen – gen

Return type:

bool

pink_noise#

make_pink_noise(n=1)#

Creates a pink-noise generator with n octaves of rand (12 is recommended).

pink_noise(gen, fm=0.0)#

Returns the next random value in the 1/f stream produced by gen.

Parameters:
  • gen – pink_noise gen

  • fm – fm input

Return type:

float

is_pink_noise(gen)#

returns True if gen is an pink_noise

Parameters:

gen – gen

Return type:

bool

brown_noise#

make_brown_noise(frequency, amplitude=1.0)#

Returns a generator that produces brownian noise.

brown_noise(gen, fm=0.0)#

returns the next brownian noise sample

Parameters:
  • gen – brown_noise gen

  • fm – fm input

Return type:

float

is_brown_noise(gen)#

returns True if gen is an brown_noise

Parameters:

gen – gen

Return type:

bool

green_noise#

make_green_noise(frequency, amplitude=1.0, low=-1.0, high=1.0)#

Returns a new green-noise (bounded brownian noise) generator.

green_noise(gen, fm=0.0)#

returns the next sample in a sequence of bounded brownian noise samples.

Parameters:
  • gen – green_noise gen

  • fm – fm input

Return type:

float

is_green_noise(gen)#

returns True if gen is an green_noise

Parameters:

gen – gen

Return type:

bool

green_noise_interp#

make_green_noise_interp(frequency, amplitude=1.0, low=-1.0, high=1.0)#

Returns a new green-noise (bounded brownian noise) generator.

green_noise_interp(gen, fm=0.0)#

Returns the next sample in a sequence of interpolated bounded brownian noise samples.

Parameters:
  • gen – green_noise_interp gen

  • fm – fm input

Return type:

float

is_green_noise_interp(gen)#

returns True if gen is an green_noise_interp

Parameters:

gen – gen

Return type:

bool

moving_sum#

make_moving_sum(n=128)#

returns a moving-sum generator that produces the sum of the absolute values in a moving window over the last n inputs.

moving_sum(gen, insig=0.0)#

returns the sum of the absolute values in a moving window over the last n inputs. :param gen: moving_sum gen :param fm: fm input :rtype: float

is_moving_sum(gen)#

returns True if gen is an moving_sum

Parameters:

gen – gen

Return type:

bool

moving_variance#

make_moving_variance(n=128)#

returns a moving-variance generator that produces the variance of the values in a moving window over the last n inputs.

moving_variance(gen, insig=0.0)#

returns the variance of the values in a moving window over the last n inputs. :param gen: moving_variance gen :param fm: fm input :rtype: float

is_moving_variance(gen)#

returns True if gen is an moving_variance

Parameters:

gen – gen

Return type:

bool

moving_rms#

make_moving_rms(n=128)#

returns a moving-rms generator that produces the rms of the values in a window over the last n inputs.

moving_rms(gen, insig=0.0)#

returns the rms of the values in a window over the last n inputs. :param gen: moving_rms gen :param fm: fm input :rtype: float

is_moving_rms(gen)#

returns True if gen is an moving_rms

Parameters:

gen – gen

Return type:

bool

moving_length#

make_moving_length(n=128)#

returns a moving-length generator that produces the length of the values in a window over the last few inputs.

moving_length(gen, insig=0.0)#

returns the length of the values in a window over the last few inputs.

Parameters:
  • gen – moving_length gen

  • fm – fm input

Return type:

float

is_moving_length(gen)#

returns True if gen is an moving_length

Parameters:

gen – gen

Return type:

bool

weighted_moving_average#

make_weighted_moving_average(n=128)#

returns a weighted-moving-average generator that produces the sum of the last n inputs weighted by 1/n

weighted_moving_average(gen, insig=0.0)#

returns the sum of the last n inputs weighted by 1/n :param gen: weighted_moving_average gen :param fm: fm input :rtype: float

is_weighted_moving_average(gen)#

returns True if gen is an weighted_moving_average

Parameters:

gen – gen

Return type:

bool

exponentially_weighted_moving_average#

make_exponentially_weighted_moving_average(n=128)#

returns an exponentially-weighted-moving-average generator that produces the sum of the last n inputs weighted by (-n/(n+1))^k

exponentially_weighted_moving_average(gen, insig=0.0)#

returns the sum of the last n inputs weighted by (-n/(n+1))^k :param gen: exponentially_weighted_moving_average gen :param fm: fm input :rtype: float

is_exponentially_weighted_moving_average(gen)#

returns True if gen is an exponentially_weighted_moving_average

Parameters:

gen – gen

Return type:

bool

polyoid#

make_polyoid(frequency, partial_amps_and_phases)#

returns a polyoid generator that combines the first and second Chebyshev polynomials to provide a sum of sinusoids each with arbitrary amplitude and initial-phase.

polyoid(gen, fm=0.0)#

returns sum of sinusoids each with arbitrary amplitude and initial-phase. :param gen: polyoid gen :param fm: fm input :rtype: float

is_polyoid(gen)#

returns True if gen is an polyoid

Parameters:

gen – gen

Return type:

bool

See also

sndlib polyoid

tanhsin#

make_tanhsin(frequency=0, r=1.0)#

returns a tanhsin generator that produces tanh(r*sin) which approaches a square wave as r increases.

tanhsin(gen, fm=0.0)#

returns tanh(r*sin) which approaches a square wave as r increases.

Parameters:
  • gen – tanhsin gen

  • fm – fm input

Return type:

float

is_tanhsin(gen)#

returns True if gen is an tanhsin

Parameters:

gen – gen

Return type:

bool

See also

sndlib tanhsin

make_table_lookup_with_env(frequency, pulse_env, size=512)#

creates a table lookup generator from an envelope

make_wave_train_with_env(frequency, pulse_env, size=512)#

creates a wave train generator from an envelope