# How to build a noise generator based entirely on logic gates?

I would like to build a noise generator based on logic gates. It could be white noise generator or a random bits generator that sound similar to a noise source. I need a circuit recommendation or an idea how to make it.

Updated: The purpose is to make an electronic music device. Any kind of noise can be interesting for me.

• The question that inevitably comes to my mind is: why? what problem is this going to solve? – PlasmaHH Aug 30 '16 at 13:17
• Noise is not logical. – Tyler Durden Aug 30 '16 at 13:17
• It's funny that you're happy with either white noise or binary generator, since those two would have drastically different properties. It sounds like you don't know what you need. – Dmitry Grigoryev Aug 30 '16 at 13:25
• I am quite sure there is some specialized diodes for generating noise. You won't get random noise from numeric since you will always get the harmonics of the clock. – lucas92 Aug 30 '16 at 14:56
• "Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin" -- John von Neumann. But I suppose with music, the more sinful the better. – Steve Jessop Aug 30 '16 at 22:02

How about one of these: -

Taken from here.

It is described as a white noise source: -

24 Stage Linear Feedback Shift Register (LFSR)

This circuit can be used to generate a pseudo-random sequence of 0's and 1's -- that is "white noise" or "static." The schematic shows a 24 stage shift register with XNOR taps at registers 7, 16, 22, and 24 using the Fibonacci configuration. With these taps, the circuit generates a "maximal length sequence" of pseudo random values which repeats only after (2$^{24}$ - 1) clock pulses.

Or maybe just use an analogue one based on the emitter-base breakdown voltage of transistor Q1: -

Probably the simplest method for generating "noise" with digital logic is to generate a pseudorandom binary sequence (PRBS) with a linear feedback shift register (LFSR). The output of a PRBS generator, especially for the longer sequences (PRBS31), can have a very wide bandwidth. It's also a pretty simple circuit to build; just shift registers and XOR gates.

• I can tell you from experience, having built such noise generators, that a single LFSR sounds 'lumpy'. Although it meets a large number of tests for randomness, it does have more structure than does white noise, to the human ear. Building at least 3 of different lengths, and XORing their outputs together, sounds much more consistent. – Neil_UK Aug 30 '16 at 13:54
• Thanks a lot for the suggestion. I will definitely try this out. Thanks. – Jerzy Przezdziecki Aug 30 '16 at 14:08

You can make a digital white noise generator with a small 8-bit 8-pin micro such as a PIC12F series. It's basically a code implementation of a PRNG based on one or more shift-registers, very easy to do.

Since you are interested in audio you might actually want pink noise. There are samples available on-line if you want to compare- white noise sounds much harsher. You can get that from white noise via an analog filter that approximates 3dB/octave or you can use a much more powerful micro and implement a digital filter.

Here is a somewhat more sophisticated circuit than the minimum that can produce Gaussian noise and pink noise.

• I will try this approach definitely. Is there any code programming needed? Or this micro PIC12F is just ready? Thanks. – Jerzy Przezdziecki Aug 31 '16 at 7:43
• There are examples on the net, including the one I linked, which provide assembly code. You need an assembler program (available from Microchip for free) if a hex binary file is not provided and a chip programmer. The latter costs < $15 for a clone from China with a ZIF socket or$35 (?) in the official version which does not have the ZIF so you have to use a solderless breadboard or whatever. – Spehro Pefhany Aug 31 '16 at 10:45