@storyteller-platform/align 0.1.16 → 0.1.18

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.
Files changed (61) hide show
  1. package/binding.gyp +26 -0
  2. package/dist/align/align.cjs +6 -7
  3. package/dist/align/align.js +6 -7
  4. package/dist/cli/bin.cjs +1 -1
  5. package/dist/cli/bin.js +2 -2
  6. package/dist/common/ffmpeg.cjs +12 -12
  7. package/dist/common/ffmpeg.js +12 -12
  8. package/dist/errorAlign/backtraceGraph.cjs +5 -8
  9. package/dist/errorAlign/backtraceGraph.js +5 -8
  10. package/dist/errorAlign/beamSearch.cjs +1 -2
  11. package/dist/errorAlign/beamSearch.js +1 -2
  12. package/dist/markup/markup.cjs +3 -4
  13. package/dist/markup/markup.js +3 -4
  14. package/dist/markup/serializeDom.cjs +1 -1
  15. package/dist/markup/serializeDom.js +1 -1
  16. package/dist/process/processAudiobook.cjs +8 -12
  17. package/dist/process/processAudiobook.js +8 -12
  18. package/dist/process/ranges.cjs +3 -3
  19. package/dist/process/ranges.js +3 -3
  20. package/dist/transcribe/transcribe.cjs +9 -14
  21. package/dist/transcribe/transcribe.js +9 -14
  22. package/package.json +3 -1
  23. package/prebuilds/darwin-arm64/@storyteller-platform+align.node +0 -0
  24. package/prebuilds/linux-arm64/@storyteller-platform+align.node +0 -0
  25. package/prebuilds/linux-x64/@storyteller-platform+align.node +0 -0
  26. package/dist/align/__tests__/align.test.cjs +0 -283
  27. package/dist/align/__tests__/align.test.d.cts +0 -2
  28. package/dist/align/__tests__/align.test.d.ts +0 -2
  29. package/dist/align/__tests__/align.test.js +0 -219
  30. package/dist/align/__tests__/slugify.test.cjs +0 -64
  31. package/dist/align/__tests__/slugify.test.d.cts +0 -2
  32. package/dist/align/__tests__/slugify.test.d.ts +0 -2
  33. package/dist/align/__tests__/slugify.test.js +0 -41
  34. package/dist/errorAlign/__tests__/errorAlign.test.cjs +0 -100
  35. package/dist/errorAlign/__tests__/errorAlign.test.d.cts +0 -2
  36. package/dist/errorAlign/__tests__/errorAlign.test.d.ts +0 -2
  37. package/dist/errorAlign/__tests__/errorAlign.test.js +0 -77
  38. package/dist/errorAlign/__tests__/native.test.cjs +0 -118
  39. package/dist/errorAlign/__tests__/native.test.d.cts +0 -2
  40. package/dist/errorAlign/__tests__/native.test.d.ts +0 -2
  41. package/dist/errorAlign/__tests__/native.test.js +0 -107
  42. package/dist/markup/__tests__/markup.test.cjs +0 -491
  43. package/dist/markup/__tests__/markup.test.d.cts +0 -2
  44. package/dist/markup/__tests__/markup.test.d.ts +0 -2
  45. package/dist/markup/__tests__/markup.test.js +0 -468
  46. package/dist/markup/__tests__/parseDom.test.cjs +0 -112
  47. package/dist/markup/__tests__/parseDom.test.d.cts +0 -2
  48. package/dist/markup/__tests__/parseDom.test.d.ts +0 -2
  49. package/dist/markup/__tests__/parseDom.test.js +0 -89
  50. package/dist/markup/__tests__/serializeDom.test.cjs +0 -120
  51. package/dist/markup/__tests__/serializeDom.test.d.cts +0 -2
  52. package/dist/markup/__tests__/serializeDom.test.d.ts +0 -2
  53. package/dist/markup/__tests__/serializeDom.test.js +0 -97
  54. package/dist/markup/__tests__/transform.test.cjs +0 -122
  55. package/dist/markup/__tests__/transform.test.d.cts +0 -2
  56. package/dist/markup/__tests__/transform.test.d.ts +0 -2
  57. package/dist/markup/__tests__/transform.test.js +0 -99
  58. package/dist/process/__tests__/processAudiobook.test.cjs +0 -232
  59. package/dist/process/__tests__/processAudiobook.test.d.cts +0 -2
  60. package/dist/process/__tests__/processAudiobook.test.d.ts +0 -2
  61. package/dist/process/__tests__/processAudiobook.test.js +0 -209
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,209 +0,0 @@
1
- import assert from "node:assert";
2
- import { randomUUID } from "node:crypto";
3
- import { mkdir, readdir } from "node:fs/promises";
4
- import { availableParallelism } from "node:os";
5
- import { join } from "node:path";
6
- import { describe, it } from "node:test";
7
- import { AsyncSemaphore } from "@esfx/async-semaphore";
8
- import { createLogger } from "../../common/logging.js";
9
- import { processFile } from "../processAudiobook.js";
10
- function createTestLogger() {
11
- return createLogger(process.env["CI"] ? "silent" : "info");
12
- }
13
- void describe("processFile", () => {
14
- void it("can process mpeg4 files", async () => {
15
- const input = join(
16
- "src",
17
- "__fixtures__",
18
- "mpeg4",
19
- "MobyDickOrTheWhalePart1_librivox.m4b"
20
- );
21
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
22
- await mkdir(outDir, { recursive: true });
23
- await processFile(input, outDir, "00000-", {
24
- lock: new AsyncSemaphore(availableParallelism() - 1),
25
- logger: createTestLogger()
26
- });
27
- const outFiles = await readdir(outDir);
28
- assert.deepStrictEqual(outFiles, [
29
- "00000-00001.mp4",
30
- "00000-00002.mp4",
31
- "00000-00003.mp4",
32
- "00000-00004.mp4",
33
- "00000-00005.mp4",
34
- "00000-00006.mp4",
35
- "00000-00007.mp4",
36
- "00000-00008.mp4",
37
- "00000-00009.mp4",
38
- "00000-00010.mp4",
39
- "00000-00011.mp4"
40
- ]);
41
- });
42
- void it("can process mp3 files", async () => {
43
- const input = join(
44
- "src",
45
- "__fixtures__",
46
- "mp3",
47
- "MobyDickOrTheWhalePart1_librivox.mp3"
48
- );
49
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
50
- await mkdir(outDir, { recursive: true });
51
- await processFile(input, outDir, "00000-", {
52
- lock: new AsyncSemaphore(availableParallelism() - 1),
53
- logger: createTestLogger()
54
- });
55
- const outFiles = await readdir(outDir);
56
- assert.deepStrictEqual(outFiles, [
57
- "00000-00001.mp3",
58
- "00000-00002.mp3",
59
- "00000-00003.mp3",
60
- "00000-00004.mp3",
61
- "00000-00005.mp3",
62
- "00000-00006.mp3",
63
- "00000-00007.mp3",
64
- "00000-00008.mp3",
65
- "00000-00009.mp3",
66
- "00000-00010.mp3",
67
- "00000-00011.mp3"
68
- ]);
69
- });
70
- void it("can process opus files", async () => {
71
- const input = join(
72
- "src",
73
- "__fixtures__",
74
- "opus",
75
- "MobyDickOrTheWhalePart1_librivox.opus"
76
- );
77
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
78
- await mkdir(outDir, { recursive: true });
79
- await processFile(input, outDir, "00000-", {
80
- lock: new AsyncSemaphore(availableParallelism() - 1),
81
- logger: createTestLogger()
82
- });
83
- const outFiles = await readdir(outDir);
84
- assert.deepStrictEqual(outFiles, [
85
- "00000-00001.mp4",
86
- "00000-00002.mp4",
87
- "00000-00003.mp4",
88
- "00000-00004.mp4",
89
- "00000-00005.mp4",
90
- "00000-00006.mp4",
91
- "00000-00007.mp4",
92
- "00000-00008.mp4",
93
- "00000-00009.mp4",
94
- "00000-00010.mp4",
95
- "00000-00011.mp4"
96
- ]);
97
- });
98
- void it("can handle nonstandard audio file", async () => {
99
- const input = join("src", "__fixtures__", "flac", "mobydick.flac");
100
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
101
- await mkdir(outDir, { recursive: true });
102
- await processFile(input, outDir, "00000-", {
103
- lock: new AsyncSemaphore(availableParallelism() - 1),
104
- logger: createTestLogger()
105
- });
106
- const outFiles = await readdir(outDir);
107
- assert.deepStrictEqual(outFiles, ["00000-00001.flac"]);
108
- });
109
- void it("can transcode nonstandard audio file", async () => {
110
- const input = join("src", "__fixtures__", "flac", "mobydick.flac");
111
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
112
- await mkdir(outDir, { recursive: true });
113
- await processFile(input, outDir, "00000-", {
114
- encoding: { codec: "libopus" },
115
- lock: new AsyncSemaphore(availableParallelism() - 1),
116
- logger: createTestLogger()
117
- });
118
- const outFiles = await readdir(outDir);
119
- assert.deepStrictEqual(outFiles, ["00000-00001.mp4"]);
120
- });
121
- void it("can process zip files", async () => {
122
- const input = join("src", "__fixtures__", "zip", "moby-dick-1-7-audio.zip");
123
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
124
- await mkdir(outDir, { recursive: true });
125
- await processFile(input, outDir, "00000-", {
126
- lock: new AsyncSemaphore(availableParallelism() - 1),
127
- logger: createTestLogger()
128
- });
129
- const outFiles = await readdir(outDir);
130
- assert.deepStrictEqual(outFiles, [
131
- "00000-00001.mp3",
132
- "00000-00002.mp3",
133
- "00000-00003.mp3"
134
- ]);
135
- });
136
- void it("splits files longer than the max length", async () => {
137
- const input = join("src", "__fixtures__", "zip", "moby-dick-1-7-audio.zip");
138
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
139
- await mkdir(outDir, { recursive: true });
140
- await processFile(input, outDir, "00000-", {
141
- maxLength: 0.1,
142
- lock: new AsyncSemaphore(availableParallelism() - 1),
143
- logger: createTestLogger()
144
- });
145
- const outFiles = await readdir(outDir);
146
- assert.deepStrictEqual(outFiles, [
147
- "00000-00001.mp3",
148
- "00000-00002.mp3",
149
- "00000-00003.mp3",
150
- "00000-00004.mp3",
151
- "00000-00005.mp3",
152
- "00000-00006.mp3",
153
- "00000-00007.mp3",
154
- "00000-00008.mp3",
155
- "00000-00009.mp3",
156
- "00000-00010.mp3",
157
- "00000-00011.mp3",
158
- "00000-00012.mp3",
159
- "00000-00013.mp3",
160
- "00000-00014.mp3",
161
- "00000-00015.mp3",
162
- "00000-00016.mp3",
163
- "00000-00017.mp3"
164
- ]);
165
- });
166
- void it("splits files longer than the max length, even if they have chapters", async () => {
167
- const input = join(
168
- "src",
169
- "__fixtures__",
170
- "mpeg4",
171
- "MobyDickOrTheWhalePart1_librivox.m4b"
172
- );
173
- const outDir = join("src", "__fixtures__", "__output__", randomUUID());
174
- await mkdir(outDir, { recursive: true });
175
- await processFile(input, outDir, "00000-", {
176
- maxLength: 0.25,
177
- lock: new AsyncSemaphore(availableParallelism() - 1),
178
- logger: createTestLogger()
179
- });
180
- const outFiles = await readdir(outDir);
181
- assert.deepStrictEqual(outFiles, [
182
- "00000-00001.mp4",
183
- "00000-00002.mp4",
184
- "00000-00003.mp4",
185
- "00000-00004.mp4",
186
- "00000-00005.mp4",
187
- "00000-00006.mp4",
188
- "00000-00007.mp4",
189
- "00000-00008.mp4",
190
- "00000-00009.mp4",
191
- "00000-00010.mp4",
192
- "00000-00011.mp4",
193
- "00000-00012.mp4",
194
- "00000-00013.mp4",
195
- "00000-00014.mp4",
196
- "00000-00015.mp4",
197
- "00000-00016.mp4",
198
- "00000-00017.mp4",
199
- "00000-00018.mp4",
200
- "00000-00019.mp4",
201
- "00000-00020.mp4",
202
- "00000-00021.mp4",
203
- "00000-00022.mp4",
204
- "00000-00023.mp4",
205
- "00000-00024.mp4",
206
- "00000-00025.mp4"
207
- ]);
208
- });
209
- });