Originally published by Paul Stenning in Electronics in Action, May 1994
This digital echo unit resulted from a discussion with a friend who is a member of a local amateur dramatic group. Until now they had been producing echo sound manually by tape recording the same sound several times at lower recording levels - I admire their patience! Although this method worked OK for longer echoes on single sounds, it could not be used to add a short reverberation on speech.
An exact specification was not offered, they felt that almost anything would be better than the existing system. We decided that about half a second between echoes would be more than adequate for a maximum delay range. The shortest delay is so fast that sounds resembling microphone feedback can be obtained. Metallic alien reverberations similar to those on the "Smash" instant potato television adverts are also possible.
Simplicity of operation is essential for the intended use. Consequently, there are only three controls on the front panel. Two of these set the delay required (coarse and fine). The third is the Repeat control, which sets the amount of echo signal fed back around the loop. This ranges from 0% to almost 100%.
My original plan was to use bucket brigade delay line chips, however several devices would have been necessary to cover the required delay at a reasonable frequency bandwidth. Significant distortion can also result as the voltage samples are passed down the chain.
The design presented here uses an 8K RAM chip to store the data samples. The delay of half a second is achievable, with a bandwidth of 8KHz. The incoming signal passes through with no bandwidth limiting. Distortion on the echo signals is generally less than 5%, although this will build up each time a sound is echoed.
The upper frequencies would normally be lost on natural echos, so the bandwidth limitation is not a problem in practice. Similarly the distortion on the echo signals will generally pass unnoticed.
The complete circuit diagram appears in figures ** and **.
Starting with the digital section. IC1 is the clock generator, which runs at four times the sampling frequency. The frequency is adjustable over a limited range by VR1, the Delay Fine control. This slightly unusual configuration gives an output with an approximately equal mark-space ratio.
The A-D convertor IC7, requires a negative bias on pin five. Since the current required in minimal, this negative voltage is obtained by rectifying the clock signal from IC1, giving approximately -4V.
IC2 produces the four timing pulses required, three of which are inverted by gates in IC3. When Q1 goes high, the A-D convertor IC7 starts a conversion. When Q2 is high, the data in the RAM is sent to the D-A convertor IC8, which produces the appropriate voltage. When Q3 is high, the data from the A-D is stored in RAM. Finally when Q4 pulses high, the address counters IC4 and IC5 are incremented.
SW2 (Delay Coarse) sets the count reached by the address counters before they are reset. This sets the amount of the RAM chip to be used.
Ideally I would have had just one continuously variable delay pot, on the 555 clock circuit. However, it was not possible to achieve the required range with a respectable frequency response due to the A-D conversion time.
The ZN448E (IC7) is an 8 bit successive approximation A-D convertor. Nine clock cycles are required for each conversion. The eight data lines are tri-state, and controlled by the OE- pin.
The device contains a built in clock circuit, the frequency of which is set by C13. The data sheet gives the maximum clock frequency as 1MHz, and a graph shows that a capacitor value of 100pF will give this. However tests with several devices showed that 100pF gave a frequency of only about 500KHz. To achieve 1MHz a 47pF capacitor is required. It is possible that some ZN448E devices will fail to operate with a 47pF clock capacitor. In which case replace C13 with a 100pF component, or the lowest value that gives correct operation. R10 is the biasing resistor for the internal voltage reference, which is decoupled by C12.
The ZN428E (IC8) is an 8 bit D-A convertor, which uses an R-2R resistor network driven by an accurate voltage reference. This reference is biased by R14 and decoupled by C15. A latch circuit on the data input lines is controlled by the EN- pin. When EN- is inactive, the previous output voltage remains.
The audio signals to the A-D convertor and from the D-A convertor pass through identical low pass filter circuits. These have a slope of 24dB per octave and a -3dB point at about 8KHz. The frequency response of these filter circuits is shown in figure *. The variation of +/- 1.3dB before the cutoff point is not important in this application.
The filter on the input to the A-D prevents any signals with a frequency too high to be accurately sampled from reaching the convertor. Allowing these signals through would result in severe aliasing distortion, leading to a poor quality output. The filter on the D-A output removes noise due to the sampling frequency, and smooths the stepped output to some extent.
The audio output from the delay circuit is mixed with the input signal by the circuitry around IC10. VR2 sets the amount of signal that is fed back around the system.
The circuit is powered by a 12V 250mA transformer. The required +5V (VCC) and +12V supplies are regulated by standard three pin linear regulator IC's.
The circuit is constructed on a single sided PCB. The track layout and component positioning are shown in figure *.
There are 30 links that should be made first, using thin (approx. 26SWG) tinned copper wire. The resistors, diodes and capacitors can then be fitted in size order. Sockets may be used for the IC's if required - since all the devices are static sensitive this may be a good idea. Do not insert the IC's into the sockets until the remainder of the PCB construction is complete.
IC11 and IC12 will become warm in operation and should be mounted on a small heatsink. The mounting tabs of both devices are connected to the 0V rail so no insulation washers are required. A small amount of silicone grease or heat transfer paste should be placed between the devices and the heatsink.
Terminal pins may be fitted in the holes for the off-board wiring, so that the connections can be made after the PCB is fitted into the case.
The prototype was constructed in a plastic case, 190mm * 165mm * 68mm, see parts list for details. A suitable overlay for the front panel is shown in figure *. Two photocopies may be taken (enlarge to 162mm * 64mm), one can then be used as a drilling template while the other may be fixed to the front panel with clear self-adhesive vinyl. No actual values are shown for the delay controls, since they might confuse a nontechnical user.
Set the stop on SW1 to position six. Fit the pots and switches to the front panel, and then position the PCB and transformer in the base of the case. The PCB should be mounted with three M3 screws, with extra nuts to act as spacers. The transformer is also mounted with M3 hardware, which should ideally be nylon to insulate the mounting frame from the outside world. A 10VA torroidal transformer was used in the prototype because it was to hand, however a 250mA conventional type is suitable.
The rear panel needs to be drilled for the audio input and output sockets, and the mains flex. The hole for the latter should be fitted with a cable gland or grommet, and the cable must be secured to prevent it being pulled out.
The interwiring is shown in figure *, the pots are shown viewed from the rear. Audio coax may be used for the connections to the rear panel sockets if desired, although the prototype worked fine with ribbon cable. The remaining connections may be made with ribbon cable or whatever is available.
The mains flex should be connected to the flying leads on the recommended transformer with a chock-block type connector. No mains switch or fuse were fitted on the prototype for simplicity. A 3A (or lower) fuse must be fitted in the mains plug.
Testing and Using
Ensure that the internal mains connections are adequately insulated. Connect the unit to the mains and switch on. If a test meter is available, check the voltage outputs from IC11 and IC12 on the appropriate pins. The voltages required should be 12V +/-0.5V and 5V +/-0.25V.
Unless an audio pulse generator and oscilloscope are available, the remainder of the unit is probably best tested by connecting it to suitable audio equipment and trying it. The effects can be heard readily on male speech.
The audio input signal should be between 0.5 and 1V RMS for optimum performance. Lower levels will give greatly increased distortion on the echo signals due to the lower number of sampling points available. Larger signals (over 2.5V pk-pk) will be distorted due to clipping at the A-D convertor. If the signal level is likely to vary significantly, this unit should be preceded by an automatic level control or compressor circuit.
Initially set both delay controls fully clockwise. As the repeat control is advanced, the echo should be heard more times. You may notice that if a sound is repeated several times it becomes a little more distorted each time. With a more normal decay, the distortion will tend to occur as the sounds are getting quieter, and will generally pass unnoticed. When the control is at maximum, all the signal is recycled which can cause some awful sounds!
By operating the delay controls, the period between each echo can be altered. You may notice an apparent pitch shift as the Fine Delay control is operated, this is due to sounds being replayed at a different rate to the one they were recorded at. Momentary bursts of noise may also be heard as the Coarse Delay control is set to longer periods, this is due to old data stored in the RAM being replayed. Neither of these effects is relevant in practice, since the controls would not be altered when the unit is being used.
The best way to understand the unit's capabilities is to play with it for a while. Have fun . . . fun . . . fun!
- Circuit Diagram Page 1
- Circuit Diagram Page 2
- Circuit Diagram Page 3
- PCB Artwork
- PCB Component Layout
- Interwiring Diagram
- Front Panel
- Filter Frequency Response
Zip FilesPCB Gerber Files
Bjoern Wieck has kindly provided details of how to use a ZN427 in place of the ZN448 . He says:
I checked the datasheets and the only difference between ZN448 and ZN427 is the clock-generation. The ZN448 has internal clock-generation and is adjustable by an capacitor to ground (in your design 47p for approx 1MHz). The ZN427 has no clock generation and must be clocked externally. I have assembled a small adapter board for the ZN448 socket which contains the ZN427 and a 74LS132 as 1MHz oscillator.
He also supplied sound samples demonstrating a tone without and with echo.Sound sample - tone without echo
Steven Dumon suggests the use of a TL074 dual op-amp in place of the LF347 (which is apparently now difficult to obtain).
|Resistors (0.25W 5% or better)|
|VR1||20K or 22K Lin Pot|
|VR2||47K or 50K Log Pot|
|SW1||1 Pole 12 Way Rotary|
PCB, Knobs, Case, Wire, 2 Core Mains Flex, 13A Plug with 3A Fuse, IC Sockets, M3 Screws and Nuts
This project, including all text, images and diagrams, is copyright 1991 - 2003 Paul Stenning. No part of this article may be reproduced in any form without prior written permission from Paul Stenning and WallyWare, inc. All details are believed to be accurate, but no liability can be accepted for any errors.