Analog-X64 wrote:Not only, you are making a cool piece of hardware, the demo's also sound cool. I like this Tech one. would love to hear a complete song made of this sequence
But that would take away from building the hardware
Thank you ANX
... and you're perfectly right... making music takes the time from coding the synth
... also I'm not in music making mode at the time... I've not been coding for years, and I missed it a lot, so I've dedicated my time to this for some time now, and I intend on building for as long as the urge is there... especially with me, this is important
Anyway, it's beginning to have the feel of a synth now... which is also why I get inspired to make some short demo's here and there... there is still a lot to code though, especially pitch and pulsewidth modulation routines, but I'm still finetuning the envelopes for the volume and filter... found a little bug in the envelopes yesterday, and I want a switch for changing between hard and soft reseting of the envelopes (so you can choose if they should restart from where they left off, or reset to zero).
I also have to remove a few unnecessary features from the volume envelope, as inversing this envelope and having seperate legato funktion for both filter and volume is not necessary... the whole point of the Micro SID was to make a SID synth that is powerful, but not too complicated to program... this means that every LFO, ENVELOPE or other modulation source will be hardwired to specific parameters... no modulation matrix will be present.
At current I want:
1 Envelope each for Filter, Volume, Pitch 1-2-3 and Pulsewidth 1-2-3
1 LFO each for Filter, Volume, Pitch 1-2-3 and Pulsewidth 1-2-3
That's 8 envelopes, and 8 LFOs
I've not yet decided how to implement wavetable modulation, but it'll be there of course... most likely an 8-step type for all three voices... anyways I'll have to economize with the available patch memory, as I decided to go with 126 bytes of patch data structure.
The reason for the 126 and not the more likely 128 is that MIDI is only 7bit wide in it's data bytes... so to send 8bit bytes you create small packages of 8 bytes containing 1 byte of seven most significant bits and 7 bytes of the 7 lower bits... thus the number of bytes in a patch dump must be dividable by 7... and 126 is closest to 128 bytes.... you could send a last package with 5 dummy bytes in it, but I don't want to make the ekstra code untill I know if it'll be necessary.