Evidence at a glance
Based on the linked sources. The author's reported result and independent confirmation are separate checks.
- AI involvement
- Reported models: Claude. Tools: TypeScript. The writeup below describes the work attributed to AI.
- Reported result
- Partial. This is the directory's source-based outcome classification.
- Independent confirmation
- Not reported.
- Human work and limitations
- The project is in early development. The author explicitly states that some timing details have not been fully verified against hardware. The library does not use WebAssembly or native dependencies.
Original sources
What was done
nsf-js is a TypeScript library for playing .nsf and .nsfe files, implemented from hardware documentation. It supports various sound chips including 2A03, FDS, VRC6, VRC7, N163, MMC5, and Sunsoft 5B, featuring band-limited output and exact state snapshots for seeking.
nsf-js is a JavaScript library designed to play NES and Famicom sound files, specifically .nsf and .nsfe formats. The project is written from scratch in TypeScript and relies on published hardware documentation for its implementation. The library supports a wide range of sound hardware, including the 2A03 sound unit, FDS, VRC6, VRC7, N163, MMC5, and the Sunsoft 5B. The author reports that the VRC7 and Sunsoft 5B implementations are ports of their own existing emulators, emu2413 and emu2149, respectively. Key features include band-limited output at arbitrary sample rates, exact state snapshots for seeking, and per-channel output for visualization. The project includes various diagnostic and testing tools, such as test/render.mjs for audio playback, test/diag.mjs for activity monitoring, and test/scan.mjs for channel usage analysis. Development is in an early stage; while the library plays 2A03 and FDS material, the author notes that not all timing details exercised by specific drivers have been verified against hardware. The repository history indicates that Claude Opus 5.5 (1M context) is credited as a co-author on initial commits and subsequent audio module additions. Further details are available at https://raw.githubusercontent.com/digital-sound-antiques/nsf-js/HEAD/README.md.
Reproduce it
npm install; npm run build; node test/render.mjs <file.nsf> [track] [seconds] [out.wav]