Jump to content

XW-P1 resonant filter mod


Jokeyman123

Recommended Posts

I only recently noticed that the cutoff filter as many have already mentioned, could be better, is probably only 4 or 8 bits and is pretty rough with slow sweeps. Hmmm.......I wonder if i could hack this to smooth it out-I'll have to poke around keyboard hackers to see if this has been accomplished with other brand keyboards/filters that had this problem, I seem to recall Casio is not unique in this respect, i thnk Korg has some pretty coarse digital filters in some of their stuff. I know capacitors can smooth out a stepping filter's response, but whether this can be accomplished with the XW, not sure (yet) since this function is I am sure buried deep in a micro-cap in one of the multi-function ICs-maybe even the main CPU which is buried in epoxy (too bad for us hackers!) Sorry Casio but there have been so many cool hacks for the older Casios, why not this one too! I'm still considering taking the guts of my old broken SK76 Generalmusic out, using it's marvelous 76-key assembly and somehow getting my XW complete with panels in there! Don't laugh, it physically sits nicely in there just have to test and modify the keyboard connectors although chances are slim there is any compatibility. Yes I am a bit of a madman it is true! (It could work-brought to you by the lunatic who modified his PX350).

Link to comment
Share on other sites

I'm pretty sure (as in, 100% sure :)) that the filters in the XW are all digital, existing merely as algorithms running on a processor chip, including the solo-synth's resonant filter. The entire signal chain (including parameter control) is undoubtedly digital right until the final output DACs. There would be no possibility to hang a cap on any line made external to the chip that would smooth out the filter cutoff control. The only way to "mod" the solo-synth filter and change its behavior would be to rewrite its algorithm.

 

That said, I have used a technique in some of my patches that I will describe below to mask that roughness you hear with slow sweeps (they don't need to be slow, actually!). Here's what I wrote in The XW-P1 Companion, Volume 1, V2: 

 

"More significantly, stepping can often be heard as a form of “graininess” even when a normal-rate envelope or LFO sweeps the cutoff frequency as it passes through a particular range of the control. It is fairly easy to hear starting an octave above middle C, becoming more obvious the higher the pitch. A workaround that minimizes the artifact’s audibility is to make the attack of the Total Filter envelope faster than the attack of the volume envelopes of the tone’s oscillators. This effectively ensures a lower volume when the artifact happens, masking it. Do the opposite during the release phase of the tone, making the filter envelope’s release time longer than those of the volume envelopes."

 

In The XW-P1 Companion, Volume II, which is still very much a work in progress, I describe this in the context of creating a Minimoog brass lead sound:

 

"[These envelope parameters] were carefully chosen in order to mask a specific “graininess” created in the filter that occurs during modulation of the cutoff frequency by the filter envelope, an unfortunate side effect of the XW-P1's limited DSP processing power. The graininess occurs over a particular region of the control range of the cutoff.  It can heard as the Total Filter envelope travels up from zero to full amplitude and again as it travels down to zero during the release. In order to mask it during the attack an "amp" envelope attack time about twice as slow as the Total Filter's envelope attack time has been chosen, the latter consequently faster than it would have been otherwise. While this is backwards from typical programming of the attack phase it still sounds sufficiently "brassy." Similarly, to mask the graininess during the release a very long release time for the Total Filter envelope has been specified, much longer than the release time of the "amp" envelopes." 

 

Even though this subject has been broached in the XW-P1 forum, the solo-synth's resonant filter in the XW-G1 very likely (like 99.999% likely) behaves in exactly the same way. 

  • Like 1
Link to comment
Share on other sites

2 hours ago, AlenK said:

In The XW-P1 Companion, Volume II, which is still very much a work in progress... 

 

I just wanted to add, to head off the inevitable question, that I have no ETA on this. I just don't get a lot of time during the summer months for anything synthesis related so it's going very slowly.  

Link to comment
Share on other sites

Thank you Alen for your splendidly detailed reply. I suspected as much re the algorithmic nature of this problem. Never thought about changing envelope times and only read through part of your document  once and did not remember this solution. Would have been a lot easier to just be able to replace the filter or a simple mod, too bad. I guess the newer Casio instruments may have solved this problem. 

Link to comment
Share on other sites

The resonant filters in the PX-5S and all the later models do sound much smoother. I don't hear that roughness at all on the filter(s) in the PX-560's Hex Layer mode, which AFAIK are the same in the PX-5S and the MZ-X500. Of course, those filters are only 12dB/octave (two pole). It has yet to be seen if Casio can achieve the same smoothness on a 24dB/octave (four pole) filter like the one in the XW's solo synth. 

 

I was originally very disappointed in the roughness I heard when sweeping the cut-off, as it seems you were too. It was like a third punch to the gut after the initial disappointments of the roughness in the PWM implementation and the aliasing caused by using sync (which, by the way, means you can't use sync of a square wave to do PWM). But this workaround restored my faith somewhat.

 

Because it will be quite a while before Volume II appears, here is an excerpt from it that describes the Moogish brass sound I created using the workaround. As patches go it's nothing special and I'm not claiming any mad "skillz" in sound design. It was created merely as a tutorial.

 

Update (11/24/16): There is a new excerpt with another example of using the resonant filter. See this thread to download it. 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.