Jump to content

The XW-P1 Companion


AlenK

Recommended Posts

Hi Everyone,

I dropped out of these forums a while back. I had simply realized I was spending WAY too much time here and felt I had to quit it cold turkey. I'm popping in now on this the first day of the new year to make what I hope is a significant contribution for XW-P1 enthusiasts. It's a small document called The XW-P1 Companion: A Guide to the Synthesis Capabilities of Casio's XW-P1 Performance Synthesizer. Consider it my late Christmas present to forum members.

Many here have complained about the XW-P1 User's Guide. It does its job but that is all. Hopefully, The XW-P1 Companion will fill in some of the blanks you might have in your understanding of the instrument. Note that as its subtitle says it concentrates on the XW-P1's synthesis capabilities. It doesn't say much about other aspects of the XW-P1 such as its step sequencer, phrase sequencer, arpeggiator or the mixer, except as resources for synthesizing sounds. If I had tried to include all of that I would never have finished the document. Even so it's appearing nearly four years after the XW-P1 was introduced. Why so late? I did it in my spare time, which has been exceptionally rare. Next time I'll try to work faster. :)

The XW-P1 Companion is an independent effort done without the explicit involvement of Casio. Hence, any and all errors are my own. If you see any let me know (there are ALWAYS more errors!). You can PM them to me or reply to this post. However, if you feel you have found a factual error please include a way that I can reproduce or validate the correct operation. If you just say "you're wrong about X" without a specific example that illustrates exactly how, I'm unlikely to follow it up since I just don't have the time to experiment.

Note: The document has been updated. That revision can be downloaded from the thread "The XW-P1 Companion - Rev 4". 

 

  • Like 7
Link to comment
Share on other sites

This is an extremely impressive document, one of the best I've ever read for any instrument. The level of professionalism evident here is certainly worthy of some kind of recognition by Casio, IMO. Perhaps a "GoFundMe" page for AlenK if anyone cares do donate something towards Alenk's efforts. Forgive me if that suggestion is not appropriate (I know this is not the place to go commercial) but still-i can see this took some real time and attention, and definitely should remain archived in some database of Casio literature so it is not lost in the future. Casio, take a look at this. And anyone with an XW, this is a complete sound engneering tutorial for the Casio XW and synthesis in general, at the least. thanks much AlenK!

  • Like 2
Link to comment
Share on other sites

I'd be more than willing to kick in $10 if AlenK decides to go the crowdfunding route.

 

Either that or else he should consider posting this on a POD (Publish On Demand) website that accepts Paypal something like LuLu.com

 

Lord knows I've paid for documentation for my other synths in the past.

 

Gary ;)

Link to comment
Share on other sites

So here's the first correction. Better hearing it for me than someone else, I guess. On page 63 I wrote about using the solo synth's filter to process PCM tones from another zone (or zones):

 

"If you play the keyboard at this point you will hear whatever solo synth tone you selected for zone 1 and the PCM melody tone for zone 2 as both pass through the Total Filter. However, we generally don’t want to hear the solo synth’s oscillators in this case. So we must program and use a new solo synth tone in which all of the oscillators are disabled. (We could alternately program their volumes to zero but since they would then remain active we would be needlessly reducing somewhat the available polyphony of the XW-P1.)"

 

The last two sentences are actually wrong. If you disable all the oscillators in the solo synth, for some reason the Total Filter envelope does not seem to trigger correctly (it will trigger sometimes but not reliably - don't really know what's going on). So you have to keep at least one oscillator on and turn its volume down to zero if you don't want to hear it in your tone.

Link to comment
Share on other sites

Hi Everyone,

I dropped out of these forums a while back. I had simply realized I was spending WAY too much time here and felt I had to quit it cold turkey. I'm popping in now on this the first day of the new year to make what I hope is a significant contribution for XW-P1 enthusiasts. It's a small document called The XW-P1 Companion: A Guide to the Synthesis Capabilities of Casio's XW-P1 Performance Synthesizer. Consider it my late Christmas present to forum members.

