jaytee Posted December 16, 2015 Report Share Posted December 16, 2015 I was hoping that someone a little more well-versed in wavetable sequencing could help me out. I'm pretty comfortable with 90% of the features in my sammichSID, and it's my go-to synth when it comes to complex sound design (the mod matrix, the crazy envelopes, six oscillators and two filters to play with; the only thing I own that's more powerful is my K2000, and it's not nearly as fun) but I've stayed away from the wavetable sequencer until now. However, I find myself wanting to roll my own drum sounds (and perhaps experiment with the other sound design possibilities that the WTs open up) and that is gonna require me to learn. For the most part, it actually all feels pretty straightforward. I understand the concept, I've played with parameter sequencing on other synths before, and I'm used to the limited interface of the sammichSID by now. The one thing I can't wrap my head around, however, is the waveform parameter. In the parameter chart here, the "description" column shows the parameter as a 7-bit number (0-127), with each bit controlling a different flag. However, the "range" column claims that this parameter only goes from 0-15 (4-bit number). Then there's the "reset" column, which in other parameters seems to be the "off" or "neutral" position (typically the highest, lowest or median value within the possible range), but here is mysteriously listed as "4." Can anyone elaborate on how this parameter works? FWIW, I tried to figure it out based on both trial and error as well as following the v1 WT tutorial. Trial and error got some interesting and reproducible results, but I still couldn't figure out what values corresponded to which waveforms. Following the tutorial (just the first section on creating a kick drum), I got some truly strange and inconsistent results, with each consecutive keypress slowly morphing from a tonal sound to noise before going silent; sometimes I could get this behavior to reset, while other times the sammichSID would just stay silent until switching patches. Really weird stuff. the only other thing I'm having a little trouble with is the relative values vs the absolute values. Do they function basically the same, and are just both present to accommodate different parameters that make more sense with one than the other? Or is there something more complex happening that I don't get? I only realized that both were present about halfway through my experimentation, so it's fully possible that some of my difficulties were due to setting the wrong type of value (ie setting +04 instead 04). Does that sound right? thanks for the help. Quote Link to comment Share on other sites More sharing options...
TK. Posted December 16, 2015 Report Share Posted December 16, 2015 Thanks for the detailed explanation, it gave me a clear picture about the missing/inconsistent information! The waveform parameter range was wrongly documented, it goes from 0-127 (now fixed in SVN repository). Because it's a 7-bit value; each bit represents a function: | | Bit 0: Triangle | | | | Bit 1: Saw | | | | Bit 2: Pulse | | | | Bit 3: Noise (disables all other waveforms)| | | | Bit 4: Disable Voice | | | | Bit 5: Sync | | | | Bit 6: Ringmodulator | | The resulting decimal value can be calculated with a binary->decimal conversion, which is obvious for programmers (we know the numbers by heart, especially the hexadecimal representation), but they are not obvious for newbies. If you want to enter these kind of "switches" efficiently, I recommend to learn how to handle hexadecimal numbers. -> google for "binary hexadecimal", and try to find the best explanation. The bitwise handling is required, since the SID allows to activate multiple waveforms at once + some special audio paths (sync and ringmodulation). They are all controlled from a single parameter to allow concurrent changes, which results into the magic 8bit sounds (try to do the same with a common synthesizer, and you will notice that multiple CCs or SysEx command might be required, resulting into a delay between each change command -> you won't be able to switch between very different waveform shapes) The reason why you probably think that the waveform parameter behaves randomly: each parameter with such a bitwise structure shouldn't be handled with relative values (+/- x). Use absolute values instead (without +/-) to set the bits (= switches) directly independent from the previous value. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
jaytee Posted December 28, 2015 Author Report Share Posted December 28, 2015 (edited) Ok, that the documentation was wrong clears a lot of stuff up. Logically, I knew it had to be a 7-bit parameter, but the parameter list was throwing me for a loop. I don't know the digital conversions by heart, but I'm familiar enough with the process. I wrote a patching interface in Lemur for my MKS-7, which handles several sysex parameters in the same way. I still can't figure out what I was doing wrong with the tutorial though. Even if the values I was using were incorrect (ie relative instead of absolute), I don't know why the sound would have been inconsistent upon each keypress. I'll have to go back and try it again to see if I can replicate my results. If so, I'll post a recording and take note of my settings. Edited December 28, 2015 by jaytee Quote Link to comment Share on other sites More sharing options...
TK. Posted December 29, 2015 Report Share Posted December 29, 2015 With relative changes the sound will be different with each keypress - that's a feature! (of course, not so relevant for the waveform parameter, but nice for some other parameters) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
jaytee Posted January 1, 2016 Author Report Share Posted January 1, 2016 ding! I understand it now. Amazing. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.