Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
bc51b6b
The audiodsp floor moves to v0.6.1, on Brad's instruction
bdbarnett Sep 27, 2026
51b4904
DigitalDelay rebuilt against its frozen dossier (Phase 5 Station B, p…
bdbarnett Sep 27, 2026
8e0a351
DigitalDelay fix round: an honest tail, and patches load their own Time
bdbarnett Sep 27, 2026
5072ddf
DigitalDelay fix round 1: the audit's list, class side
bdbarnett Sep 27, 2026
44fa09d
DigitalDelay fix round 2: the audit's list, class side
bdbarnett Sep 27, 2026
1be8783
DigitalDelay fix round 2: T2's level span is -8.7 to -0.2 dBFS on bot…
bdbarnett Sep 27, 2026
e722620
The audiodsp floor moves to v0.6.2, on Brad's instruction
bdbarnett Sep 27, 2026
0b96718
DigitalDelay re-audit fix round 1: the tail at audiodsp v0.6.2, T2's …
bdbarnett Sep 27, 2026
c949fb0
DigitalDelay re-audit fix round 2: Repeat Tone steps clear of the nod…
bdbarnett Sep 27, 2026
52a7013
SlapbackDelay Station B: the rebuild and its tests
bdbarnett Sep 27, 2026
62ca92d
SlapbackDelay fix round: Tone out keeps the loop low-pass on the tap …
bdbarnett Sep 27, 2026
8db15c6
SlapbackDelay fix round 1: the audit's list, class side
bdbarnett Sep 27, 2026
39e6095
SlapbackDelay fix round 2: the audit's two sentences restated, class …
bdbarnett Sep 27, 2026
9e4ea23
SlapbackDelay re-audit fix round 1: T3's band struck for a measured t…
bdbarnett Sep 28, 2026
d0849c0
DigitalDelay: Repeat Tone's out stop no longer freezes the loop low-pass
bdbarnett Sep 28, 2026
e247c04
Flanger: F8 restated to the ring the fixed node plays
bdbarnett Sep 28, 2026
8f4badb
CombFilter declares a finite tail_samples
bdbarnett Sep 28, 2026
b44d043
Cost tool: two FeedbackDelay rows, and a class measured beside its row
bdbarnett Sep 28, 2026
8e8f8cc
TapeDelay Station B: the rebuild and its tests
bdbarnett Sep 28, 2026
b85c295
Flanger: keep the docstring phrase its surrender test pins
bdbarnett Sep 28, 2026
be6d359
DigitalDelay and SlapbackDelay are adopted: Phase 5's first two
bdbarnett Sep 28, 2026
620a731
PingPongDelay Station B: the rebuild and its tests
bdbarnett Sep 28, 2026
263d598
AnalogDelay Station B: the rebuild and its tests
bdbarnett Sep 28, 2026
bc7b72d
TapeDelay Station B fix round 1: reachability reads the handed state;…
bdbarnett Sep 28, 2026
d9054d8
AnalogDelay Station B fix round: small Time moves land; knob-turn set…
bdbarnett Sep 28, 2026
4858883
PingPongDelay fix round 1: the whole-frame landing restated with the …
bdbarnett Sep 28, 2026
e9e71b9
CombFilter: Tone's off stop no longer freezes the loop low-pass
bdbarnett Sep 28, 2026
dd4072c
PingPongDelay fix round 1: the audit's list, class side
bdbarnett Sep 28, 2026
a71d4ab
AnalogDelay fix round 1: T3's no-step bar carries the one-pole's memo…
bdbarnett Sep 28, 2026
2974a8e
TapeDelay fix round 1: the audit's list, class side
bdbarnett Sep 28, 2026
d7f7c91
PingPongDelay fix round 2: the audit's five sentences restated and te…
bdbarnett Sep 28, 2026
c2906a3
TapeDelay fix round 1: step_cell reports the struck round-0 ratio, un…
bdbarnett Sep 28, 2026
7d0311d
TapeDelay fix round 2: a Wow under grid 1 is red on T4's slow-band fl…
bdbarnett Sep 28, 2026
515b9a6
AnalogDelay fix round 2: T3's inside bar on the node's carry across t…
bdbarnett Sep 28, 2026
6c6c02f
MultiTapDelay Station B: the rebuild and its tests
bdbarnett Sep 28, 2026
c80ca59
MultiTapDelay fix round: reset() from the lean graph (or never wired …
bdbarnett Sep 28, 2026
b09e781
The audiodsp floor moves to v0.6.3rc1; the node workarounds come out
bdbarnett Sep 28, 2026
bcddb79
Merge effects/phase5-housekeeping into effects/phase5
bdbarnett Sep 28, 2026
5657402
ConvolutionReverb Station B: the rebuild and its tests
bdbarnett Sep 28, 2026
f15acc4
ConvolutionReverb Station B fix round: a start_ms that trims away eve…
bdbarnett Sep 28, 2026
ec9d728
Reverb Station B: the rebuild and its tests
bdbarnett Sep 28, 2026
769918a
Ten effects stop replaying old audio when a bypassed branch comes back
bdbarnett Sep 28, 2026
11fadb1
Reverb Station B fix round: Tone's detent hands 2^-24 dB so the tilt …
bdbarnett Sep 28, 2026
e745e35
TapeDelay at audiodsp v0.6.3rc1: the stepping out, the wow table kept…
bdbarnett Sep 28, 2026
70d5f4a
Merge effects/phase5 into effects/phase5-pingpongdelay
bdbarnett Sep 28, 2026
b650755
Merge effects/phase5 into effects/phase5-analogdelay
bdbarnett Sep 28, 2026
b0ec27d
ConvolutionReverb fix round 1: the audit's list, class side
bdbarnett Sep 28, 2026
d419ac4
MultiTapDelay fix round 1: the tap node runs one block behind the dry…
bdbarnett Sep 28, 2026
e9408a5
ConvolutionReverb fix round 2: the round-2 audit's list, class side
bdbarnett Sep 28, 2026
aec7a89
PingPongDelay at audiodsp v0.6.3rc1: the out-stop cures and the stepp…
bdbarnett Sep 28, 2026
b566efd
Merge pull request #115 from PyDevices/effects/phase5-staleblocks
bdbarnett Sep 28, 2026
ba7948b
AnalogDelay at audiodsp v0.6.3rc1: the stepping out, the Modulation s…
bdbarnett Sep 28, 2026
fff7b28
Reverb fix round 1: the audit's list, class side
bdbarnett Sep 28, 2026
1c9308b
ConvolutionReverb re-audit fix round 1: the round-3 audit's list, cla…
bdbarnett Sep 28, 2026
a65bb97
PingPongDelay re-audit fix round 1: the out stops tested with the fil…
bdbarnett Sep 28, 2026
ac2181f
MultiTapDelay fix round 2: a second reset or Mix-0 return between two…
bdbarnett Sep 28, 2026
71e680b
AnalogDelay re-audit fix round 1: a Modulation move read phase by pha…
bdbarnett Sep 28, 2026
80d2b70
Reverb fix round 2: the floor knee as the band four seed sets give (F…
bdbarnett Sep 28, 2026
9ae23f9
Merge effects/phase5-pingpongdelay into effects/phase5: PingPongDelay…
bdbarnett Sep 28, 2026
2ebbba3
Merge effects/phase5 into effects/phase5-multitapdelay: the audiodsp …
bdbarnett Sep 28, 2026
2ad414c
ConvolutionReverb re-audit fix round 2: the re-audit round-1 audit's …
bdbarnett Sep 28, 2026
d9ced37
AnalogDelay re-audit fix round 2: Spread handed on a 1/4096 grid, so …
bdbarnett Sep 28, 2026
e471872
MultiTapDelay re-audit fix round 1: the class at audiodsp v0.6.3rc1, …
bdbarnett Sep 28, 2026
724109d
Merge effects/phase5 into effects/phase5-convolutionreverb: the v0.6.…
bdbarnett Sep 28, 2026
a5675d7
TapeDelay re-audit fix round 1: patch 8 'Tape Delay - lean' on Brad's…
bdbarnett Sep 28, 2026
1b3bb94
ConvolutionReverb at audiodsp v0.6.3rc2: the class on the fixed convo…
bdbarnett Sep 28, 2026
26017d2
MultiTapDelay re-audit fix round 2: the words for a build without get…
bdbarnett Sep 28, 2026
bf12da1
TapeDelay re-audit fix round 2: Spread handed on a 1/4096 grid, so th…
bdbarnett Sep 28, 2026
cf17a88
ConvolutionReverb re-audit fix round 2 at audiodsp v0.6.3rc2: the roo…
bdbarnett Sep 28, 2026
8a57282
ConvolutionReverb re-audit fix round 1 after the re-audit round 2 at …
bdbarnett Sep 29, 2026
82419c0
The audiodsp floor moves to v0.6.3rc3
bdbarnett Sep 29, 2026
756e1de
Merge effects/phase5-multitapdelay into effects/phase5: MultiTapDelay…
bdbarnett Sep 29, 2026
e083810
The lifecycle matrix: one mechanical test of reset, reset_buffer, dei…
bdbarnett Sep 29, 2026
13ef3f0
ConvolutionReverb re-audit fix round 2 after the re-audit round 2 at …
bdbarnett Sep 29, 2026
6cf445c
The lifecycle matrix's KNOWN_RED: 31 findings over the eight Phase 5 …
bdbarnett Sep 29, 2026
c2cc24b
LIFECYCLE.md: how KNOWN_RED holds a finding, and the quick, full and …
bdbarnett Sep 29, 2026
40edece
KNOWN_RED from the CPython printouts, and KNOWN_P6: MultiTapDelay ren…
bdbarnett Sep 29, 2026
2fbd1da
Merge remote-tracking branch 'origin/effects/phase5' into effects/pha…
bdbarnett Sep 29, 2026
1420b6c
Merge remote-tracking branch 'origin/effects/phase5' into effects/pha…
bdbarnett Sep 29, 2026
65262b8
Merge remote-tracking branch 'origin/effects/phase5-lifecycle' into e…
bdbarnett Sep 29, 2026
c58d4ff
Merge remote-tracking branch 'origin/effects/phase5-lifecycle' into e…
bdbarnett Sep 29, 2026
3b3972e
Merge origin/effects/phase5 into effects/phase5-reverb (audiodsp v0.6…
bdbarnett Sep 29, 2026
c38a826
Merge remote-tracking branch 'origin/effects/phase5-lifecycle' into e…
bdbarnett Sep 29, 2026
0981629
AnalogDelay at audiodsp v0.6.3rc3, trial of the second process: Sprea…
bdbarnett Sep 29, 2026
44e4ec1
TapeDelay under the trial of the second process at audiodsp v0.6.3rc3…
bdbarnett Sep 29, 2026
7b13a5b
AnalogDelay, second fixer in the trial: three false claims struck, Sy…
bdbarnett Sep 29, 2026
3e74bb8
TapeDelay: strike two false docstring sentences and their CLAIMS rows…
bdbarnett Sep 29, 2026
28b10ed
Reverb trial fix at audiodsp v0.6.3rc3: re-cut in place, exact Tone 0…
bdbarnett Sep 29, 2026
2a1b6e4
Reverb trial, second fixer: two false sentences struck (the darker sh…
bdbarnett Sep 29, 2026
dd5b48f
DigitalDelay under the trial of the second process at audiodsp v0.6.3…
bdbarnett Sep 29, 2026
d0ec713
MultiTapDelay, trial of the second process at audiodsp v0.6.3rc3: the…
bdbarnett Sep 29, 2026
6dce1d0
SlapbackDelay at audiodsp v0.6.3rc3, trial of the second process: the…
bdbarnett Sep 29, 2026
b32aa3a
MultiTapDelay: the dry passes at unity except on CircuitPython's ster…
bdbarnett Sep 29, 2026
9b63979
SlapbackDelay second fixer: strike the false free-running-wobble sent…
bdbarnett Sep 29, 2026
e76a031
DigitalDelay, trial second fixer: Sync's two limits stated and tested…
bdbarnett Sep 29, 2026
76a58dc
Merge remote-tracking branch 'origin/effects/phase5' into effects/pha…
bdbarnett Sep 29, 2026
5fa767b
Merge remote-tracking branch 'origin/effects/phase5-lifecycle' into e…
bdbarnett Sep 29, 2026
21c5057
PingPongDelay under the trial of the second process at audiodsp v0.6.…
bdbarnett Sep 29, 2026
6f82897
ConvolutionReverb trial of the second process at audiodsp v0.6.3rc3: …
bdbarnett Sep 29, 2026
c773d5a
Merge effects/phase5-lifecycle into effects/phase5 (trial of the seco…
bdbarnett Sep 29, 2026
2c1664a
Merge effects/phase5-analogdelay into effects/phase5 (trial of the se…
bdbarnett Sep 29, 2026
e9d25b0
Merge effects/phase5-tapedelay into effects/phase5 (trial of the seco…
bdbarnett Sep 29, 2026
4de5ea0
Merge effects/phase5-reverb into effects/phase5 (trial of the second …
bdbarnett Sep 29, 2026
25a28f5
Merge effects/phase5-digitaldelay into effects/phase5 (trial of the s…
bdbarnett Sep 29, 2026
2ecf483
Merge effects/phase5-slapbackdelay into effects/phase5 (trial of the …
bdbarnett Sep 29, 2026
0d0f9d6
Merge effects/phase5-multitapdelay into effects/phase5 (trial of the …
bdbarnett Sep 29, 2026
c254c9e
Merge effects/phase5-convolutionreverb into effects/phase5 (trial of …
bdbarnett Sep 29, 2026
7abb78c
Merge effects/phase5-pingpongdelay into effects/phase5 (trial of the …
bdbarnett Sep 29, 2026
3f723cf
The lifecycle matrix's known-red table is empty: every Phase 5 class …
bdbarnett Sep 29, 2026
503a389
PingPongDelay tests: the planted stall's level is set on the planted …
bdbarnett Sep 29, 2026
e7a4eb2
Pin audiodsp v0.6.3 (5afe010), the release: no source moved from v0.6…
bdbarnett Sep 29, 2026
f1a23df
MultiTapDelay: the docstring says patch 4 needs a P4-class board and …
bdbarnett Sep 29, 2026
4755c71
TapeDelay, AnalogDelay, PingPongDelay, MultiTapDelay, Reverb and Conv…
bdbarnett Sep 29, 2026
ff93ad6
Merge pull request #119 from PyDevices/effects/phase5-adopt
bdbarnett Sep 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
175 changes: 174 additions & 1 deletion AUDIODSP_PIN
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,178 @@
# `OK (skipped=2)`, validate_api 55 instruments and 45 effects, the smoke
# green -- the same counts as at 02b1841.
#
# 2026-09-27: 4e58091 -> v0.6.1 (094dde5), on Brad's instruction. The
# effects program's Phase 5 (Time) was un-parked in a cloud session, where
# the desktop interpreters are built from the audiodsp checkout beside the
# anchor -- and at 4e58091 the unix MicroPython no longer links under
# micropython-pydevices' current overlay: every usermod entry in the module
# table comes up undefined (the manifest names the modules the way audiodsp
# main has named them since #144), so not one desktop gate could run at the
# floor this file named. Told that, Brad: "Move the pin and document that I
# told you to." And, the same hour: v0.6.1 was tagged on 2026-09-25 and is
# on TestPyPI, on the MIP index and on production PyPI (uploaded by hand
# after the Trusted Publisher step failed that day); the only commit past it
# is #151, which moves the PyPI upload into audiodsp's own workflow, and no
# source file differs -- so the desktop pair built from main (dd84add) is
# the release's DSP byte for byte. What moved beneath the components between
# 4e58091 and v0.6.1, by `git log 4e58091..v0.6.1 -- src`: a mixer voice at
# level 1.0 is a wire (audiodsp#129); the shaper's oversample ceiling is 16
# and a build-time knob (#131); a deinit() holds the pump lock over its whole
# body (#132); the pump's 64-bit status words are read under the 32-bit-
# atomics rule (#133); a file-backed source is refused at handover and the
# funnel refuses a loop entered at any node (#134, #135); a Tap read with
# nothing new says so (#136); a refused press is counted, so the instrument
# layer can see it (#137); a strike on a modal bank can carry a frame (#138);
# audiomodal's inner loop runs over the modes that can sound (#139); the
# pump's per-block path can be placed in IRAM (#142, #143); and ulab is named
# by the manifest once for every port (#144). Re-run here at the new pin, on
# the cloud desktop (Linux x86-64, Python 3.12, MicroPython v1.29.0 +
# overlay, CircuitPython 10.3.0 + the apply scripts): the unit suite `Ran
# 1548 tests ... OK (skipped=2)`, two more than the 1546 the same tree
# counted before this move's test edits, because #129 is the fix the four
# audiodsp#95 plants were waiting for (Mix 0 through
# the dry voice at unity, in Compressor, DeEsser, DynamicEQ and
# MultibandCompressor: it cannot fire on this floor, so each is a control
# now, and Compressor and MultibandCompressor gained the one-LSB dry-path
# plant the other two already had, so every WIRE row still has a fault it
# is shown catching); validate_api 55 instruments and 45 effects;
# validate_metadata valid; flake8 clean; the smoke 45 classes, 249 patches,
# 0 failures on CPython, MicroPython and CircuitPython; verify_dsp 49
# comparisons, 0 failures, on all three. Pending both boards:
# this move has not been proven on the P4 or the S3 -- there is no board in
# the cloud -- and the Phase 5 board test plan carries it as its first row.
# The pyproject floors stay at >=0.5.1; raising them is a release-time
# change and Phase 7's.
#
# 2026-09-27: v0.6.1 -> v0.6.2 (1c89b03), on Brad's instruction, the same
# day: "merge it and release and move the pin ... Work unattended and
# continue with effects after the release and pin move." v0.6.2 is on
# TestPyPI and production PyPI (the first upload through audiodsp's own
# Trusted Publisher). What moved beneath the components between v0.6.1 and
# v0.6.2, by `git log v0.6.1..v0.6.2 -- src`: audiopump.Tap gained a C
# stream reader (#152; no DSP node touched), and audioecho.FeedbackDelay's
# fed-back term is truncated toward zero exactly where round-to-nearest
# could hand a repeat back unchanged (#154, `recirculated()`,
# src/shared/audiodsp_feedback_delay.c:344, called at :529), so a tail
# reaches exact zero at every feedback. Below feedback 0.5 the output is
# byte-identical; above it a tail's last few LSB differ, 1-3 LSB and at most
# 6 at 0.99. That fix turned ten assertions red here, each pinning the old
# floor: DigitalDelay's floor test, CombFilter's parked-residue, parked-ring
# and un-reset-line tests, and Flanger's F8 audio T60 at Color max, which
# reads 1.91 s against its 2.0 s bar (2.13 s at v0.6.1: the floor was
# holding the ring up). The first eight are rewritten to the fixed
# behaviour, each shown red at v0.6.1; Flanger's two stay red for the gate
# audit, because the bar is not the pin move's to lower. Re-run here at the
# new pin on Brad's workstation (Linux x86-64, Python 3.12, MicroPython
# v1.29.0 + overlay and CircuitPython 10.3.0 + the apply scripts, both
# rebuilt from v0.6.2): the unit suite `Ran 1601 tests ... FAILED
# (failures=2, skipped=2)`, the two being Flanger's F8 rows above;
# validate_api 55 instruments and 45 effects; validate_metadata valid;
# flake8 clean; the smoke 45 classes, 249 patches, 0 failures on CPython,
# MicroPython and CircuitPython, line for line what v0.6.1 printed. A
# burst-and-two-seconds census of the whole catalogue (every class and
# parked rebuild, constructor default and every patch, 316 cells; the anchor's
# docs/effects-internal/probes/phase5_probes/pin062_catalogue_digest.py)
# moved 18 cells, the same 18 with the same digests on all three
# interpreters: CombFilter (5), the parked Flanger (6), TapeDelay (3),
# AnalogDelay (2), PingPongDelay (1) and the parked DigitalDelay (1).
# Pending both boards, as v0.6.1 was.
#
# 2026-09-28: v0.6.2 -> v0.6.3rc1 (bd7d2e2), a pre-release of the next
# patch, on Brad's ruling of the same day, "fix the node now, in parallel".
# It is on TestPyPI only (18 wheels; pre-releases skip production PyPI and
# MIP), so CI's `git+...@v0.6.3rc1` install is the one that reaches it.
# What moved beneath the components, by `git log v0.6.2..v0.6.3rc1 --
# src`: audiodsp#161, four fixes to audioecho.FeedbackDelay. A loop
# low-pass taken out (damping_hz 0) keeps its state on the tap, and a
# high-pass taken out (cut_hz 0) holds its state at zero, where both used
# to freeze and play back out of silence when the filter came back (#158,
# #159); a damping state that has stopped moving at or below 64 LSB is set
# onto its input once a block, so a tail reaches exact zero with the
# low-pass in (#157); a new wow_depth_ms ramps in over 20 ms instead of
# landing at once (#160). Eight tests here pinned the old node or proved a
# class-side workaround was needed (DigitalDelay 3, SlapbackDelay 3,
# CombFilter 2, one of them the stall canary) and went red at the new pin,
# nothing else did; the workarounds came out in the same change (the
# 32 x rate tracking off stops, the stall-window stepping, the Repeat Cut
# disclosure, SlapbackDelay's Wow step) and those tests assert the good
# behaviour directly, each beside a planted fault. The census (every class
# and parked rebuild at the default and every patch, 319 cells) is
# identical to v0.6.2's on CPython, MicroPython and CircuitPython, both
# before and after the workarounds came out; the library smoke moves 15
# peaks on all three, all where a patch change on a playing instance moves
# a wow depth (Chorus 1-5, Vibrato 3-6, the parked Flanger 1-6), which is
# #160's ramp. Re-run here on Brad's workstation, with the desktop
# interpreters rebuilt at the tag (audioecho.__revision__
# v0.0.3-290-gbd7d2e2 on MicroPython; CircuitPython carries none, and its
# provenance stamp names the same): the unit suite `Ran 1693 tests ... OK
# (skipped=3)`; validate_api 55 instruments and 45 effects;
# validate_metadata valid; flake8 clean; the smoke 45 classes, 259
# patches, 0 failures on CPython, MicroPython and CircuitPython. Pending
# both boards.
#
# 2026-09-28: v0.6.3rc1 -> v0.6.3rc2 (0d35a90), on this class branch
# (effects/phase5-convolutionreverb) first, so ConvolutionReverb is audited
# once, on the fixed node (Brad, the same day). A pre-release of the next
# patch, on TestPyPI only, like rc1. What moved beneath the components, by
# `git log v0.6.3rc1..v0.6.3rc2 -- src`: audiodsp#165, two fixes to
# audioconvolve.Convolver. A re-synthesis on a node that holds an impulse
# keeps the node's state: the block in flight is recomputed against the
# old room and the new and crossfaded over its unplayed frames, no frame
# of the dry drops at any mix, and from the next block the node is a node
# built with the new room (#163; load() still resets, and a first
# synthesis on an empty node still does). A stereo synthesized room gets
# one energy and one scale per side, so it no longer leans (#164). Mono
# rooms and measured impulses render the bytes they did; every stereo
# synthesized room moved. Five ConvolutionReverb tests pinned a defect or
# a figure of the old node and went red at the new pin, nothing else did;
# each is restated to the good behaviour beside a planted copy of the old
# (ResetOnMove renders the v0.6.3rc1 node's bytes on a mono room). Station
# C's 60 digests agree on CPython, MicroPython and CircuitPython built at
# the tag (bin/micropython-063rc2, audioecho.__revision__
# v0.0.3-295-g0d35a90, and bin/circuitpython-063rc2, whose provenance
# stamp names the same): the 30 stereo cells moved, the 30 mono cells did
# not. Gates here: the unit suite `Ran 1966 tests ... OK (skipped=3)`
# (no Flanger F8 failure: effects/phase5 restated F8); validate_api 55 instruments and 45 effects;
# validate_metadata valid; flake8 clean; the smoke 45 classes, 259
# patches, 0 failures on CPython and the two new binaries. The old
# reverb.ConvolutionReverb synthesizes stereo rooms too, so its renders
# move; no test holds them. Pending both boards, and the pump race on a
# board (audiodsp#166, open).
#
# 2026-09-29: v0.6.3rc1 -> v0.6.3rc3 (b386248), the next pre-release of the
# same patch, under the same ruling; TestPyPI only, as rc1. What moved
# beneath the components, by `git log v0.6.3rc1..v0.6.3rc3 -- src`:
# audiodsp#165, audioconvolve.Convolver keeps the block in flight across a
# re-synthesis (#163) and normalises each side of a synthesized stereo room
# on its own (#164); audiodsp#172, audioverb.Tank's tilt pole keeps tracking
# at tone_db 0 (#168) and set(delays=, taps=) re-cuts a playing node in place
# (#169); audiodsp#173, a cross-fed stereo audioecho.FeedbackDelay tail
# reaches exact zero (#170). Nothing on this branch pinned the old
# behaviour: the unit suite `Ran 1894 tests ... FAILED (failures=1,
# skipped=2)`, the one failure the provenance test refusing bin/micropython
# (an rc1 build; it passes pointed at bin/micropython-063rc3). The census
# (336 cells, three interpreters) moves exactly the 8 library
# ConvolutionReverb cells, from #164, to the digests audiodsp#165's own
# census printed; no delay class and no Reverb cell moves. The smoke moves
# ConvolutionReverb's 7 patch peaks and nothing else. Desktop interpreters
# built clean at the tag beside the live pair (bin/*-063rc3;
# audioecho.__revision__ v0.0.3-305-gb386248 on MicroPython, the provenance
# stamp on CircuitPython). validate_api 55 instruments and 45 effects;
# validate_metadata valid; flake8 clean; the smoke 45 classes, 259 patches,
# 0 failures on CPython and both rc3 binaries. Pending both boards.
#
# 2026-09-29: v0.6.3rc3 -> v0.6.3 (5afe010), the release, named by Brad
# the same day ("release audiodsp 0.6.3"); on TestPyPI and production
# PyPI. Nothing moved beneath the components: `git diff v0.6.3rc3 v0.6.3`
# is VERSION and CHANGELOG.md, no source file. Re-run here on Brad's
# workstation with both desktop interpreters rebuilt from clean build
# directories at the tag (audioecho.__revision__ v0.0.3-308-g5afe010 on
# MicroPython, the provenance stamp on CircuitPython; kept as bin/*-063)
# and the venv's audiodsp installed from PyPI: the unit suite `Ran 2280
# tests ... OK (skipped=2)`, the lifecycle matrix for all eight Phase 5
# classes included; validate_api, validate_metadata and flake8 clean.
# Pending both boards.
#
# <ref> <commit> -- ref is what CI installs (git+https://...@<ref>)
4e5809195af58dd17f1705edcb9981e6fec3a312 4e5809195af58dd17f1705edcb9981e6fec3a312
v0.6.3 5afe010b61b1b9e628534bc90895b005f7df6d6d
Loading
Loading