Split the book into narration/dialogue spans from its own quotation marks and ask the LLM only who speaks each dialogue span (POST /api/attribute-spans), so text can no longer be fused, dropped or duplicated and a novel takes ~10 min instead of ~4 h. Book 1 vs the hand-corrected reference: every-word-right 87.0% -> 92.3%, type agreement 93.6% -> 97.4%; Books 2/3 (not tuned on) 90.8% / 89.9%. - static/js/audiobook-spans.js (pure, unit-tested) + audiobook-cast-spans.js - core/attribution_spans.py, route, tests; scripts/score_attribution.py - default on; localStorage ab-span-mode=0 restores the classic engine - architecture/audiobook-attribution.md, Manual, CHANGELOG 1.32.0, TODO Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
20 lines
572 B
JSON
20 lines
572 B
JSON
{
|
|
"name": "tts-voice-creator-tests",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"description": "E2E smoke tests for the TTS Voice Creator UI",
|
|
"scripts": {
|
|
"test": "playwright test",
|
|
"test:headed": "playwright test --headed",
|
|
"test:ui": "playwright test --ui",
|
|
"install:browsers": "playwright install chromium",
|
|
"minify": "node scripts/minify.mjs",
|
|
"check:frontend": "node scripts/check-frontend.mjs",
|
|
"test:unit": "node --test tests/*.test.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.48.0",
|
|
"esbuild": "^0.24.0"
|
|
}
|
|
}
|