diff --git a/src/align/auto.ts b/src/align/auto.ts index 7f717eb..27e4f66 100644 --- a/src/align/auto.ts +++ b/src/align/auto.ts @@ -196,10 +196,19 @@ function fitFor(recOnsets: number[], smf: Smf, roles: Record, anchors: Anchor[], durSec: number): FitReport { + return fitFor(onsets, smf, roles, makeWarp(anchors), durSec); +} + /** Fit quality of any alignment (e.g. a hand-made one): onset-flux peaks of the raw recording vs the warped MIDI. */ export function alignmentFit(audio: Audio, smf: Smf, roles: Record, anchors: Anchor[]): FitReport { - const onsets = pickOnsets(features(audio, FINE_RATE).onset, FINE_RATE); - return fitFor(onsets, smf, roles, makeWarp(anchors), durationOf(audio)); + return fitFromOnsets(recordingOnsets(audio), smf, roles, anchors, durationOf(audio)); } /** diff --git a/src/align/cli.ts b/src/align/cli.ts index 8ecde8b..f2b84cd 100644 --- a/src/align/cli.ts +++ b/src/align/cli.ts @@ -1,8 +1,14 @@ import { parseArgs } from "node:util"; -import { addSong, trackKeys } from "../ref/manifest.ts"; +import { addSong, loadSong, readAlignment, trackKeys, writeAlignment } from "../ref/manifest.ts"; import { parseSmf } from "./smf.ts"; +import { autoAlign } from "./auto.ts"; +import { fitSummary } from "./fit.ts"; +import { SF2_PATH, startServer } from "./server.ts"; -const USAGE = `usage: bun run align add