JWA ELECTROACOUSTICS
PHOSPHOR

SYSTEM STATUS: RESON80R ON THE BENCH CLK --:--:--

LAB

JWA research and development bench

Where RESON80R is being built. Status, logs, photos and technical notes go up here as the work happens, including the parts that aren't finished.

C:\JWA\LAB> STATUS RESON80R

PROJECT
RESON80R, experimental harmonic resonator for guitar
STATUS
IN DEVELOPMENT
STAGE
Bench prototype; production PCB layout nearly complete
PLATFORM
Electro-Smith Daisy Seed, C++ with libDaisy
FIRMWARE
v0.020
AUDIO
Mono, 48 kHz, 4-sample blocks
MODES
NORMAL, FREE, CHORD and an eight-step sequencer, plus random mode across all modes
RELEASE
Not set

-- / --CHECKLIST ITEMS DONE

A count of the items below, not a schedule. Some items are far bigger than others.

PROGRESS BY TRACK

DSP / FIRMWARE

  • DONEResonator bank: eight parallel feedback combs at harmonics 1x to 8x
  • DONETimbre: odd harmonics only, fading toward all harmonics
  • DONESoft clipping inside the feedback loops and at the output
  • DONEFractional-delay tuning, glide, DC blocker, loop damping
  • DONECHORD mode: seven voicings on three resonator voices
  • DONEEight-step pitch sequencer
  • DONERandom mode, available in every mode
  • DONEFreeze, presets and OLED interface
  • TO DOTake the damping filter's delay out of the tuning (NOTE-002)
  • RESEARCHPitch tracking (YIN or autocorrelation): chromatic snap, free-follow, attack/hold
  • PLANNEDMIDI and clock sync

HARDWARE / CONTROLS

  • DONEDaisy Seed bring-up, custom firmware flashed
  • DONEMono audio path working
  • DONEThree pots read on A0 to A2 (3V3A, wiper, AGND)
  • TO DOGuitar input buffer and conditioning stage
  • DONEMode, up and down buttons; 0.96 in OLED
  • IN PROGRESSBench tests: most complete
  • PLANNED12-position rotary note selector

PRODUCTION

  • DONEDSP and controls on the Seed prototype
  • PLANNEDMeasure CPU and RAM use
  • IN PROGRESSProduction architecture: STM32H7 MCU and codec
  • IN PROGRESSCustom JWA circuit board: layout nearly complete

DONE: working on the bench. AWAITING TEST: written, not yet confirmed on hardware. TO DO: needed, not started. PLANNED: decided on. RESEARCH: still being worked out.

C:\JWA\LAB> VIEW PCB.GLB

The RESON80R production board, from the KiCad layout. A design-review draft: some parts are placeholder outlines from datasheet dimensions. Drag to turn it, scroll or pinch to zoom.

LOADING MODEL... 0%
PCB-01 Production layout render, KiCad 10.

C:\JWA\LAB> TYPE DEVLOG.TXT

Newest first. The first entries were written up after the fact, so they carry no dates.

  1. 006FIRMWARE / HARDWARE

    v0.020, and the production board takes shape

    The sequencer and CHORD mode are complete, and a random mode now works across every mode. Most of the prototype bench tests are done.

    The production circuit board is in design and nearly complete: see the layout render. It's a draft for design review, not a final board.

  2. 005WEB

    jwalabs.com goes live

    The site is up, with a browser simulation of the resonator idea on the RESON80R page: a plucked-string source feeding eight tuned feedback combs. It is written for the web and is not the pedal's firmware.

  3. 004FIRMWARE

    v0.007 written

    Fractional (interpolated) delay reads so every harmonic can sit in tune, a glide on note changes, a DC blocker on the input, a damping filter in each loop, hysteresis on the note knob and a placeholder for octave shift. Awaiting a bench test.

  4. 003FIRMWARE

    v0.006: the resonator bank

    Eight parallel feedback combs tuned to harmonics 1x to 8x of a note from C2 to B2. A0 picks the note, A1 sets dry/wet and A2 fades the even harmonics in over the odd ones. Feedback 0.975, with tanh soft clipping inside every loop and on the output.

    Delay lengths are whole samples, which pulls the upper harmonics sharp. See NOTE-001.

  5. 002HARDWARE

    Bring-up on the Daisy Seed

    Custom firmware flashing to the Seed, mono audio passing through, and three pots read on A0, A1 and A2 (3V3A to one outer leg, wiper to the pin, AGND to the other). No proper guitar input buffer yet. Photo: PLATE 01.

  6. 001CONCEPT

    RESON80R

    A bank of resonators tuned to a musical note, played by the guitar going into it. First controls: note, mix, and a timbre control that moves from odd harmonics to all of them.

