Noise Generators
http://www6.atwiki.jp/fx_geek/?plugin=ref&page=1-chip%20LFO&file=rand.gif
AVR uP PN Sequence Generator
An LFSR (Linear Feedback Shift Register) implementation is widely used for the purpose of generating the Pseudo-random Noise (or PN) sequences. In Hardware implementation, you can bring an actual shift register and XOR gates for the core. Here, because I take a software solution with Atmel AVR AT90S2323 which is running up to 10MHz, the hardware is very simple. In this realization, a 16-bit shift register is shifting loop by loop, tapping and generating parity from bit 15, 14, 6 and 0.
Here is an audio sample (WAV, 1sec) https://www6.atwiki.jp/fx_geek?cmd=upload&act=open&pageid=18&file=pnseq.wav. The sound is almost ok. It has good quality enough for rhythmic instruments' sound source, however, for tonal instruments; you might be annoyed by something modulated in other words, flapping or beat. H/W is simple (schematic), S/W is small (source code for Atmel AVR, AT90S2323), sound is OK and no component selection is even needed, AT90S2323 is not very cheap, though. https://www6.atwiki.jp/fx_geek?cmd=upload&act=open&pageid=18&file=pnseq.gif
July, 21, 2003
To avoid the annoying sound, replace the system clock 10MHz to 1MHz. It sounds ok. I cannot hear any beats. Here's the sound (1MHz clock version, WAV, 1sec) https://www6.atwiki.jp/fx_geek?cmd=upload&act=open&pageid=18&file=pnseq1meg.wav. And new schematic. It has almost come.
https://www6.atwiki.jp/fx_geek?cmd=upload&act=open&pageid=18&file=pnseq2.gif
August, 16, 2003
An appropriate approach for avoiding modulated sound is to make the LFSR longer. Now 24bit LFSR is employed instead of 16bit's. It works very well. Modulated/flapping/beat sound has gone. I can show you new source code of 24bit LFSR version and sound (24bit LFSR version, WAV, 1sec) https://www6.atwiki.jp/fx_geek?cmd=upload&act=open&pageid=18&file=pnseq24bit.wav. The schematic is the same to the above. You are ready to use a one-chip noise source.
August, 17, 2003
PIC uP PN Sequence Generator
As I have shown you, AVR micro processors can generate pseudo-randam noise sequences. There is no reason to try PICs. Here is another LFSR implementation. I chose the PIC12C509A. PIC12C509A is the write once device. If you don't like one time devices, PIC12F629, which is a flash version, can also be used. These devices have an internal oscillator. The internal oscillation clock rate is 4MHz, however, the execution cycle is every four clock cycles. Then performance of a PIC running with 4MHz is equivalent to an AVR running with 1MHz. In this realization, a 24-bit shift register is employed and is generating parity from bit 23, 22, 14 and 0.
Here is an audio sample (WAV, 1sec) https://www6.atwiki.jp/fx_geek?cmd=upload&act=open&pageid=16&file=pnseqpic.wav. The sound is good. Very similar to the AVR implementation's.
Because the PIC contains the clock oscillation and the reset circuit inside, H/W is extremely simple (schematic). S/W is also small (source code for Microchip MPLAB environment). Are you ready to burn one? https://www6.atwiki.jp/fx_geek?cmd=upload&act=open&pageid=16&file=pnseqpic.gif
August, 24, 2003
製作メモ (兼 更新日記)
(2017/10/17) Scrapbox移動
(2017/10/18) オーディオサンプルとソース、回路図のリンクを追加