Python SID Chip is a Python class intended to represent the features and functions of a Commodore SID Chip, making it easier to generate the correct register data for an emulator ( such as SIDcog on the Parallax Propeller ) or for sending to a real chip.
Represents a single voice on a SID chip. Functional on its own, but mostly used as part of SIDChip to form a representation for the whole chip.
frequency- Set the raw frequency of the SID voiceduty_cycle- The the duty cycle of the pulse oscillator, half of the max value is a square wavenoise- True/False - Enable the noise oscillator, this shouldn't be used in conjunction with any other oscillatorsawtooth- True/False - Enable the sawtooth oscillatortriangle- True/Flase - Enable the triangle oscillatortest- True/Falsering- True/False - Ring modulation with the voice belowsync- True/Falsegate- True/False - Enable/Disable the voice, also triggers the ADS and R stages of the envelopeattack- 0 to 15decay- 0 to 15sustain- 0 to 15release- 0 to 15
adsr(attack, decay, sustain, release)- Set the envelope ADSR in one shotpitch_to_frequency(hz)- Set the raw SID freqency from a musical pitch in hzfrequency_to_pitch- Get the musical pitch of the current raw SID frequencymidi_to_frequency(midi_number)- Set the raw SID frequency from a MIDI note numberfrequency_to_midi- Get the MIDI note number of the current raw SID frequencyget_regs- Return a list of the SID registers for just this voiceset_regs(regs)- Set the voice properties from a list of registers
Represents the SID chip filter.
cutoffresonanceexternalvoice3voice2voice1mute3high_passband_passlow_passvolume