Many here have complained about the XW-P1 User's Guide. It does its job but that is all. Hopefully, The XW-P1 Companion will fill in some of the blanks you might have in your understanding of the instrument. Note that as its subtitle says it concentrates on the XW-P1's synthesis capabilities. It doesn't say much about other aspects of the XW-P1 such as its step sequencer, phrase sequencer, arpeggiator or the mixer, except as resources for synthesizing sounds. If I had tried to include all of that I would never have finished the document. Even so it's appearing nearly four years after the XW-P1 was introduced. Why so late? I did it in my spare time, which has been exceptionally rare. Next time I'll try to work faster.

The XW-P1 Companion is an independent effort done without the explicit involvement of Casio. Hence, any and all errors are my own. If you see any let me know. You can PM them to me or reply to this post. However, if you feel you have found a factual error please include a way that I can reproduce or validate the correct operation. If you just say "you're wrong about X" without a specific example that illustrates exactly how, I'm unlikely to follow it up since I just don't have the time to experiment.

Without further ado, the file is attached.

Thank you very much. I have been looking for a book which expands on the handbook for ages. This does the job perfectly. If you ever decide to develop it and publish as a book I would definitely buy it. Thanks again for a great Christmas present.

Link to comment
Share on other sites

On 2016-01-01 at 9:55 AM, happyrat1 said:

I'd be more than willing to kick in $10 if AlenK decides to go the crowdfunding route.

 

Nothing like that. This is a gift to all.

 

I've been writing this thing on and off for a couple of years but I can't remember when I decided on a title for it. I don't honestly know if I happened to see your post here about two years ago that pleaded for someone to write an XW Companion Guide. If I did and that's what inspired the title (it did not inspire the work - I was always planning to write something if only for myself and I was already well into it by the time of your post) then thank you.

Link to comment
Share on other sites

I recall making that suggestion in the forums, as well as suggesting that whomever did so should be fairly compensated.

 

This is a tremendous gift you are making to the community and I sincerely hope that your good karma is rewarded in the future :)

 

Gary ;)

Link to comment
Share on other sites

Thanks again Alen for such a wonderful gift to the XW community. As a G1 owner I can certainly attest to its relevance to that instrument as well.

 

I've just had a few observations after reading it:

 

Section 3.4.6 – Virtual Controllers: I thought that some readers may be left with the impression that virtual controllers can only access the Delay DSP, and then only the Temp Sync parameter via CC#80. It's probably worth pointing out that after an effect is selected from within DSP Edit (i.e., anything other than Bypass) a new DSP submenu opens up as a virtual controller destination in which all parameters of the selected DSP are accessible. This is especially relevant to G1 users for whom sliders 8/16 and Master are not hardwired to control the solo synth DSP.

 

Section 5.2.1 – Step Sequencer as a Source of Modulation: up to 99 sequences can be chained together and looped to give more than 16 steps, for effectively any desired resolution. I doubt that anyone would be bothered trying to create a 1584 step sequence, but accessing 32 steps might be useful.

 

Section 6.1 – Alternative PWM Techniques: it's probably also worth mentioning that Gordon Reid's pseudo PWM technique can be implemented using a two zone Performance for polyphonic PWM. Just save the desired sawtooth, especially Saw Lead 1, 2, or 3, as a user tone with its Vibrato Type set to Square. Layering this user tone with its original preset gives the pseudo PWM setup. Knobs can then be assigned within the Performance to control Vibrato Rate and Depth of the user tone (not the preset tone) and these will operate in real time (unlike the PCM cutoff and envelope parameters) which really helps in finding that pseudo PWM sweet spot.

Link to comment
Share on other sites

BrettM,

 

Those are all good observations. I will be sure to get them into Rev 2. Thanks.

 

PS. I had originally included some G1 specific information in the document but soon concluded that it was unrealistic of me to expect to do the instrument any justice without actually owning one. I had no real choice but to make it all about the P1. Still, given the many similar features (they are after all brothers) I recognize that much of what I wrote may be of use to G1 owners as well.

Link to comment
Share on other sites

Gary,

 

If you remember a conversation here in March 2014 that leveraged off one user's complaint about the manual (and him a self-professed genius) I talked about a hypothetical guide as if it did not exist. I can admit now that I had in fact started writing it almost as soon as I began to figure out the XW-P1 (IIRC I got the thing in late May of 2013). I was only documenting things for myself at first but as a writer I couldn't help organizing it into a real document. And then it just grew. By the time of that conversation I was testing the waters with questions about a "hypothetical" document that in fact already existed (sorry to deceive).

 

