init
This commit is contained in:
commit
01bf18eb8d
9 files changed
+5409
No files matched your search
@@ -0,0 +1,272 @@
|
||||
# ambium
|
||||
|
||||
Analog **brown-noise generator** with a slow amplitude swell (LFO). All-analog,
|
||||
breadboard-friendly, single **+12 V** supply. Deep, drifting rumble that slowly
|
||||
breathes in and out over ~20 s.
|
||||
|
||||
Each stage is drawn as ASCII below. **Reference designators and model numbers are
|
||||
consistent across every diagram, the BOM, and the connection list** — that list is
|
||||
the authoritative netlist.
|
||||
|
||||
## Parts used (model numbers)
|
||||
|
||||
- **U1, U2** = **LM358** (dual op-amp, DIP-8). U1 = amp + integrator; U2 = LFO + buffer.
|
||||
(LM258P is the same part — fine.)
|
||||
- **Q1, Q2** = **2N3904** (NPN). Q1 = avalanche noise source; Q2 = shunt VCA.
|
||||
|
||||
## Nets
|
||||
|
||||
`+12V` · `GND` · `VREF` (6 V mid-supply) · `NOISE` · `AMP` · `BROWN` · `LFO` ·
|
||||
`LFO_CV` · `VCA` · `AUDIO_OUT`
|
||||
|
||||
## Signal chain
|
||||
|
||||
```
|
||||
[noise] [amplify] [integrate] [VCA] [buffer]
|
||||
Q1 2N3904 → U1A LM358 ×1000 → U1B LM358 −6dB/oct → Q2 2N3904 → U2B LM358 → AUDIO_OUT
|
||||
NOISE AMP BROWN VCA (line out)
|
||||
▲
|
||||
swell
|
||||
U2A LM358 LFO (~0.05 Hz)
|
||||
```
|
||||
|
||||
Legend for the diagrams:
|
||||
```
|
||||
[Rxx val] resistor ──┤├── capacitor ● junction (connected)
|
||||
│\ × no-connect
|
||||
────┤−\ op-amp: IN− top, IN+ bottom, ► net continues (same label)
|
||||
│ >── OUT right. Powered from +12V/GND
|
||||
────┤+ / via LM358 pins 8/4 (see Power).
|
||||
│/
|
||||
(C)
|
||||
│
|
||||
(B)┤< NPN 2N3904 (C=collector, B=base, E=emitter)
|
||||
│
|
||||
(E)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Power · VREF divider (R2, R3, Cref)
|
||||
|
||||
```
|
||||
+12V
|
||||
│
|
||||
[R2 10k]
|
||||
│
|
||||
●───────────────┬────────► VREF (6 V)
|
||||
│ │
|
||||
[R3 10k] ──┤├── Cref 10µF
|
||||
│ │
|
||||
GND GND
|
||||
```
|
||||
`R2`/`R3` = 20 kΩ across 12 V → 0.6 mA, midpoint = **6 V**. `Cref` holds VREF steady.
|
||||
VREF is the AC ground every stage rides on (single supply, no negative rail).
|
||||
|
||||
---
|
||||
|
||||
## Stage 1 — White noise (R1, Q1, C1)
|
||||
|
||||
Reverse-biased base–emitter junction of `Q1` driven into avalanche = broadband white
|
||||
noise. `R1` limits current; `C1` couples the noise out.
|
||||
|
||||
```
|
||||
+12V
|
||||
│
|
||||
[R1 100k]
|
||||
│
|
||||
●──────┤├──────► NOISE
|
||||
│ C1 10µF
|
||||
(C) × (collector: no connect)
|
||||
│
|
||||
(B)─┤< Q1 2N3904
|
||||
│
|
||||
(E)
|
||||
│
|
||||
GND ← base to GND; avalanche appears across B-E, out at the R1/collector node
|
||||
```
|
||||
> Avalanche quality varies part-to-part. Try one 2N3904; if quiet, swap for another.
|
||||
> Needs the full +12 V (9 V is often too low to avalanche).
|
||||
|
||||
---
|
||||
|
||||
## Stage 2 — Amplifier ×1000 (U1A, Rin1, Rf1)
|
||||
|
||||
Inverting amp, gain ≈ −Rf1/Rin1 = **×1000**. Output centred on VREF.
|
||||
|
||||
```
|
||||
┌──────[Rf1 1M]──────┐
|
||||
│ │
|
||||
NOISE ──[Rin1 1k]──● │
|
||||
│ │\ │
|
||||
└───┤−\ │
|
||||
│ >──●───────┴────► AMP
|
||||
VREF ───────┤+ / U1A
|
||||
│/ (LM358, unit A)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Stage 3 — Integrator → brown (U1B, Rin2, Cint, Rf2)
|
||||
|
||||
Leaky integrator = **−6 dB/octave** → turns white into brown. `Rf2` bounds DC so the
|
||||
output can't rail. Corner ≈ 1/(2π·Rf2·Cint) ≈ 1.6 Hz.
|
||||
|
||||
```
|
||||
┌──────[Rf2 1M]──────┐
|
||||
│ │
|
||||
├───────┤├───────────┤ Cint 100nF (Rf2 ∥ Cint)
|
||||
│ │
|
||||
AMP ──[Rin2 10k]──● │
|
||||
│ │\ │
|
||||
└───┤−\ │
|
||||
│ >──●───────┴────► BROWN
|
||||
VREF ───────┤+ / U1B
|
||||
│/ (LM358, unit B)
|
||||
```
|
||||
Darker/deeper: ↑ Cint or Rf2. Lighter (toward pink): ↓ Cint.
|
||||
|
||||
---
|
||||
|
||||
## Stage 4 — LFO (U2A, Rt, Ct, Ra, Rh)
|
||||
|
||||
Single-op-amp relaxation oscillator. Period ≈ 2.2·Rt·Ct ≈ **~22 s**. The control
|
||||
voltage is the ramp on `Ct` (net `LFO_CV`) — it drives the VCA in Stage 5.
|
||||
|
||||
```
|
||||
┌──────────[Rt 1M]──────────┐
|
||||
│ │
|
||||
●──────┤├──── VREF │ Ct 10µF (non-polar)
|
||||
│ Ct │
|
||||
│ │\ │
|
||||
LFO_CV ●──────┤−\ │
|
||||
│ │ >──●──────────────┴──► LFO (and to Rh)
|
||||
┌──────┤+ / │ U2A
|
||||
│ │/ │ (LM358, unit A)
|
||||
●──[Ra 100k]──┤
|
||||
│ └── VREF
|
||||
[Rh 100k]
|
||||
│
|
||||
└───────────────────────────────────► LFO (hysteresis feedback)
|
||||
```
|
||||
`Ra`/`Rh` set the hysteresis (both 100k). `LFO_CV` ramps ~3.5–8.5 V.
|
||||
> `Ct` sees a bipolar swing about VREF — use a **non-polar** 10 µF (film or bipolar
|
||||
> electrolytic), not a standard polarised cap.
|
||||
|
||||
---
|
||||
|
||||
## Stage 5 — VCA + buffer + output (Rs, Q2, Rb2, U2B, Cout, Rvol)
|
||||
|
||||
`Q2` shunts the brown-noise signal to VREF (AC ground) by an amount set by `LFO_CV` →
|
||||
amplitude swells and fades. `U2B` buffers; `Cout` blocks DC; `Rvol` sets level.
|
||||
|
||||
```
|
||||
(C)
|
||||
│
|
||||
BROWN ──[Rs 47k]──●───────┤< Q2 2N3904
|
||||
│ │
|
||||
VCA (E)
|
||||
│ │
|
||||
│ VREF
|
||||
│
|
||||
LFO_CV ──[Rb2 100k]──(B) ← control voltage into Q2 base
|
||||
│
|
||||
│ │\
|
||||
└───┤+\
|
||||
│ >──●──────┤├──────●──[Rvol 10k]──► AUDIO_OUT
|
||||
┌───┤−/ U2B Cout (wiper)
|
||||
│ │/ (LM358 10µF │
|
||||
│ unit B) GND
|
||||
└──────────● (buffer: OUT tied back to IN−)
|
||||
```
|
||||
When `LFO_CV` is low → Q2 off → signal passes (loud). High → Q2 conducts → shunts to
|
||||
VREF (quiet). ~20 s swell. Soften the swell: 1 µF from `LFO_CV` to VREF.
|
||||
|
||||
---
|
||||
|
||||
## LM358 power + decoupling
|
||||
|
||||
Each LM358 (U1, U2) is powered once via its package pins — **not** per op-amp unit:
|
||||
|
||||
```
|
||||
+12V ──┬── U1 pin 8 (V+) GND ──┬── U1 pin 4 (V−)
|
||||
│ │
|
||||
└── U2 pin 8 (V+) └── U2 pin 4 (V−)
|
||||
|
||||
Decoupling: 0.1µF from +12V to GND at EACH chip, plus one 47µF bulk on the +12V rail.
|
||||
```
|
||||
LM358 unit A = pins 1(OUT) 2(IN−) 3(IN+); unit B = 7(OUT) 6(IN−) 5(IN+); power 8(V+) 4(V−).
|
||||
|
||||
---
|
||||
|
||||
## Bill of materials
|
||||
|
||||
| Ref | Value | Part / model | Function |
|
||||
|-----|-------|--------------|----------|
|
||||
| U1 | — | **LM358** (DIP-8) | U1A amp, U1B integrator |
|
||||
| U2 | — | **LM358** (DIP-8) | U2A LFO, U2B buffer |
|
||||
| Q1 | — | **2N3904** | avalanche white-noise source |
|
||||
| Q2 | — | **2N3904** | shunt VCA |
|
||||
| R1 | 100k | resistor | avalanche current limit |
|
||||
| R2, R3 | 10k | resistor | VREF divider |
|
||||
| Rin1 | 1k | resistor | amp input |
|
||||
| Rf1 | 1M | resistor | amp feedback (×1000) |
|
||||
| Rin2 | 10k | resistor | integrator input |
|
||||
| Rf2 | 1M | resistor | integrator leak / brown corner |
|
||||
| Rs | 47k | resistor | VCA series |
|
||||
| Rb2 | 100k | resistor | LFO_CV → Q2 base |
|
||||
| Rt | 1M | resistor | LFO timing |
|
||||
| Ra, Rh | 100k | resistor | LFO hysteresis |
|
||||
| Rvol | 10k | potentiometer | output level |
|
||||
| C1 | 10µF | electrolytic | noise coupling |
|
||||
| Cref | 10µF | electrolytic | VREF bypass |
|
||||
| Cint | 100nF | film | integrator (brown shaping) |
|
||||
| Cout | 10µF | electrolytic | output coupling |
|
||||
| Ct | 10µF | **non-polar** | LFO timing (bipolar swing) |
|
||||
| — | 0.1µF ×2 | ceramic | chip decoupling |
|
||||
| — | 47µF | electrolytic | +12V bulk |
|
||||
|
||||
**Chip count: 2× LM358 + 2× 2N3904.** Single +12 V supply.
|
||||
|
||||
---
|
||||
|
||||
## Connection list (authoritative netlist)
|
||||
|
||||
```
|
||||
+12V : R1.1, R2.1, U1.8, U2.8, (47µF+)
|
||||
GND : R3.2, Q1.base, Cref.−, U1.4, U2.4, Rvol.3, (47µF−), (0.1µF ×2)
|
||||
VREF : R2.2, R3.1, Cref.+, U1A.IN+(3), U1B.IN+(5), Ct(VREF end), Ra.1, Q2.emitter
|
||||
NOISE : R1.2 / Q1.emitter-node, C1.+ (C1.− → Rin1.1)
|
||||
AMP : U1A.OUT(1), Rf1, Rin2.1 (Rin1.2, Rf1, U1A.IN−(2) = summing node)
|
||||
BROWN : U1B.OUT(7), Cint, Rf2, Rs.1 (Rin2.2, Cint, Rf2, U1B.IN−(6) = summing)
|
||||
LFO : U2A.OUT(1), Rt, Rh
|
||||
LFO_CV : Rt, Ct(CV end), U2A.IN−(2), Rb2 (ramp that swells the VCA)
|
||||
VCA : Rs.2, Q2.collector, U2B.IN+(5)
|
||||
(U2B.OUT(7) = U2B.IN−(6) = Cout.+ → buffer)
|
||||
AUDIO_OUT : Rvol.wiper(2) (Cout.− → Rvol.1; Rvol.3 → GND)
|
||||
Q1 : collector = no-connect
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Build & test order
|
||||
|
||||
Build one stage at a time — verify before adding the next.
|
||||
|
||||
1. **VREF** — R2/R3/Cref up. Confirm ~6.0 V.
|
||||
2. **Noise (R1 + Q1)** — scope Q1 node → hiss (~mV). No noise? swap the 2N3904 or nudge supply to 12–15 V.
|
||||
3. **Amp (U1A)** — scope AMP → loud hiss (~volts).
|
||||
4. **Integrator (U1B)** — BROWN sounds darker/deeper than AMP. That's brown noise.
|
||||
5. **LFO (U2A)** — scope LFO_CV → slow ramp, ~20 s.
|
||||
6. **VCA + buffer (Q2, U2B)** — full chain: noise swells and fades on the LFO cycle.
|
||||
|
||||
## Tuning
|
||||
|
||||
| Want | Change |
|
||||
|------|--------|
|
||||
| Deeper/darker | ↑ Cint or Rf2 |
|
||||
| Lighter (toward pink) | ↓ Cint |
|
||||
| Slower swell | ↑ Rt or Ct |
|
||||
| Faster swell | ↓ Rt or Ct |
|
||||
| Softer swell onset | 1µF from LFO_CV to VREF |
|
||||
| Louder | ↑ Rf1 (watch clipping) |
|
||||
Reference in new issue
Block a user