GstBtSidSyn

GstBtSidSyn — c64 sid synthesizer

Synopsis

struct              GstBtSidSyn;
struct              GstBtSidSynV;
enum                GstBtSidSynEffect;
enum                GstBtSidSynWave;

Object Hierarchy

  GObject
   +----GstObject
         +----GstElement
               +----GstBaseSrc
                     +----GstBtAudioSynth
                           +----GstBtSidSyn
  GObject
   +----GstObject
         +----GstBtSidSynV

Implemented Interfaces

GstBtSidSyn implements GstBtTempo, GstPreset, GstChildProxy, GstBtChildBin and GstBtPropertyMeta.

GstBtSidSynV implements GstBtPropertyMeta.

Properties

  "band-pass"                gboolean              : Read / Write
  "children"                 gulong                : Read / Write
  "chip"                     GstBtSidSynChip       : Read / Write
  "cut-off"                  guint                 : Read / Write
  "hi-pass"                  gboolean              : Read / Write
  "low-pass"                 gboolean              : Read / Write
  "resonance"                guint                 : Read / Write
  "tuning"                   GstBtToneConversionTuning  : Read / Write
  "voice3-off"               gboolean              : Read / Write
  "volume"                   guint                 : Read / Write
  "attack"                   guint                 : Read / Write
  "decay"                    guint                 : Read / Write
  "effect-type"              GstBtSidSynEffect     : Write
  "effect-value"             guint                 : Write
  "fiter-voice"              gboolean              : Read / Write
  "note"                     GstBtNote             : Write
  "pulse-width"              guint                 : Read / Write
  "release"                  guint                 : Read / Write
  "ringmod"                  gboolean              : Read / Write
  "sustain"                  guint                 : Read / Write
  "sync"                     gboolean              : Read / Write
  "test"                     gboolean              : Read / Write
  "wave"                     GstBtSidSynWave       : Read / Write

Description

A synthesizer based on the RSID emulation library of the C64 sound chip. The element provides a sound generator with 3 voices. It implements a couple of effects (see GstBtSidSynEffect), which are well known from trackers such as pitch slides, arpeggio and vibrato.

For technical details see: http://en.wikipedia.org/wiki/MOS_Technology_SIDTechnical_details. http://www.waitingforfriday.com/index.php/Commodore_SID_6581_Datasheet.

Example launch line

1
gst-launch sidsyn num-buffers=1000 voice0::note="c-4" ! autoaudiosink
Render a beep.

Details

struct GstBtSidSyn

struct GstBtSidSyn;

Class instance data.


struct GstBtSidSynV

struct GstBtSidSynV;

Class instance data.


enum GstBtSidSynEffect

typedef enum {
  GSTBT_SID_SYN_EFFECT_ARPEGGIO = 0,
  GSTBT_SID_SYN_EFFECT_PORTAMENTO_UP = 1,
  GSTBT_SID_SYN_EFFECT_PORTAMENTO_DOWN = 2,
  GSTBT_SID_SYN_EFFECT_PORTAMENTO = 3,
  GSTBT_SID_SYN_EFFECT_VIBRATO = 4,
  GSTBT_SID_SYN_EFFECT_GLISSANDO_CONTROL = 0xE3,
  GSTBT_SID_SYN_EFFECT_VIBRATO_TYPE = 0xE4,
  GSTBT_SID_SYN_EFFECT_FINETUNE = 0xE5,
  GSTBT_SID_SYN_EFFECT_NONE = 0xFF,
} GstBtSidSynEffect;

Track effects.

GSTBT_SID_SYN_EFFECT_ARPEGGIO

arpeggio

GSTBT_SID_SYN_EFFECT_PORTAMENTO_UP

portamento up

GSTBT_SID_SYN_EFFECT_PORTAMENTO_DOWN

portamento down

GSTBT_SID_SYN_EFFECT_PORTAMENTO

portamento

GSTBT_SID_SYN_EFFECT_VIBRATO

vibrato

GSTBT_SID_SYN_EFFECT_GLISSANDO_CONTROL

glissando control

GSTBT_SID_SYN_EFFECT_VIBRATO_TYPE

vibrato type

GSTBT_SID_SYN_EFFECT_FINETUNE

finetune

GSTBT_SID_SYN_EFFECT_NONE

none

enum GstBtSidSynWave

