Preview


Infinite Melody
for music synthesizers.


 

The latest version can be found here.

The name of this module is 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 "1l/lfinite melody".

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.

A little on how it works:

Click here for the schematics:
Rev 0 Logic.
Rev 1 Logic.
Rev 2 Logic.
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.

More to come! .... one day!

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.

Notes:

  • This module will work on +/-12 volts.
  • 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 info: 6" x 3" with 3mm mounting holes 0.15" in from the edges.
  • Please email me if you find any errors.

REV 1
PartQuantity
Capacitors
1n1
10n2
100n10
10uF 25V 4
Resistors
1k8
10k5
15k5
27k1
100k 1%44
200k 1%24
Semi's
1N41485
LM3582
TL0724
CD40154
CD40241
CD40302
BC5471
Misc.
Ferrite Bead (or 10R resistor)2
0.156 4 pin connector1
cgs32 PCB1

REV 2
PartQuantity
Capacitors
1n1
10n2
100n10
10uF 25V 4
Resistors
1k8
4k74
10k4
15k5
27k1
100k 1%45
200k 1%24
Semi's
1N41483
TL0726
40154
40241
40302
BC5471
Misc.
Ferrite Bead (or 10R resistor)2
0.156 4 pin connector1
cgs32 PCB1

Parts list

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

If anyone is interested in buying these boards, please check the PCBs for Sale page to see if I have any in stock.

Can't find the parts? See the parts FAQ to see if I've already answered the question. Also see the CGS Synth discussion group.
 

Article, art & design copyright 2001 by Ken Stone

Modular Synth Home

Disclaimer