Just thought I'd use this forum for a bit of shameless self-promotion of the synthesizer that I'll soon be releasing. It's based around the Atmega328P and Arduino platform. It'll all be open source, so the code can be tweaked and uploaded.
It's never going sound super smooth like a Moog or something. But it's not supposed too. It's 8-bit and trying to do an almighty amount of processing at only 16Mhz!
Check out the demos and you'll hear that it sounds great!! https://soundcloud.com/soulsby-synthesizers/sets/atmegatron-demos
paulsoulsby:
It's never going sound super smooth like a Moog or something. But it's not supposed too. It's 8-bit and trying to do an almighty amount of processing at only 16Mhz!
The clicks are barely noticeable in that track. There's some really nice sounds...
The really annoying clicks in the 'sneak preview' video are the sort you can hear between 1:50 and 2:00 when the sounds shut off. To me it sounds like you're changing the volume at non-zero-crossing-points in the waveform (you should only change 'volume' when the wave crosses zero).
Ah yes, I see what you mean now. Yes unfortunately it can't detect zero crossing. The interrupt used for the audio has to loop around the wavetable as fast as possible. Even a few lines of code to check for zero crossing would be too much
However you can put a very short attack and decay time on the amplitude envelope which will sort this out. I had both times set to 0 for that demo. Maybe I'll change those values for the default sound.