typedef enum {
  GSTBT_SID_SYN_WAVE_TRIANGLE = (1<<0),
  GSTBT_SID_SYN_WAVE_SAW = (1<<1),
  GSTBT_SID_SYN_WAVE_SAW_TRIANGLE = ((1<<1)|(1<<0)),
  GSTBT_SID_SYN_WAVE_PULSE = (1<<2),
  GSTBT_SID_SYN_WAVE_PULSE_TRIANGLE = ((1<<2)|(1<<0)),
  GSTBT_SID_SYN_WAVE_PULSE_SAW = ((1<<2)|(1<<1)),
  GSTBT_SID_SYN_WAVE_PULSE_SAW_TRIANGLE = ((1<<2)|(1<<1)|(1<<0)),
  GSTBT_SID_SYN_WAVE_NOISE = (1<<3)
} GstBtSidSynWave;

Oscillator wave forms.

GSTBT_SID_SYN_WAVE_TRIANGLE

triangle wave

GSTBT_SID_SYN_WAVE_SAW

saw wave

GSTBT_SID_SYN_WAVE_SAW_TRIANGLE

saw + triangle wave

GSTBT_SID_SYN_WAVE_PULSE

square wave with pulse width modulation

GSTBT_SID_SYN_WAVE_PULSE_TRIANGLE

square + triangle wave

GSTBT_SID_SYN_WAVE_PULSE_SAW

square + saw wave

GSTBT_SID_SYN_WAVE_PULSE_SAW_TRIANGLE

square + saw + triangle wave

GSTBT_SID_SYN_WAVE_NOISE

noise

Property Details

The "band-pass" property

  "band-pass"                gboolean              : Read / Write

Enable BandPass Filter.

Default value: FALSE


The "children" property

  "children"                 gulong                : Read / Write

the number of children this element uses.

Allowed values: [3,3]


The "chip" property

  "chip"                     GstBtSidSynChip       : Read / Write

Chip model to emulate.

Default value: MOS6581


The "cut-off" property

  "cut-off"                  guint                 : Read / Write

Audio filter cut-off frequency.

Allowed values: <= 2047

Default value: 1024


The "hi-pass" property

  "hi-pass"                  gboolean              : Read / Write

Enable HiPass Filter.

Default value: FALSE


The "low-pass" property

  "low-pass"                 gboolean              : Read / Write

Enable LowPass Filter.

Default value: FALSE


The "resonance" property

  "resonance"                guint                 : Read / Write

Audio filter resonance.

Allowed values: <= 15

Default value: 2


The "tuning" property

  "tuning"                   GstBtToneConversionTuning  : Read / Write

Harmonic tuning.

Default value: GSTBT_TONE_CONVERSION_EQUAL_TEMPERAMENT


The "voice3-off" property

  "voice3-off"               gboolean              : Read / Write

Detach voice 3 from mixer.

Default value: FALSE


The "volume" property

  "volume"                   guint                 : Read / Write

Volume of tone.

Allowed values: <= 15

Default value: 15


The "attack" property

  "attack"                   guint                 : Read / Write

Attack.

Allowed values: <= 15

Default value: 2


The "decay" property

  "decay"                    guint                 : Read / Write

Decay.

Allowed values: <= 15

Default value: 2


The "effect-type" property

  "effect-type"              GstBtSidSynEffect     : Write

Effect Type.

Default value: None


The "effect-value" property

  "effect-value"             guint                 : Write

Effect parameter(s).

Allowed values: <= 255

Default value: 0


The "fiter-voice" property

  "fiter-voice"              gboolean              : Read / Write

Filter Voice.

Default value: FALSE


The "note" property

  "note"                     GstBtNote             : Write

Musical note (e.g. 'c-3', 'd#4').

Default value: NONE


The "pulse-width" property

  "pulse-width"              guint                 : Read / Write

Pulse Width.

Allowed values: <= 4095

Default value: 2048


The "release" property

  "release"                  guint                 : Read / Write

Release.

Allowed values: <= 15

Default value: 5


The "ringmod" property

  "ringmod"                  gboolean              : Read / Write

Ringmod with voice 3.

Default value: FALSE


The "sustain" property

  "sustain"                  guint                 : Read / Write

Sustain.

Allowed values: <= 15

Default value: 10


The "sync" property

  "sync"                     gboolean              : Read / Write

Sync with voice 3.

Default value: FALSE


The "test" property

  "test"                     gboolean              : Read / Write

Control test bit.

Default value: FALSE


The "wave" property

  "wave"                     GstBtSidSynWave       : Read / Write

Oscillator waveform.

Default value: Triangle