But I was not at all sure I could complete it without Casio's explicit involvement. Unfortunately for me (but fortunately for all of OUR benefit) Mike is a VERY busy guy. Furthermore, the engineers that could have given me answers to a boatload of outstanding questions are all in Japan and probably don't speak much if any English. So I just continued to plug away and figured out most of what I needed to know.

 

The document was actually going to be considerably longer. It was going to include a big section on emulating a dozen or so very specific vintage synth sounds (my favorites) and acoustic instruments. I soon realized that it would simply take too long to complete so I re-wrote that section into a discussion of general techniques I had already tried in my programming experiments (with a few specific examples that I thought were particularly fun, like emulating the Solina's triple chorus).

 

I am still working on those specific emulation examples and I intend to publish them in a Volume II along with the sound files. Can't say when THAT might be done but I'm sure Casio will finally release an XW successor before then that will render all of it obsolete! Can't say I'll be too upset. I'm learning a lot in the process.

Link to comment
Share on other sites

AlenK.  I remember that thread quite well.  3 pages of buyer's remorse from someone who returned their unit within days of purchase.  IIRC that thread eventually degenerated into flames and ended up being deleted.  The only thing missing from it was the invocation of Godwin's Law :D :D :D

 

Anyway, my advice is don't give up on the expanded version of the Companion.  Synths are proving to have long lifespans these days of up to 30 years and more.

 

I have no doubt that 15 years from now you'll be seeing XW Synths turning up on Ebay for more than the original list price.

 

The XW's are tomorrow's classics today.

 

Gary ;)

Link to comment
Share on other sites

  • 2 weeks later...

Here's some more, guys and gals (assuming there are any of the latter here, which would be wonderful IMO).

In section 3.4.6 where I talk about the Virtual Controllers of the solo synth I mention that when you need a constant (non-varying) source you can stop one of the LFOs using a rate of zero. I did not mention in that section (because I said it in the section directly above) that you have to choose a sawtooth, ramp or pulse waveform, including Puls 2:2 which is a square wave. Sine or triangle is not useful because these just give you zero amplitude. Whether the constant is positive or negative depends on the chosen waveform. [Note that a Random waveform will also give a non-zero value when the LFO is stopped (most of the time) but one that is apparently chosen when you select the tone. It unfortunately does not give a new random number for every note, which would be useful. If you discover a way around this let me know!]

I also didn't mention, because I overlooked it, that the built-in envelope of each of the solo synth LFOs, which is controlled by the LFO's Delay and Rise parameters, does not re-trigger on legato notes. In other words, the envelope will trigger on the first note but not on subsequent notes so long as you always keep at least one key depressed. This is the "proper" behavior and the one you'll want most of the time, so no worries there. And as it turns out that makes it very useful for creating a modulation source that signals the legato state.

The general idea is to use one of the sawtooth or pulse waves with a Rate of zero. Use a short Delay and a short Rise time so that the envelope reaches full amplitude before your second note. When you depress the first key the value from the LFO is zero because the envelope is just starting. By the time the second note comes the value is at a non-zero constant and will stay there so long as you keep at least one key depressed, which prevents the envelope from retriggering.

This is a useful modulation source for values that are set at note-on time, such as initial level (Init.Level), attack time (Atk.Time) and attack level (Atk.Level) of an envelope, allowing you to make them different for the first note in a legato series of notes. (I'm not sure yet if the other envelope parameters are only set at note-on time or can be changed up to their time of initiation. Regardless, they can be modified by this source too.) In section 6.4.1.1 I describe a rather convoluted way to control the attack time of the "sustain" or "body" wave of a pair of waves to avoid smearing with the attack wave. It requires the player to carefully control velocity. Using an LFO in the way I describe above eliminates this requirement, albeit at the expense of an LFO. I will be revising that part of the document for Rev 2.

 

PS. Maybe this is a bit too esoteric for most readers but when you get deep into programming little things like this are golden. :)

  • Like 2
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.