Casiotone Consonant Vowel Synthesis

Hello, all.

Recently, I have been trying to recreate some of my favorite Casiotone patches on the Shruthi with mixed success. Casiotone Consonant Vowel Synthesis is simply composed of two square-type waves which are independently mixed together. This process happens in three major steps – two of which the Shruthi already supports.

1: Create a square wave or multipulse square wave
This can be achieved by simply using the default square wave generator.
To emulate multipulse style waves, simply sync the two waves with the second oscillator being a higher pitch than the first one. Adjusting the PWM on the second oscillator also changes the timbre more in line with what a Casiotone could do.

2: Mix the two waves together using independent envelopes
While the Shruthi does not have two independent envelopes for the amplitude of each oscillator, it is easy to change the relative volumes of each one by assigning an envelope to the “mix” parameter in the modulation matrix.

3: Filter the two square waves independently
This is the one stumbling block. The Shruthi only has one filter. However, if it were possible to create a new square wave generator that featured the one pole filter on the noise oscillator, it would be possible to achieve the proper tone – the Casiotone.

Why is the filter on the square wave necessary?
Simply put, most Casiotone presets started with an unfiltered/less filtered multipulse pluck of sorts before settling down into a more conventional square wave that had its upper harmonics slightly dampened by a low-pass filter.
Adjusting the filter on the Shruthi dampens the second wave, but it takes all of the “pluck” out of the multipulse. That is the main problem.

Here are some ways that I tried to troubleshoot the problem.

1: Use a different wave for the first oscillator
Obviously, this one works depending on the kind of patch. I found that the formant simulations as well as the “res3hp” waves worked great for certain PWM settings, but nothing too close.

2: Use an external square wave with a low-pass filter
I used my JX8P for this test. It works well up to a point.
First off, changing the volume envelope on the Shruthi changes the amplitudes of both the internal and external waves.
Second, if you turn off the first oscillator to use the “mix” parameter as the “envelope” for the internal wave, you then lose the sync sound of the second oscillator.

Here are my possible firmware solutions, starting with the most difficult to implement.

1: Add the filter from the noise oscillator to the square wave generator. Creating a new oscillator.

2:Change the firmware so that when oscillator one is set to “none” the second oscillator can sync to the internal clock of the synthesizer. Similar to how sync works on the JX8P. (You can turn the wave off and it will still function properly because there is a digital clock that controls the tuning of the first oscillator.)
This would be the best solution as it requires 0 changes to how many parameters a patch has to store. However, an external square wave is then necessary.

3: Make a custom wave table. I could always make a wavetable from my Casiotones, but I was hoping to explore new timbres.

I figured that I would go ahead and post this information because of the inclusion of the Casio CZ series waves. Having the ability to do Consonant Vowel Synthesis on the Shruthi only seems to make sense. I also hope that other Casio lovers will find this information useful when trying to recreate Casiotone patches of their own on the Shruthi or other synthesizers.

1. Is not possible because the square oscillator is actually the most CPU intensive and very, very close to filling the whole MCU with computations. Also, would it really solve your problem? 1-pole is not very steep…

2. Why not…

But before I spend some time on this… Could you post some examples of these sounds you’re after?

Wouldn’t be the most effective way just hunting such a CasioTone thingy down rather than tweaking firmware of a Synth that was clearly not designed for this Synthesis? Its like trying to force an apple taste like a cherry…

I can see the appeal in this. I really dig Casiotone sounds and like the idea of having those sounds as a base and being able to tweak them, use LFOs and other modulation, run them through a nice filter in the same box…

@pichenettes

I had a hunch that the first method would be very difficult/impossible to implement. I have only had my Shruthi for around a month now, and I have not had the time to fully delve into the firmware.
On a quick side note, the Shruthi is definitely one of my new favorite tools for solving my audio problems. I have even taken it on the road with me as a way to pass time just sitting in the car. So far, it has been able to program every patch that I have thrown at it, that is why I decided to bring up some of the issues with programming authentic Casiotone sounds.
Below, I will include a few of my favorite Casiotone patches on Soundcloud. As well as some decent emulations that I have made with the Shruthi.

@fcd72

I already do have several Casiotones, but they are mostly not programmable. What little programming they do allow isn’t very impressive either. However, I did include in my above solutions the possibility of putting together a custom Casiotone wavetable. Also, I will reiterate that so far the Shruthi has been able to program everything that I could think up, and then some! It is truly an impressive synth. I was merely interested to know how feasible it would be to extend it’s audible palette in such a way.

@joshuagoran

Nice to meet another Casio enthusiast. You pretty much hit the nail on the head. I would love to process my Casiotone style sounds though the internal synthesis engine. However, this isn’t really feasible without adding midi to my keyboards, and I would rather keep them as they were intended to be used, without midi. Also, I am not sure they could send midi out. I know that they can receive midi in for the most part.

Anyway, here is the very short demo featuring, in chronological order, some of my favorite Casiotone patches. I tried to pick ones that really showed off the independent wave mixing for the initial attack transient moving into the sustain portion of the patch.
First off, some percussive patches from the Casiotone 202 followed by some organ style patches. Then the patches from the PT-1 toy keyboard, this one only uses one square wave and is the easiest to emulate. Next, some sounds from the MT-205, a revision of the PT-100. Last, I have decided to include audio of the few decent Casio style patches I have made with the Shruthi. All of these patches use the same rules as Consonant Vowel Synthesis.