Window Function Explained
2007-12-17
Using the front panel of the CZ-1, you can program three faux resonant waves. These waves are not basic waves. Instead, they are the same basic wave (WAVE 110), passed through three different window functions. I learned all of this on the Sealed website.
The purpose of this page is to go past stating that a window function exists, and explain what it does.
How The Window Function Works
The window function acts on each cycle of the wave
The window function is like an amp envelope for a waveform. Here's how I imagine it working:
Deep inside the computer brain of the CZ, the oscillator spits out a stream of waveforms whenever a key is pressed. If a window function is used, it SHAPES the amplitude of each and every cycle of that wave. In other words, it performs an amp envelope function on every single cycle of the wave. There are six unique window functions that each shape the waves in different ways.
Window Bits
binary data | description | |
---|---|---|
................ | 16 bit data = 16 1s or 0s | |
.......000...... | WINDOW - NONE | |
.......001...... | WINDOW - SAW | |
.......010...... | WINDOW - TRIANGLE | |
.......011...... | WINDOW - TRAPEZOID | |
.......100...... | WINDOW - PULSE | |
.......101...... | WINDOW - DOUBLESAW | |
.......110...... | WINDOW - DOUBLESAW (same as 101) |
|
.......111...... | WINDOW - DOUBLESAW (same as 101) |
Bitwise, there is room for 8 window functions. One of these (000) needs to be NONE.
001, 010, and 011 are available from the front panel, but only if they are used with WAVE 110.
100, 101, 110, and 111 are window functions only available via sysex. 101, 110, and 111 are all the same, which seems disappointing at first. But that leaves two undocumented window functions: PULSE and DOUBLESAW.
Key for this table
- This option is available through the front panel.
- This option is only available through sysex.
Window Function Demonstration
The window function is most clearly demonstrated in how it shapes WAVE 110. WAVE 110 is the basis for the faux resonant waves.
The red diamonds indicate the start and end point of each cycle of the wave.
WINDOW 000 NONE |
♫ |
Only available using sysex. No window function is applied to the wave, it's just the direct output of WAVE 110. Notice how this is a nice solid bar of little sine waves. In the following examples, that solid bar is carved into by the window function. |
||
WINDOW 001 SAW |
♫ |
Available from front panel, where it's called WAVE 6 WAVE 110 is trimmed into a saw shape. Each wave cycle starts off at 100% amplitude, then ramps steadily down to 0%. This happens over and over to each cycle of the wave. |
||
WINDOW 010 TRIANGLE |
♫ |
Available from front panel, where it's called WAVE 7 WAVE 110 is trimmed into a triangle shape. Each wave cycle starts at 0% amplitude, ramps up to 100% midway through the period, then ramps back down to 0% by the end of the cycle. |
||
WINDOW 011 TRAPEZOID |
♫ |
Available from front panel, where it's called WAVE 8 WAVE 110 is trimmed into a trapezoid shape. Each wave cycle starts at 100% amplitude, remains at that level until midway through the period, then ramps down to 0% by the end of the cycle. |
||
WINDOW 100 PULSE |
♫ |
Only available using sysex. WAVE 110 is trimmed into a sort-of pulse shape. Each wave cycle start at 100% amplitude, then ramps down to 0% by midway through the period, then remains at 0% until the end of the cycle. |
||
WINDOW 101 DOUBLESAW |
♫ |
Only available using sysex. WAVE 110 is trimmed into a double saw wave. Notice that this saw shape happens TWICE for every cycle of the wave. Each wave cycle starts at 0% amplitude, ramps up to 100% by midway through the period, immediately drops to 0%, and then repeats for the second half of the period. |
||
WINDOW 110 DOUBLESAW |
♫ |
Only available using sysex. Same function as WINDOW 101. |
||
WINDOW 111 DOUBLESAW |
♫ |
Only available using sysex. Same function as WINDOW 101. |
Key for this table
- This option is available through the front panel.
- This option is only available through sysex.
Summary
The window function works by shaping each and every cycle of the wave with a mini amp envelope. It takes a wave and trims it into different patterns down at the cycle level. There are two novel window functions availabe via sysex.