C:\JWA\LAB> DIR /BENCH

The RESON80R breadboard prototype: a Daisy Seed board wired to three potentiometers, with a second breadboard and a guitar pedal beside it.
PLATE 01 Breadboard prototype: the Daisy Seed and three pots for note, mix and timbre.
PLATE 02 The prototype running on the bench.

C:\JWA\LAB> PLAY /BENCH

Bench recordings from real hardware, including rough takes that don't appear on the RESON80R page. Takes are listed in recordings.js.

C:\JWA\LAB> TYPE NOTES.TXT

Working notes. CALCULATED means worked out from the code, not measured on the bench.

NOTE-001 · WHOLE-SAMPLE DELAYS PULL HARMONICS SHARP CALCULATED

A feedback comb rings at the sample rate divided by its delay length. v0.006 rounds every delay down to a whole sample, so each loop is slightly short and its resonator plays sharp. The error grows with the harmonic number, because higher harmonics use shorter delays.

48 kHz, notes C2 to B2
1x    0.4 to  3.7 cents sharp
4x    1.4 to 16.4 cents sharp
8x    3.2 to 23.7 cents sharp
worst A#2 7x: 815.8 Hz wanted, 827.6 Hz played (+24.9 cents)

v0.007 reads the delay line between samples (linear interpolation), which removes this error.

NOTE-002 · THE DAMPING FILTER ADDS DELAY CALCULATED

v0.007 puts a one-pole lowpass inside each loop to darken the ring. The filter also delays the signal, by about a / (1 - a) samples: 0.18 samples at the current setting of 0.15. That makes each loop slightly long, so the resonators play slightly flat, from 0.4 to 6.2 cents across the bank, worst at B2 8x.

The fix is to subtract that amount from each delay length. The browser demo already does this; the firmware doesn't yet.

NOTE-003 · FEEDBACK MULTIPLIES DC CALCULATED

With feedback at 0.975, a comb's gain at 0 Hz is 1 / (1 - 0.975) = 40, about 32 dB. A small DC offset at the input comes out forty times larger, eating headroom and pushing the soft clipper off centre. v0.007 adds a DC blocker in front of the bank.

NOTE-004 · INPUT STAGE AND PRODUCTION PATH PLAN

The Seed's audio input is a line-level converter input. A passive guitar pickup needs a high-impedance buffer in front of it, or the pickup is loaded down and loses treble. That stage is on the to-do list before any test units.

Production path: finish the DSP and controls on the Seed, measure CPU and RAM use, then pick a cheaper MCU and codec for a custom JWA board. The Seed is built on an STM32H7, so the measurements carry straight over if production stays on that family.

C:\JWA\LAB> DIR /RESEARCH

  • RESON80RIN DEVELOPMENTHarmonic resonator for guitar. Everything above this section.
  • FOLLOWRESEARCHPitch tracking: hearing the note you play and following it
  • MACHINARESEARCHNotes not published yet
  • Unnamed projectCLASSIFIEDDetails withheld

Further directions for later: granular, spectral freeze, subharmonics, pitch effects, digital distortion, reverb and possibly amp modelling. Nothing here is a product until it has its own page.

C:\JWA> COMMAND LINE