src/cshellsynth/cot.h File Reference

#include <jack/jack.h>
#include <cshellsynth/atomic-types.h>
#include <cshellsynth/synth.h>

Go to the source code of this file.

Data Structures

struct  cs_cot_t

Defines

#define cs_cot_destroy(cs_cot)   cs_synth_destroy((cs_synth_t *) (cs_cot))
#define cs_cot_set_freq(cs_cot, freq)   cs_synth_set_freq((cs_synth_t *) (cs_cot), (freq))
#define cs_cot_set_offset(cs_cot, offset)   cs_synth_set_offset((cs_synth_t *) (cs_cot), (offset))
#define cs_cot_set_amp(cs_cot, amp)   cs_synth_set_amp((cs_synth_t *) (cs_cot), (amp))

Functions

int cs_cot_init (cs_cot_t *self, const char *client_name, jack_options_t flags, char *server_name)

Detailed Description

Cotangent Wave Synth

Ruby version: Synths::Cotangent

This produces a wave of the form cot(wt/2)/2

This is useful because

inf
 Σ sin(nwt) = cot(wt/2)/2
n=1

Note that the ideal cotangent has an infinite peak, though the bandlimited version's peak is finite. You will want to use distortion or some serious amplitude reduction.


Define Documentation

#define cs_cot_destroy ( cs_cot   )     cs_synth_destroy((cs_synth_t *) (cs_cot))

Destroy cot synth

See cs_synth_destroy

#define cs_cot_set_amp ( cs_cot,
amp   )     cs_synth_set_amp((cs_synth_t *) (cs_cot), (amp))
#define cs_cot_set_freq ( cs_cot,
freq   )     cs_synth_set_freq((cs_synth_t *) (cs_cot), (freq))
#define cs_cot_set_offset ( cs_cot,
offset   )     cs_synth_set_offset((cs_synth_t *) (cs_cot), (offset))

Function Documentation

int cs_cot_init ( cs_cot_t self,
const char *  client_name,
jack_options_t  flags,
char *  server_name 
)

Initialize cot synth

See cs_synth_destroy

 All Data Structures Files Functions Variables Typedefs Enumerations Defines
Generated on Thu Sep 2 23:47:09 2010 for cshellsynth by  doxygen 1.6.3