CGS infinite melody (previous version)

Jump to navigation Jump to search

CGS32 the CGS infinite melody module is named as a play on its function. Put simply, it generates a series of semi-random or themed stepped control voltages, or if you prefer, white and pink control voltages. The pink function is probably better known as 1/f, and thus the name of 1/finite melody.

Description

Assuming a 1 V/oct VCO is being driven by the module, in the 1/f mode, the size of a pitch step is inversely related to the frequency at which it will occur. In other words, the smallest steps are most common, steps twice their size occur half as often, and so on.

As well as the 1/f mode, it has a pure random mode, where no weighting is put on the selection of notes. A large step is as likely as a small one.

As well as having these two modes of operation, there are 4 CV outputs available. With the exception of the fourth, each successive output is a shifted version of the previous. In random mode, this is very much the same effect as produced by an Analog Shift Register (ASR), but in 1/f mode, it takes on a whole new feel, as each of the six shift registers involved shifts at a different rate, according to the 1/f weighting. As such, the second and third outputs are related to the first, but not identical to it. The fourth output is subject to the same shifting weighting according to the mode of operation, but instead of driving a D/A converter, it drives a bank of knobs, allowing harmonic relationships to be set up.

And if that wasn't enough, the randomness used by this module is obtained externally, from a regular white noise generator, or other varying voltage source, allowing more structured themes to be created. The random values are loaded in series at a rate determined by an external fast clock. This can simply be a spare output of a VCO (even one in use playing melodies etc.) or it can be deliberately controlled, or slowed right down to gain even more effects. The sensitivity of the random input can also be controlled via CV, again giving more possibilities.

See Diatonic Converter for an alternate output for this module.

This module will work on +/-12 volts.

A little on how it works

Revision 2 logic. Click through for larger. See also Rev 1 and Rev 0
Mixer stage.

First, a very simple theory lesson - 1/f implies a weighted ratio between a level and its corresponding rate. A change in level of 1 will occur at the clock rate. A change in level of 2 will occur at half the clock rate, a change in level of 4 will occur at a quarter of the clock rate, etc., thus giving rise to the 1/f ratio. This means the larger the step in output level, the less frequently it will occur. On the other hand, random implies exactly that - there is no determination of how great a step will occur - any step size is as likely as any other.

As is shown in the schematic, the Infinite Melody consists of several distinct sections.

The first section is the clock and random or 1/f selector. The clock and reset signals are processed by the LM358. When the 1f/Ra input is LOW (below about 2V), the reset line of the 4024 will be held LOW, allowing it to count, and clock signal connected to the second input of each EXOR gate via the 10k resistor will be blocked by the forward biased diode. The output of the counter is then fed via the EXOR gates (inverted in the process) to the clock inputs of each of the 4015 shift registers. Each successive shift register receives it's clock at half the rate of the one above it.

When the 1f/Ra input is HIGH (above about 2V), the reset line of the 4024 will be held HIGH, forcing all of the outputs of the 4024 to LOW. The clock signal connected to the second input of each EXOR gate via the 10k resistor will pass as the associated diode is now reverse-biased, and no longer blocking the signal. The clock signal is now fed via the EXOR gates (inverted in the process) to the clock inputs of each of the 4015 shift registers. All shift registers are now being clocked at the same rate.

The second section of the schematic is the random number processor. Each shift register in the chain requires a random level to be present at its data input when it receives its clock signal. Traditionally this would be achieved by having a series of six independent random number generators. Instead it was decided to clock random data in serially at a rate significantly higher than needed. This section is essentially identical to the Gated Comparator, so I suggest you investigate that article for more information on how it works.

Construction

The component overlay Rev0. Connections can be determined from the circuit diagram.

Before you start assembly, check the board for etching faults. Look for any shorts between tracks, or open circuits due to over etching. These faults are unlikely, but they can happen on occasion. Take this opportunity to sand the edges of the board if needed, removing any splinters or rough edges.

When you are happy with the printed circuit board, construction can proceed as normal, starting with the resistors first, followed by the IC socket if used, then moving onto the taller components.

Take particular care with the orientation of the polarized components, the electrolytics and semiconductors.

When inserting ICs in their sockets, if used, take care not to accidentally bend any of the pins under the chip. Also, make sure the notch on the chip is aligned with the notch marked on the PCB overlay.

Corrections

Apparently I've made a blunder on both the original and early REV1 boards. The base of the BC547 should be connected to pin 15 of IC2 (4015) and not pin 1 of IC1 (LM358). Note however, that making this correction is not essential, as it will function quite adequately exactly as is.

Parts list

This is a guide only. Parts needed will vary with individual constructor's needs.

REV 1
Part Quantity
Capacitors
1n 1
10n 2
100n 10
10uF 25V 4
Resistors
1k 8
10k 5
15k 5
27k 1
100k 1% 44
200k 1% 24
Semi's
1N4148 5
LM358 2
TL072 4
CD4015 4
CD4024 1
CD4030 2
BC547 1
Misc.
Ferrite bead (or 10R resistor) 2
0.156 4 pin connector 1
CGS32 PCB 1
REV 2
Part Quantity
Capacitors
1n 1
10n 2
100n 10
10uF 25V 4
Resistors
1k 8
4k7 4
10k 4
15k 5
27k 1
100k 1% 45
200k 1% 24
Semi's
1N4148 3
TL072 6
4015 4
4024 1
4030 2
BC547 1
Misc.
Ferrite bead (or 10R resistor) 2
0.156 4 pin connector 1
CGS32 PCB 1

Notes

  • Make sure you use a standard 4000 series CMOS, not 74XXX4000 series, e.g. CD4015, MC14015. Markings such as HC4015, HCT4015 imply 74HC4015 and 74HCT4015 and are unsuitable.
  • A 10 to 22 ohm resistor can be used instead of the Ferrite beads. If you don't care about power-rail noise, just use a link instead.
  • PCB is 6" x 3" with 3mm mounting holes 0.15" in from the edges.

CC-BY-NC

Readers are permitted to construct these circuits for their own personal use only. Ken Stone retains all rights to his work.

See also

References

External links