Skip to content

Add MediaRecorder 1ch experiment and demo panel, doc consistency fixes#23

Merged
fan-droide merged 2 commits into
mainfrom
webcomponent
Jun 11, 2026
Merged

Add MediaRecorder 1ch experiment and demo panel, doc consistency fixes#23
fan-droide merged 2 commits into
mainfrom
webcomponent

Conversation

@fan-droide

Copy link
Copy Markdown
Collaborator

Summary

New: MediaRecorder 1ch research experiment

  • src/experiments/mr1ch.html + mr1ch.js — standalone single-channel MediaRecorder experiment for comparison against mr2ch. Records the mic directly from inputStream, plays the MLS reference to ac.destination, and cross-correlates the decoded recording against the pre-generated MLS buffer. Deliberately exposes the start-timing bias between MediaRecorder.start() and noiseSource.start() that the 2ch experiment eliminates.
  • Linked from src/index.html under Experiments.

New: "MediaRecorder 1ch" demo panel

  • demo/js/mr1ch.js + demo/index.html — ninth demo panel showcasing recording-mode="mediarecorder-1ch" (multi-run with aggregates), mirroring the AudioWorklet panel. Panel copy documents when to use the fallback (stereo→mono downmix in the default mode) and warns that measurements contain an unknown start-timing bias, not directly comparable with the 2ch or AudioWorklet panels. Respects the demo's Safari 14 / Chrome 78 syntax baseline.

Fixes

  • src/experiments/mr2ch.js — AudioContext created before getUserMedia; MediaRecorder.stop() safety in the catch path
  • README.md — docs site link added; image URLs switched to absolute raw.githubusercontent URLs so they render on npmjs.com; Node version wording corrected (18+ minimum per engines, 22 via .nvmrc, 24 in docs CI)
  • docs/index.md — homepage snippet now creates the AudioContext before getUserMedia, matching current guidance
  • docs/install.md — Node requirement aligned with the package engines field
  • agents/ docs — prepublishOnly claim corrected to build:component:all, draft-notice guidance marked resolved, session handoff updated

Test plan

  • npm test, npm run typecheck, npm run build:component:all, npm run docs:build, npm pack --dry-run all pass
  • Manual smoke test of the new demo panel and mr1ch experiment page
  • Two external review passes (Codex): plan review + post-implementation review, all findings addressed

🤖 Generated with Claude Code

gilpanal and others added 2 commits June 11, 2026 17:13
…y fixes

- src/experiments/mr1ch.{html,js}: standalone 1ch MediaRecorder research
  experiment — direct mic capture, exposes the start-timing bias that the
  2ch experiment eliminates; linked from src/index.html
- demo: new "MediaRecorder 1ch" panel showcasing
  recording-mode="mediarecorder-1ch" (multi-run, aggregates, Chrome 78
  baseline), mirroring the AudioWorklet panel
- src/experiments/mr2ch.js: AudioContext-before-getUserMedia ordering,
  MediaRecorder.stop() safety in catch path
- README: docs site link, npm-safe absolute image URLs, Node version
  wording (18+ minimum, 22 via .nvmrc, 24 in docs CI)
- docs: index.md snippet now creates AudioContext before getUserMedia;
  install.md Node requirement aligned with package engines field
- agents docs: prepublishOnly claim corrected, draft-notice guidance
  marked resolved, session handoff updated

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@fan-droide fan-droide merged commit a28e606 into main Jun 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant