Just an initial sketch, let user morph between waveforms, and select what waveforms should be included in the morph:
By selecting only certain waveforms for morphing means one can start a morph by a modulation source at a different point than sine.
How to select various stuff for modulation by various sources needs to be investigated.
Showing posts with label sub oscillator. Show all posts
Showing posts with label sub oscillator. Show all posts
Sunday, July 19, 2020
Sunday, October 15, 2017
Xonik Waveshaper v1.0
The wave shaper board and Noise board was sent off to DirtyPCBs for production last week. They both turned out rather nice - the waveshaper board measures 28 x 64 mm and the noise around 24 x 25 mm.
Interestingly enough, the sub oscillator circuit takes up more than half of the waveshaper due to the many options (-1/-2 octaves, saw or square wave).
I’ve tested the circuit with the DCO and got some very nice results. There are still some spikes on the sub saw waves, but while adding filter caps did reduce the spike amplitudes, it also widened their base. I’ve chosen to leave the spikes as is but have left room for the filter caps should I redecide.
The noise board requires four external trimmers - one to center the saw wave, one to trim the triangle and sine waves and two to match the saw wave parts in the sub oscillator.
The noise circuit requires an external noisy 2n3904 or, as in the Andromeda A6, 1N5237B/8.2V zener diode. It has the option of adding a trimmer to control the noise amplitude, but also has room to just use an on-board resistor if exact amplitude is not of essence.
The A6 uses an opamp to offset the noise outputs due to its internal offset center (PMID), which also acts as a filter. This is not included in my circuit.
Here are some photos of the output when the XDCO is connected istead of a function generator:
The results look very good, but I have yet to run it with a amplitude calibrated DCO, so right now wave shaping is not perfect for all frequencies, only the one the waveshaper is manually calibrated for.
Interestingly enough, the sub oscillator circuit takes up more than half of the waveshaper due to the many options (-1/-2 octaves, saw or square wave).
I’ve tested the circuit with the DCO and got some very nice results. There are still some spikes on the sub saw waves, but while adding filter caps did reduce the spike amplitudes, it also widened their base. I’ve chosen to leave the spikes as is but have left room for the filter caps should I redecide.
The noise board requires four external trimmers - one to center the saw wave, one to trim the triangle and sine waves and two to match the saw wave parts in the sub oscillator.
The noise circuit requires an external noisy 2n3904 or, as in the Andromeda A6, 1N5237B/8.2V zener diode. It has the option of adding a trimmer to control the noise amplitude, but also has room to just use an on-board resistor if exact amplitude is not of essence.
The A6 uses an opamp to offset the noise outputs due to its internal offset center (PMID), which also acts as a filter. This is not included in my circuit.
Here are some photos of the output when the XDCO is connected istead of a function generator:
![]() |
| Saw |
![]() |
| Sub oscillator saw, one octave down |
![]() |
| Sub oscillator saw, two octaves down |
![]() |
| Inverse saw |
![]() |
| Triangle |
![]() |
| Sine |
![]() |
| Square |
![]() |
| Sub oscillator square, one octave down |
![]() |
| Sub oscillator square, two octaves down |
![]() |
| Pulse wave |
Monday, September 25, 2017
Xonik Waveshaper - breadboarded version
I finished breadboarding the waveshaper last night. Here is the schematics (not bug checked though) and a few photos of the output waveforms from the sub oscillator. The saw wave looks like crap but that is because I used a function generator without saw output as the source of the original wave (using a triangle wave with a very unbalanced center in place of the saw). It will look a great deal better with a real saw wave input.
![]() |
| Full waveshaper circuit. Note that the sub saw output has the same polarity as the input. It is also possible to get an inverted output. |
![]() |
| Square wave (top) and square wave sub oscillator |
![]() |
| Pulse wave and square wave sub oscillator |
![]() |
| 1 oct down and 2 oct down saw waves. |
Sunday, September 24, 2017
Coming soon: the Xonik Waveshaper
On my breadboard today: The Xonik Waveshaper - insert a non-centered 0-10V saw wave from the Xonik DCO and you'll get the following (centered) waves:
- Saw
- Inverted saw
- Triangle
- Sine
- Pulse/square with VC-PWM and VC amplitude (no VCA needed)
- Sub oscillator with square -1oct, square -2 oct, saw -1 oct and saw -2 oct.
The current triangle/sine circuit is based on the Jupiter 8 and Yusynth modular, the sub oscillator is a simplified version of the Xonik Sub oscillator. The pulse circuit amplitude control idea (but not circuit) is lifted from the Juno.
Monday, July 31, 2017
Wave centering - bias circuit
The DCO generates a wave running from 0 to -10V. To center this, I tried using two resistors and a 1uF capacitor, followed by a buffer. This works fine for higher frequencies, but at the bottom of the frequency range we get severe distortion, turning the straight lined saw wave into a slope.
Also, this arrangement won't work for Pulse signals as the pulse width has more energy at either top or bottom.
The square and pulse waves are a bit interesting as the amplitude CV does not have to run through a VCA. Instead, the amplitude is equal to the CV. This means that subtracting half the CV from the output wave will center it.
I've come up with the following, untested (and incomplete) circuit that shows my idea:
Also, this arrangement won't work for Pulse signals as the pulse width has more energy at either top or bottom.
The square and pulse waves are a bit interesting as the amplitude CV does not have to run through a VCA. Instead, the amplitude is equal to the CV. This means that subtracting half the CV from the output wave will center it.
I've come up with the following, untested (and incomplete) circuit that shows my idea:
Monday, May 29, 2017
Juno saw sub oscillator
Someone mentioned that there is such a thing as a juno sub osc mod that gives you a saw sub oscillator.
Now, I know nothing about this mod but I can immediately think of two ways of doing this:
1) Use my saw sub osc design that combines the saw with the square to shift and attenuate the saw wave and making a wave one octave down
2) Replicate the saw core - let the sub osc output control the reset transistor, and tap (a buffered version of) the charge voltage from the DAC output and attenuate it 50%
Should be an easy fix :)
Now, I know nothing about this mod but I can immediately think of two ways of doing this:
1) Use my saw sub osc design that combines the saw with the square to shift and attenuate the saw wave and making a wave one octave down
2) Replicate the saw core - let the sub osc output control the reset transistor, and tap (a buffered version of) the charge voltage from the DAC output and attenuate it 50%
Should be an easy fix :)
Sunday, April 16, 2017
Juno 60 pre-filter level control
The Juno 60 mixes several waveforms before the filter, and it has a clever way of controlling the sub oscillator volume. As the sub oscillator output is a square wave, the wave is considered a binary on/off signal. It is connected to the base of a transistor, which when turned on and off either sinks its collector to ground or leaves it as it is.
To control the wave volume, the collector input is connected to the panel potentiometer (through a series of buffers/mux/demuxes, but that doesn't really matter, the principle is the same). The wave's amplitude (or "on value") will then equal the level of the panel potentiometer, though negative as the potentiometer value is inverted by IC17 on panel board A. The voltage is passed through an analog switch, IC16, which in turn is controlled by the Sub oscillator on/off switch, to completely disable the sub oscillator (incidentally, this feature has been removed from the Juno 106, here the potentiometer voltage is connected directly to the transistor collector).
Interestingly, the same arrangement exists for the pulse wave, only this time the analog switch connects the transistor to -15V instead of to a variable voltage. If one would like a controllable pulse wave volume, it would likely be easy to inject the control signal here.
As for the saw wave, it also has a switch and a transistor connected to it. However, as the saw wave is not binary, it cannot be controlled the same way. Instead, the wave is connected to the collector, and the transistor base is connected to the analog switch on panel board A. The wave is then sunk to ground if the transistor is on. In other words, the saw wave has no pre-filter volume control, only an on/off switch.
The noise input has its own volume control on panel board A (all voices use the same noise generator).
Oh, and by the way - all waveforms have a range of 0 to maximum -15V (the datasheet says the saw wave is 12V p.p, I have not checked the others but they have to be about the same to be mixable - the sub oscillator level for example originates as a 0 to +5V voltage but is inverted and amplified by IC17, and the pulse wave level is always 0 to -15V). They are fed through a 10uF non-polar capacitor (C5) just before the filter, which probably centers them around 0V.
To control the wave volume, the collector input is connected to the panel potentiometer (through a series of buffers/mux/demuxes, but that doesn't really matter, the principle is the same). The wave's amplitude (or "on value") will then equal the level of the panel potentiometer, though negative as the potentiometer value is inverted by IC17 on panel board A. The voltage is passed through an analog switch, IC16, which in turn is controlled by the Sub oscillator on/off switch, to completely disable the sub oscillator (incidentally, this feature has been removed from the Juno 106, here the potentiometer voltage is connected directly to the transistor collector).
Interestingly, the same arrangement exists for the pulse wave, only this time the analog switch connects the transistor to -15V instead of to a variable voltage. If one would like a controllable pulse wave volume, it would likely be easy to inject the control signal here.
As for the saw wave, it also has a switch and a transistor connected to it. However, as the saw wave is not binary, it cannot be controlled the same way. Instead, the wave is connected to the collector, and the transistor base is connected to the analog switch on panel board A. The wave is then sunk to ground if the transistor is on. In other words, the saw wave has no pre-filter volume control, only an on/off switch.
The noise input has its own volume control on panel board A (all voices use the same noise generator).
Oh, and by the way - all waveforms have a range of 0 to maximum -15V (the datasheet says the saw wave is 12V p.p, I have not checked the others but they have to be about the same to be mixable - the sub oscillator level for example originates as a 0 to +5V voltage but is inverted and amplified by IC17, and the pulse wave level is always 0 to -15V). They are fed through a 10uF non-polar capacitor (C5) just before the filter, which probably centers them around 0V.
Saturday, March 22, 2014
First multi-sub-oscillator board populated
The first 4 x sub oscillator board has been populated. This is the top board, a second pcb with four more sub oscillators will be mounted below it. This time I've made sure connections from the lower board actually go through the top board, so no cables have to be attached to the lower board (as opposed to the oscillator boards where you have to connect cables to both boards.
This is the rev 1 board which has the same bug as the single sub oscillator, so I have soldered 100nF caps to the flip flop feedback lines to make them flip and flop like it should.
This is the rev 1 board which has the same bug as the single sub oscillator, so I have soldered 100nF caps to the flip flop feedback lines to make them flip and flop like it should.
![]() |
| Quad sub oscillator |
![]() |
| Close up, note the tiny 100nF caps soldered directly onto the smd components' legs. |
New panels
This week I've finished five new panels and prepared prints for three more. I've done two more oscillator panels, two sub oscillators and one 7-saw controller. I've also printed two more sub oscillators and one controller. Since the edges of the first oscillator panel didn't get as sharp as I wanted when folding the plastic around the edges, I've decided to cut the foil along the edges this time.
| Plexi glass panels before attaching the adhesive film |
| Finished sum oscillator and 7-saw control panels |
| Close-up of the sub oscillator. Note the input polarity switch, setting this to the opposite of the input wave will give that cool saw-within-saw wave shown in an earlier post |
Tuesday, March 11, 2014
Tiny but crucial bug fix on the suboscillator board
A couple of weeks back I populated the first single suboscillator board, but much to my dismay it didn't work. I didn't have time to inspect it further, but I suspected it was related to the CD4013 flip flop as I had some trouble getting it to work originally. I ordered some more from a different source and they arrived yesterday.
I swapped the old chip for the new one, but it still didn't work. I then rebuilt the first part of the circuit on a breadboard, and it sort-of worked, but both flip flops in the package seemed to flip and flop at the same frequency, which they definitely shouldn't.
Today, I tried adding in a 2k2 resistor between the D and not-Q ports, as well as a 100nF cap from D to ground, a trick I found somewhere online when I originally designed the circuit. This made the circuit work again.
Doing this on the PCB would require me to cut some traces, which would be a lot of trouble, especially on the SMD-based quad suboscillator.
Luckily, when i replaced the 2k2 resistor with a wire, while leaving the cap in place, it still worked :) I soldered two caps onto the pcb as well, and it too worked like it should. I have not tried the board at various frequencies, but for the time being it seems to work fine.
While searching for solutions to my problem, I came across this post named "cd4013 weird shit" - that really sums up my thoughts about this whole problem too...
I swapped the old chip for the new one, but it still didn't work. I then rebuilt the first part of the circuit on a breadboard, and it sort-of worked, but both flip flops in the package seemed to flip and flop at the same frequency, which they definitely shouldn't.
Today, I tried adding in a 2k2 resistor between the D and not-Q ports, as well as a 100nF cap from D to ground, a trick I found somewhere online when I originally designed the circuit. This made the circuit work again.
Doing this on the PCB would require me to cut some traces, which would be a lot of trouble, especially on the SMD-based quad suboscillator.
Luckily, when i replaced the 2k2 resistor with a wire, while leaving the cap in place, it still worked :) I soldered two caps onto the pcb as well, and it too worked like it should. I have not tried the board at various frequencies, but for the time being it seems to work fine.
While searching for solutions to my problem, I came across this post named "cd4013 weird shit" - that really sums up my thoughts about this whole problem too...
| The fully populated sub oscillator board. It looks a bit like a bug of sorts, don't you think? |
| A closeup of the 100nF capacitor. Also note the beautiful curved cutouts, I just love the boards OSHPark are able to produce! |
Saturday, December 28, 2013
Two versions of the sub oscillator under production
Last night I sent two prototype versions of the sub oscillator for PCB production. The "normal" single sub oscillator with the cool inverted saw thing, as well as a stackable quad sub oscillator that can be used for my 7-saw/polyphonic modular project. The quad version will need a separate controller card as well, to be able to select the type of wave and polarity etc for eight sub oscillators at the time.
If successful, the single sub oscillator is destined to be the first official product from Xonik Devices, my new brand. All future projects will be released under this name.
If successful, the single sub oscillator is destined to be the first official product from Xonik Devices, my new brand. All future projects will be released under this name.
Tuesday, November 26, 2013
Sub oscillator board finished
Last night I finished the initial version of a sub oscillator PCB. It is based on the circuit in the previous post, but since I had one flip flop to spare I've included a two-octave down square wave as well as a 25/75-duty cycle pulse wave, similar to (and heavily inspired by) the Roland SH-101. The kind of square wave to output is selectable by a three position switch.
The board measures 30 x 100 mm, with 3 mm screw holes 4 mm from all sides, and should fit behind a 6HP panel. Cut-outs have been added near the input, output and switch connectors, to be able to mount the board with the components facing backwards and then route the cables to the front without adding any width to the module. This makes it possible to adjust the saw wave matching trimmer after the PCB has been attached to the panel.
The board has a slight shortcoming related to the pulse output - since the average voltage over one cycle is not 0V, the centering capacitor will not center the wave around 0V but slightly lower. This has no effect on the sound of the output but may lead to unwanted effects/clipping in subsequent modules/when mixing waves. I have still provided the pulse output as an option because it only requires two additional parts and may be useful to someone.
The board measures 30 x 100 mm, with 3 mm screw holes 4 mm from all sides, and should fit behind a 6HP panel. Cut-outs have been added near the input, output and switch connectors, to be able to mount the board with the components facing backwards and then route the cables to the front without adding any width to the module. This makes it possible to adjust the saw wave matching trimmer after the PCB has been attached to the panel.
The board has a slight shortcoming related to the pulse output - since the average voltage over one cycle is not 0V, the centering capacitor will not center the wave around 0V but slightly lower. This has no effect on the sound of the output but may lead to unwanted effects/clipping in subsequent modules/when mixing waves. I have still provided the pulse output as an option because it only requires two additional parts and may be useful to someone.
Subscribe to:
Posts (Atom)




















