picopilot 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/audio.d.ts +23 -2
- package/dist/commands/audio.d.ts.map +1 -1
- package/dist/commands/audio.js +228 -23
- package/dist/commands/audio.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +1 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/music.d.ts +2 -1
- package/dist/commands/music.d.ts.map +1 -1
- package/dist/commands/music.js +209 -2
- package/dist/commands/music.js.map +1 -1
- package/dist/commands/sfx.d.ts.map +1 -1
- package/dist/commands/sfx.js +99 -11
- package/dist/commands/sfx.js.map +1 -1
- package/dist/engine/audio/analyze.d.ts +164 -0
- package/dist/engine/audio/analyze.d.ts.map +1 -0
- package/dist/engine/audio/analyze.js +512 -0
- package/dist/engine/audio/analyze.js.map +1 -0
- package/dist/engine/audio/index.d.ts +4 -2
- package/dist/engine/audio/index.d.ts.map +1 -1
- package/dist/engine/audio/index.js +4 -2
- package/dist/engine/audio/index.js.map +1 -1
- package/dist/engine/audio/score.d.ts +137 -0
- package/dist/engine/audio/score.d.ts.map +1 -0
- package/dist/engine/audio/score.js +420 -0
- package/dist/engine/audio/score.js.map +1 -0
- package/dist/engine/audio/section.d.ts +7 -0
- package/dist/engine/audio/section.d.ts.map +1 -1
- package/dist/engine/audio/section.js +17 -0
- package/dist/engine/audio/section.js.map +1 -1
- package/dist/engine/audio/sfx.d.ts +114 -12
- package/dist/engine/audio/sfx.d.ts.map +1 -1
- package/dist/engine/audio/sfx.js +236 -33
- package/dist/engine/audio/sfx.js.map +1 -1
- package/dist/engine/pico8/harness.d.ts +11 -5
- package/dist/engine/pico8/harness.d.ts.map +1 -1
- package/dist/engine/pico8/harness.js +24 -10
- package/dist/engine/pico8/harness.js.map +1 -1
- package/dist/engine/scaffold/scaffold.d.ts.map +1 -1
- package/dist/engine/scaffold/scaffold.js +5 -1
- package/dist/engine/scaffold/scaffold.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/audio.test.ts +170 -1
- package/src/commands/audio.ts +284 -27
- package/src/commands/doctor.test.ts +1 -0
- package/src/commands/doctor.ts +1 -0
- package/src/commands/music.test.ts +119 -0
- package/src/commands/music.ts +251 -1
- package/src/commands/sfx.test.ts +55 -0
- package/src/commands/sfx.ts +118 -11
- package/src/engine/audio/analyze.test.ts +239 -0
- package/src/engine/audio/analyze.ts +664 -0
- package/src/engine/audio/index.ts +46 -1
- package/src/engine/audio/score.test.ts +402 -0
- package/src/engine/audio/score.ts +630 -0
- package/src/engine/audio/section.ts +19 -0
- package/src/engine/audio/sfx.test.ts +219 -4
- package/src/engine/audio/sfx.ts +326 -40
- package/src/engine/pico8/harness.test.ts +19 -0
- package/src/engine/pico8/harness.ts +29 -11
- package/src/engine/scaffold/scaffold.ts +5 -1
- package/src/skills/picopilot-audio/SKILL.md +74 -184
package/dist/commands/audio.d.ts
CHANGED
|
@@ -8,8 +8,29 @@ import { type Pico8AdapterFactory } from './pico8-env.js';
|
|
|
8
8
|
*/
|
|
9
9
|
export type { Pico8AdapterFactory } from './pico8-env.js';
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* The startup margin added to the record window for the default backstop. A
|
|
12
|
+
* recording is real time, so the backstop must cover PICO-8 startup (a virtual
|
|
13
|
+
* display, loading the cart) PLUS the whole record window. A fixed 30 s backstop
|
|
14
|
+
* used to kill any window of ~24 s or more before `audio_end`.
|
|
15
|
+
*/
|
|
16
|
+
export declare const RECORD_STARTUP_MARGIN_MS = 30000;
|
|
17
|
+
/** The least startup time an explicit backstop must leave beyond the window. */
|
|
18
|
+
export declare const RECORD_MIN_STARTUP_MS = 5000;
|
|
19
|
+
/**
|
|
20
|
+
* The backstop for a record window: the explicit `--backstop-ms` when it leaves
|
|
21
|
+
* at least {@link RECORD_MIN_STARTUP_MS} for startup, else a refusal; or, when
|
|
22
|
+
* none is given, the window plus {@link RECORD_STARTUP_MARGIN_MS}.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveRecordBackstop(seconds: number, explicit: number | undefined): {
|
|
25
|
+
ok: true;
|
|
26
|
+
ms: number;
|
|
27
|
+
} | {
|
|
28
|
+
ok: false;
|
|
29
|
+
message: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Registers the `audio` command group (`audio record`, `audio render`, `audio
|
|
33
|
+
* analyze`) on the root CLI. PICO-8-gated (ADR-0009): audio-to-WAV is a record of a running
|
|
13
34
|
* session, never an offline export. `adapterFactory` is injected so tests drive
|
|
14
35
|
* the orchestration against a fake runner (no paid binary in CI).
|
|
15
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/commands/audio.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/commands/audio.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;AAkB7B,OAAO,EAKN,KAAK,mBAAmB,EAGxB,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,YAAY,EAAC,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAIxD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC1B;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAavD;AA6lBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,mBAA2C,GACzD,IAAI,CAEN"}
|
package/dist/commands/audio.js
CHANGED
|
@@ -2,16 +2,46 @@ import { existsSync, mkdirSync, mkdtempSync, readFileSync, writeFileSync, } from
|
|
|
2
2
|
import { tmpdir } from 'node:os';
|
|
3
3
|
import { isAbsolute, join, resolve } from 'node:path';
|
|
4
4
|
import { Cli, z } from 'incur';
|
|
5
|
+
import { analyzeAudio, AudioAnalyzeError, decodeWav, THRESHOLDS, } from '../engine/audio/index.js';
|
|
5
6
|
import { buildRecordHarness, buildRenderHarness, DONE_SENTINEL, HarnessError, } from '../engine/pico8/index.js';
|
|
6
7
|
import { makeReadInclude } from './cart-includes.js';
|
|
7
8
|
import { createShellAdapterFactory, DISPLAY_OPTION, displayUnavailableError, PICO8_ENV, pico8NotFoundError, resolveCommandDisplay, } from './pico8-env.js';
|
|
8
9
|
const defaultAdapterFactory = createShellAdapterFactory();
|
|
9
10
|
/**
|
|
10
|
-
* The
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* The startup margin added to the record window for the default backstop. A
|
|
12
|
+
* recording is real time, so the backstop must cover PICO-8 startup (a virtual
|
|
13
|
+
* display, loading the cart) PLUS the whole record window. A fixed 30 s backstop
|
|
14
|
+
* used to kill any window of ~24 s or more before `audio_end`.
|
|
13
15
|
*/
|
|
14
|
-
const
|
|
16
|
+
export const RECORD_STARTUP_MARGIN_MS = 30_000;
|
|
17
|
+
/** The least startup time an explicit backstop must leave beyond the window. */
|
|
18
|
+
export const RECORD_MIN_STARTUP_MS = 5_000;
|
|
19
|
+
/**
|
|
20
|
+
* The backstop for a record window: the explicit `--backstop-ms` when it leaves
|
|
21
|
+
* at least {@link RECORD_MIN_STARTUP_MS} for startup, else a refusal; or, when
|
|
22
|
+
* none is given, the window plus {@link RECORD_STARTUP_MARGIN_MS}.
|
|
23
|
+
*/
|
|
24
|
+
export function resolveRecordBackstop(seconds, explicit) {
|
|
25
|
+
const windowMs = Math.ceil(seconds * 1000);
|
|
26
|
+
if (explicit === undefined) {
|
|
27
|
+
return { ok: true, ms: windowMs + RECORD_STARTUP_MARGIN_MS };
|
|
28
|
+
}
|
|
29
|
+
const least = windowMs + RECORD_MIN_STARTUP_MS;
|
|
30
|
+
if (explicit < least) {
|
|
31
|
+
return {
|
|
32
|
+
ok: false,
|
|
33
|
+
message: `--backstop-ms ${explicit} is too small for a ${seconds} s record window: PICO-8 would be killed before the recording ends (it also needs a few seconds to start). Use at least ${least}, or omit --backstop-ms (the default is the window + ${RECORD_STARTUP_MARGIN_MS / 1000} s).`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return { ok: true, ms: explicit };
|
|
37
|
+
}
|
|
38
|
+
/** The `--backstop-ms` option both audio subcommands share. */
|
|
39
|
+
const BACKSTOP_OPTION = z
|
|
40
|
+
.number()
|
|
41
|
+
.int()
|
|
42
|
+
.positive()
|
|
43
|
+
.optional()
|
|
44
|
+
.describe(`Safety backstop: kill PICO-8 after this many ms if it never signals. Default: the record window + ${RECORD_STARTUP_MARGIN_MS / 1000} s of startup margin. An explicit value smaller than the window + ${RECORD_MIN_STARTUP_MS / 1000} s is refused.`);
|
|
15
45
|
/** The honest one-liner both `record` and `render` carry (ADR-0009): not offline. */
|
|
16
46
|
const HONEST_CAVEAT = 'This is a REAL-TIME recording of playback in a -run session, NOT a deterministic offline export. Works headless: with no display, picopilot runs the session on a private virtual display (ADR-0017, --display).';
|
|
17
47
|
/** Resolves a path argument to an absolute path (relative to cwd). */
|
|
@@ -37,6 +67,82 @@ function chooseWavDir(given) {
|
|
|
37
67
|
}
|
|
38
68
|
/** The env schema both audio subcommands share (locates the binary). */
|
|
39
69
|
const AUDIO_ENV = PICO8_ENV;
|
|
70
|
+
/** The structured analysis of a recording (`audio analyze`, `--analyze`). */
|
|
71
|
+
const ANALYSIS_OUTPUT = z.object({
|
|
72
|
+
sampleRate: z.number(),
|
|
73
|
+
durationSeconds: z.number(),
|
|
74
|
+
skippedSeconds: z
|
|
75
|
+
.number()
|
|
76
|
+
.describe('Seconds skipped at the start (PICO-8 startup).'),
|
|
77
|
+
analyzedSeconds: z.number(),
|
|
78
|
+
loudness: z.object({
|
|
79
|
+
meanRms: z
|
|
80
|
+
.number()
|
|
81
|
+
.describe(`Mean RMS of 2048-sample frames (0-1). Accepted game music: 0.07-0.10; over ${THRESHOLDS.loudMeanRms} warns.`),
|
|
82
|
+
medianRms: z.number(),
|
|
83
|
+
peakFrameRms: z.number().describe('The loudest frame.'),
|
|
84
|
+
peakFrameAtSeconds: z
|
|
85
|
+
.number()
|
|
86
|
+
.describe('When the loudest frame starts (s from file start).'),
|
|
87
|
+
peakSample: z.number().describe('99.9th-percentile absolute sample.'),
|
|
88
|
+
silentPercent: z.number().describe('Share of silent frames (%).'),
|
|
89
|
+
}),
|
|
90
|
+
brightness: z.object({
|
|
91
|
+
centroidHz: z
|
|
92
|
+
.number()
|
|
93
|
+
.describe(`Median spectral centroid (Hz). Accepted: under 500; over ${THRESHOLDS.shrillCentroidHz} is shrill.`),
|
|
94
|
+
above2kHzPercent: z
|
|
95
|
+
.number()
|
|
96
|
+
.describe(`Share of energy above 2 kHz (%). Accepted: about 0.2; over ${THRESHOLDS.shrillAbove2kHzPercent} is shrill.`),
|
|
97
|
+
}),
|
|
98
|
+
dynamicRangeDb: z
|
|
99
|
+
.number()
|
|
100
|
+
.describe(`p90 - p10 of frame level, silence excluded (dB). Accepted: 7-8; under ${THRESHOLDS.flatRangeDb} is monotonous.`),
|
|
101
|
+
profile: z.object({
|
|
102
|
+
stepSeconds: z.number(),
|
|
103
|
+
rms: z.array(z.number()),
|
|
104
|
+
sparkline: z.string().describe('The loudness profile as a bar chart.'),
|
|
105
|
+
}),
|
|
106
|
+
loop: z
|
|
107
|
+
.object({
|
|
108
|
+
seconds: z.number().nullable(),
|
|
109
|
+
confidence: z.number().optional(),
|
|
110
|
+
reason: z.string().optional(),
|
|
111
|
+
})
|
|
112
|
+
.describe('The repetition length (needs the loop to appear twice in the recording).'),
|
|
113
|
+
against: z
|
|
114
|
+
.object({ referenceRms: z.number(), musicOverReferenceDb: z.number() })
|
|
115
|
+
.optional(),
|
|
116
|
+
warnings: z
|
|
117
|
+
.array(z.object({ code: z.string(), message: z.string() }))
|
|
118
|
+
.describe('Plain-language findings; empty = nothing flagged.'),
|
|
119
|
+
});
|
|
120
|
+
/** The `--analyze` option of record/render. */
|
|
121
|
+
const ANALYZE_OPTION = z
|
|
122
|
+
.boolean()
|
|
123
|
+
.default(false)
|
|
124
|
+
.describe('Also analyze the captured WAV (loudness, brightness, dynamic range, profile, loop length, warnings), as `audio analyze` does.');
|
|
125
|
+
/**
|
|
126
|
+
* Analyzes a captured WAV for `--analyze`, or explains why it could not. Never
|
|
127
|
+
* fails the recording itself.
|
|
128
|
+
*/
|
|
129
|
+
function analyzeCapture(wavPath, kind) {
|
|
130
|
+
if (wavPath === undefined)
|
|
131
|
+
return undefined;
|
|
132
|
+
try {
|
|
133
|
+
// An SFX render starts recording on the frame the SFX starts: skip
|
|
134
|
+
// nothing, or a short SFX would be measured on its silent tail only.
|
|
135
|
+
return {
|
|
136
|
+
analysis: analyzeAudio(decodeWav(readFileSync(wavPath)), {
|
|
137
|
+
kind,
|
|
138
|
+
skipSeconds: kind === 'sfx' ? 0 : 1,
|
|
139
|
+
}),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
return { analysisError: e instanceof Error ? e.message : String(e) };
|
|
144
|
+
}
|
|
145
|
+
}
|
|
40
146
|
/** The structured output shape shared by `record` and `render`. */
|
|
41
147
|
const AUDIO_OUTPUT = z.object({
|
|
42
148
|
wav: z
|
|
@@ -68,6 +174,11 @@ const AUDIO_OUTPUT = z.object({
|
|
|
68
174
|
.string()
|
|
69
175
|
.optional()
|
|
70
176
|
.describe("When no WAV was captured: the tail of PICO-8's own log.txt (load errors, SDL init failures)."),
|
|
177
|
+
analysis: ANALYSIS_OUTPUT.optional().describe('With --analyze: the analysis of the captured WAV.'),
|
|
178
|
+
analysisError: z
|
|
179
|
+
.string()
|
|
180
|
+
.optional()
|
|
181
|
+
.describe('With --analyze: why the WAV could not be analyzed.'),
|
|
71
182
|
});
|
|
72
183
|
/**
|
|
73
184
|
* The advisory CTA when a record/render run captured NO audio. The report's
|
|
@@ -120,7 +231,7 @@ function recordOutput(report, harness) {
|
|
|
120
231
|
*/
|
|
121
232
|
function buildAudioGroup(adapterFactory) {
|
|
122
233
|
const audio = Cli.create('audio', {
|
|
123
|
-
description: 'Get a WAV out of a cart by RECORDING a running session (ADR-0009). PICO-8 has no working offline WAV export, so
|
|
234
|
+
description: 'Get a WAV out of a cart by RECORDING a running session (ADR-0009), and measure it. PICO-8 has no working offline WAV export, so `record` and `render` are REAL-TIME recordings of a -run session, NOT deterministic offline exports; they work headless (with no display, picopilot runs the session on a private virtual display, ADR-0017) and require PICO-8. `analyze` measures a WAV (loudness, brightness, dynamics, loop length) and needs nothing.',
|
|
124
235
|
});
|
|
125
236
|
// --- audio record <cart> ---------------------------------------------------
|
|
126
237
|
audio.command('record', {
|
|
@@ -145,12 +256,8 @@ function buildAudioGroup(adapterFactory) {
|
|
|
145
256
|
.string()
|
|
146
257
|
.default(DONE_SENTINEL)
|
|
147
258
|
.describe('The stdout line that ends the recording.'),
|
|
148
|
-
backstopMs:
|
|
149
|
-
|
|
150
|
-
.int()
|
|
151
|
-
.positive()
|
|
152
|
-
.default(DEFAULT_BACKSTOP_MS)
|
|
153
|
-
.describe('Safety backstop: kill PICO-8 after this many ms if it never signals.'),
|
|
259
|
+
backstopMs: BACKSTOP_OPTION,
|
|
260
|
+
analyze: ANALYZE_OPTION,
|
|
154
261
|
display: DISPLAY_OPTION,
|
|
155
262
|
}),
|
|
156
263
|
env: AUDIO_ENV,
|
|
@@ -188,6 +295,14 @@ function buildAudioGroup(adapterFactory) {
|
|
|
188
295
|
}
|
|
189
296
|
throw e;
|
|
190
297
|
}
|
|
298
|
+
const backstop = resolveRecordBackstop(harness.seconds, options.backstopMs);
|
|
299
|
+
if (!backstop.ok) {
|
|
300
|
+
return error({
|
|
301
|
+
code: 'audio-backstop-too-small',
|
|
302
|
+
message: backstop.message,
|
|
303
|
+
exitCode: 1,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
191
306
|
// The throwaway harness cart + the WAV both live in the isolated dir, so a
|
|
192
307
|
// record run never mutates the user's cart or writes outside the temp dir.
|
|
193
308
|
const wavDir = chooseWavDir(options.wavDir);
|
|
@@ -204,11 +319,16 @@ function buildAudioGroup(adapterFactory) {
|
|
|
204
319
|
wavDir,
|
|
205
320
|
wavBasename: harness.wavBasename,
|
|
206
321
|
sentinel: options.sentinel,
|
|
207
|
-
backstopMs:
|
|
322
|
+
backstopMs: backstop.ms,
|
|
208
323
|
});
|
|
209
324
|
if (!result.ok)
|
|
210
325
|
return error(recordFailure('audio record', result));
|
|
211
|
-
const out =
|
|
326
|
+
const out = {
|
|
327
|
+
...recordOutput(result.value, harness),
|
|
328
|
+
...(options.analyze
|
|
329
|
+
? analyzeCapture(result.value.wavPath, 'music')
|
|
330
|
+
: {}),
|
|
331
|
+
};
|
|
212
332
|
return ok(out, out.captured ? undefined : { cta: noAudioCta(out.noAudioReason) });
|
|
213
333
|
},
|
|
214
334
|
});
|
|
@@ -249,12 +369,8 @@ function buildAudioGroup(adapterFactory) {
|
|
|
249
369
|
.string()
|
|
250
370
|
.default(DONE_SENTINEL)
|
|
251
371
|
.describe('The stdout line that ends the recording.'),
|
|
252
|
-
backstopMs:
|
|
253
|
-
|
|
254
|
-
.int()
|
|
255
|
-
.positive()
|
|
256
|
-
.default(DEFAULT_BACKSTOP_MS)
|
|
257
|
-
.describe('Safety backstop: kill PICO-8 after this many ms if it never signals.'),
|
|
372
|
+
backstopMs: BACKSTOP_OPTION,
|
|
373
|
+
analyze: ANALYZE_OPTION,
|
|
258
374
|
display: DISPLAY_OPTION,
|
|
259
375
|
}),
|
|
260
376
|
env: AUDIO_ENV,
|
|
@@ -304,6 +420,14 @@ function buildAudioGroup(adapterFactory) {
|
|
|
304
420
|
}
|
|
305
421
|
throw e;
|
|
306
422
|
}
|
|
423
|
+
const backstop = resolveRecordBackstop(harness.seconds, options.backstopMs);
|
|
424
|
+
if (!backstop.ok) {
|
|
425
|
+
return error({
|
|
426
|
+
code: 'audio-backstop-too-small',
|
|
427
|
+
message: backstop.message,
|
|
428
|
+
exitCode: 1,
|
|
429
|
+
});
|
|
430
|
+
}
|
|
307
431
|
const wavDir = chooseWavDir(options.wavDir);
|
|
308
432
|
const harnessCart = join(wavDir, 'render-harness.p8');
|
|
309
433
|
writeFileSync(harnessCart, harness.cartText);
|
|
@@ -318,19 +442,100 @@ function buildAudioGroup(adapterFactory) {
|
|
|
318
442
|
wavDir,
|
|
319
443
|
wavBasename: harness.wavBasename,
|
|
320
444
|
sentinel: options.sentinel,
|
|
321
|
-
backstopMs:
|
|
445
|
+
backstopMs: backstop.ms,
|
|
322
446
|
});
|
|
323
447
|
if (!result.ok)
|
|
324
448
|
return error(recordFailure('audio render', result));
|
|
325
|
-
const out =
|
|
449
|
+
const out = {
|
|
450
|
+
...recordOutput(result.value, harness),
|
|
451
|
+
...(options.analyze
|
|
452
|
+
? analyzeCapture(result.value.wavPath, target.kind === 'sfx' ? 'sfx' : 'music')
|
|
453
|
+
: {}),
|
|
454
|
+
};
|
|
326
455
|
return ok(out, out.captured ? undefined : { cta: noAudioCta(out.noAudioReason) });
|
|
327
456
|
},
|
|
328
457
|
});
|
|
458
|
+
// --- audio analyze <wav> ----------------------------------------------------
|
|
459
|
+
audio.command('analyze', {
|
|
460
|
+
description: `Measure a WAV (from \`audio render\` / \`audio record\`) so a model that cannot hear can judge it: loudness (mean/peak RMS, loudest moment), brightness (spectral centroid, energy above 2 kHz), dynamic range, a loudness profile per half second, and the loop length, plus plain-language warnings (loud, shrill, monotonous, spikes, repetitive). Skips the first second by default (as the calibration did); thresholds are for music, \`--kind sfx\` keeps only the checks that apply to a one-shot sound. --against <sfx.wav> compares the music's loudness with a rendered SFX, so the music sits under the SFX. Pure TypeScript: needs neither PICO-8 nor Python.`,
|
|
461
|
+
args: z.object({
|
|
462
|
+
wav: z.string().describe('The WAV file to analyze.'),
|
|
463
|
+
}),
|
|
464
|
+
options: z.object({
|
|
465
|
+
skip: z.coerce
|
|
466
|
+
.number()
|
|
467
|
+
.min(0)
|
|
468
|
+
.default(1)
|
|
469
|
+
.describe('Seconds to skip at the start (default 1, as in the calibration; use 0 for an SFX render). Ignored when the WAV is too short for it.'),
|
|
470
|
+
kind: z
|
|
471
|
+
.enum(['music', 'sfx'])
|
|
472
|
+
.default('music')
|
|
473
|
+
.describe('music: every warning; sfx: a one-shot sound, only near-silent / near-clipping (the music thresholds do not apply).'),
|
|
474
|
+
against: z
|
|
475
|
+
.string()
|
|
476
|
+
.optional()
|
|
477
|
+
.describe('A reference SFX WAV (e.g. from `audio render --sfx 7`): report the music level relative to it and warn when the music is not quieter.'),
|
|
478
|
+
}),
|
|
479
|
+
output: ANALYSIS_OUTPUT,
|
|
480
|
+
examples: [
|
|
481
|
+
{
|
|
482
|
+
description: 'Analyze a rendered song',
|
|
483
|
+
args: { wav: '/tmp/picopilot-audio-x/picopilot-audio.wav' },
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
description: 'Check the music sits under an SFX',
|
|
487
|
+
args: { wav: 'music.wav' },
|
|
488
|
+
options: { against: 'explosion.wav' },
|
|
489
|
+
},
|
|
490
|
+
],
|
|
491
|
+
run({ args, options, error, ok }) {
|
|
492
|
+
const read = (p) => {
|
|
493
|
+
const abs = resolvePath(p);
|
|
494
|
+
if (!existsSync(abs)) {
|
|
495
|
+
throw new AudioAnalyzeError('audio-analyze-bad-wav', `no WAV at ${abs}`);
|
|
496
|
+
}
|
|
497
|
+
return decodeWav(readFileSync(abs));
|
|
498
|
+
};
|
|
499
|
+
let analysis;
|
|
500
|
+
try {
|
|
501
|
+
analysis = analyzeAudio(read(args.wav), {
|
|
502
|
+
skipSeconds: options.skip,
|
|
503
|
+
kind: options.kind,
|
|
504
|
+
...(options.against !== undefined
|
|
505
|
+
? { against: read(options.against) }
|
|
506
|
+
: {}),
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
catch (e) {
|
|
510
|
+
if (e instanceof AudioAnalyzeError) {
|
|
511
|
+
return error({ code: e.code, message: e.message, exitCode: 1 });
|
|
512
|
+
}
|
|
513
|
+
throw e;
|
|
514
|
+
}
|
|
515
|
+
return ok(analysis, analysis.warnings.length > 0
|
|
516
|
+
? {
|
|
517
|
+
cta: {
|
|
518
|
+
description: 'Fix the flagged issues in the score, then measure again:',
|
|
519
|
+
commands: [
|
|
520
|
+
{
|
|
521
|
+
command: 'music from-score --file <score.json>',
|
|
522
|
+
description: 'Rewrite the music.',
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
command: 'audio render --pattern <n> --analyze',
|
|
526
|
+
description: 'Record and analyze it again.',
|
|
527
|
+
},
|
|
528
|
+
],
|
|
529
|
+
},
|
|
530
|
+
}
|
|
531
|
+
: undefined);
|
|
532
|
+
},
|
|
533
|
+
});
|
|
329
534
|
return audio;
|
|
330
535
|
}
|
|
331
536
|
/**
|
|
332
|
-
* Registers the `audio` command group (`audio record`, `audio render`
|
|
333
|
-
* root CLI. PICO-8-gated (ADR-0009): audio-to-WAV is a record of a running
|
|
537
|
+
* Registers the `audio` command group (`audio record`, `audio render`, `audio
|
|
538
|
+
* analyze`) on the root CLI. PICO-8-gated (ADR-0009): audio-to-WAV is a record of a running
|
|
334
539
|
* session, never an offline export. `adapterFactory` is injected so tests drive
|
|
335
540
|
* the orchestration against a fake runner (no paid binary in CI).
|
|
336
541
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio.js","sourceRoot":"","sources":["../../src/commands/audio.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audio.js","sourceRoot":"","sources":["../../src/commands/audio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAYlC,OAAO,EAKN,KAAK,mBAAmB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAYlC,OAAO,EAKN,KAAK,mBAAmB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;AA8D1B,qEAAqE;AACrE,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC,yFAAyF;IACzF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACvC,qDAAqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,GAAG,SAAS,CAAC;CAC7E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAmLxE"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -46,6 +46,7 @@ const COMMAND_NEEDS = [
|
|
|
46
46
|
{ command: 'run --record-audio', needs: ['pico8', 'display'] },
|
|
47
47
|
{ command: 'audio record', needs: ['pico8', 'display'] },
|
|
48
48
|
{ command: 'audio render', needs: ['pico8', 'display'] },
|
|
49
|
+
{ command: 'audio analyze', needs: [] },
|
|
49
50
|
];
|
|
50
51
|
/** The PICO-8 version from its install path (e.g. `.../pico-8-0.2.7/...`), if it names one. */
|
|
51
52
|
function versionFromPath(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACzE,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAW,CAAC,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,EACN,aAAa,EAEb,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,GAEb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,yBAAyB,EACzB,cAAc,EACd,SAAS,EACT,qBAAqB,GAErB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,yBAAyB,GAEzB,MAAM,kBAAkB,CAAC;AAE1B,sEAAsE;AACtE,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAErD,yEAAyE;AACzE,MAAM,cAAc,GAAG,2BAA2B,CAAC;AACnD,MAAM,UAAU,GAAG;;;UAGT,cAAc;UACd,cAAc;CACvB,CAAC;AAEF,gEAAgE;AAChE,MAAM,kBAAkB,GAAG;;;;CAI1B,CAAC;AAEF,2DAA2D;AAC3D,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAKjC;;;;;GAKG;AACH,MAAM,aAAa,GAAyD;IAC3E,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC;IAC5B,EAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,EAAC;IAC/C,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC;IAC3B,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;IAC7B,EAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;IACrD,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;IACxC,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;IACtC,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;IACxC,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;IACxC,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC;IAClC,EAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC;IACvC,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC;IACrC,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAC;IACpC,EAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAC;IAC5D,EAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAC;IACtD,EAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/music.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Cli } from 'incur';
|
|
2
2
|
/**
|
|
3
|
-
* Registers the `music` command group (`music from-patterns`
|
|
3
|
+
* Registers the `music` command group (`music from-patterns`, `music
|
|
4
|
+
* from-score`) on the root CLI.
|
|
4
5
|
*
|
|
5
6
|
* `music` is a shrinko-FREE and PICO-8-FREE command group: it assembles a
|
|
6
7
|
* structural pattern list into `__music__` and merges it through the cart model
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"music.d.ts","sourceRoot":"","sources":["../../src/commands/music.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"music.d.ts","sourceRoot":"","sources":["../../src/commands/music.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;AA0gB7B;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAEhD"}
|