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 shot -
pitch_to_frequency(hz)
- Set the raw SID freqency from a musical pitch in hz -
frequency_to_pitch
- Get the musical pitch of the current raw SID frequency -
midi_to_frequency(midi_number)
- Set the raw SID frequency from a MIDI note number -
frequency_to_midi
- Get the MIDI note number of the current raw SID frequency -
get_regs
- Return a list of the SID registers for just this voice -
set_regs(regs)
- Set the voice properties from a list of registers
Represents the SID chip filter.
-
cutoff
-
resonance
-
external
-
voice3
-
voice2
-
voice1
-
mute3
-
high_pass
-
band_pass
-
low_pass
-
volume