@yomiscript/kokoro 0.1.0 → 0.1.2
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/README.md +4 -1
- package/dist/engine.d.ts +3 -1
- package/dist/engine.js +10 -2
- package/dist/engine.js.map +1 -1
- package/dist/plan.d.ts +8 -2
- package/dist/plan.js +29 -9
- package/dist/plan.js.map +1 -1
- package/dist/render.js +121 -111
- package/dist/render_ja.d.ts +3 -0
- package/dist/render_ja.js +84 -0
- package/dist/render_ja.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,7 +4,10 @@ The Kokoro-82M Katarite: YomiScript -> Kokoro's phoneme string and ids -> ONNX (
|
|
|
4
4
|
Given a YomiScript written by the original Kokoro front end, it hands Kokoro exactly what the original pipeline does
|
|
5
5
|
(D21, D22; `eval/kokoro_parity`).
|
|
6
6
|
|
|
7
|
-
- `plan(ys)`: what Kokoro is given, per language section (no ONNX).
|
|
7
|
+
- `plan(ys)`: what Kokoro is given, per language section (no ONNX). Japanese ` ‖ ` and an inner `↘` become `,` and `.`
|
|
8
|
+
as in English, so Kokoro pauses there (D26); `plan(ys, { original: true })` drops them as the original does. A
|
|
9
|
+
moraic `ɴ` before a mora without an onset (千円あれば) is spoken 1.5 times and that vowel 1.25 times as long as
|
|
10
|
+
Kokoro predicts, which otherwise runs them together (`lengthen`, D30; none with `original`).
|
|
8
11
|
- `Engine(ort, loadBytes)`: the ONNX engine, for onnxruntime-web (browser; `W16`, fp16 weights) or onnxruntime-node
|
|
9
12
|
(`FP32`, identical to the original). `nodeEngine({ dir, model, download })` from `@yomiscript/kokoro/node`; with `download: KOKORO_MODELS_URL`, missing
|
|
10
13
|
files are downloaded into `dir` once.
|
package/dist/engine.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InferenceSession, Tensor } from "onnxruntime-common";
|
|
2
2
|
import { type Plan, type PlannedSection } from "./plan.ts";
|
|
3
|
-
import type
|
|
3
|
+
import { type LoadBytes } from "@yomiscript/core";
|
|
4
4
|
export type { LoadBytes };
|
|
5
5
|
/** the parts of onnxruntime this engine uses (onnxruntime-web and onnxruntime-node both have them) */
|
|
6
6
|
export interface Ort {
|
|
@@ -49,5 +49,7 @@ export declare class Engine {
|
|
|
49
49
|
f0new: Float32Array;
|
|
50
50
|
dur: number[];
|
|
51
51
|
}>;
|
|
52
|
+
/** the F0 the decoder gets: the YomiScript's values put into the engine's own (Japanese: render_ja.ts, D28) */
|
|
53
|
+
private pitch;
|
|
52
54
|
synth(ys: string, pitch?: PitchMode): Promise<Synthesis>;
|
|
53
55
|
}
|
package/dist/engine.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { plan } from "./plan.js";
|
|
2
2
|
import { f0Override, join } from "./render.js";
|
|
3
|
+
import { f0Japanese } from "./render_ja.js";
|
|
4
|
+
import { isJa } from "@yomiscript/core";
|
|
3
5
|
export const FP32 = {}, W16 = { enc: "_w16", f0n: "_w16", dec: "_w16" };
|
|
4
6
|
export class Engine {
|
|
5
7
|
V = {};
|
|
@@ -45,7 +47,7 @@ export class Engine {
|
|
|
45
47
|
const k = (sec.ps ?? "x".repeat(L - 1)).length - 1; // voice-pack entry as in KPipeline: pack[len(ps)-1]
|
|
46
48
|
const ref = new T("float32", V.slice(k * 256, (k + 1) * 256), [1, 256]);
|
|
47
49
|
const r1 = await this.enc.run({ ids: new T("int64", BigInt64Array.from(sec.ids.map(BigInt)), [1, L]), ref });
|
|
48
|
-
const dur = Array.from(r1.dur.data, Number);
|
|
50
|
+
const dur = Array.from(r1.dur.data, Number).map((d, i) => Math.round(d * (sec.lengthen[sec.uid[i]] ?? 1)));
|
|
49
51
|
const Tn = dur.reduce((a, b) => a + b, 0);
|
|
50
52
|
const expand = (t) => {
|
|
51
53
|
const C = t.dims[1], src = t.data, out = new Float32Array(C * Tn);
|
|
@@ -65,10 +67,16 @@ export class Engine {
|
|
|
65
67
|
async synthSection(sec, pitch = "values") {
|
|
66
68
|
const T = this.ort.Tensor;
|
|
67
69
|
const { ref, dur, t_en, f0, N } = await this.predict(sec);
|
|
68
|
-
const F = pitch === "engine" ? Float32Array.from(f0) :
|
|
70
|
+
const F = pitch === "engine" ? Float32Array.from(f0) : this.pitch(sec, f0, dur);
|
|
69
71
|
const r3 = await this.dec.run({ asr: t_en, F0: new T("float32", F, [1, F.length]), N, ref });
|
|
70
72
|
return { audio: Float32Array.from(r3.audio.data), f0: Float32Array.from(f0), f0new: F, dur };
|
|
71
73
|
}
|
|
74
|
+
/** the F0 the decoder gets: the YomiScript's values put into the engine's own (Japanese: render_ja.ts, D28) */
|
|
75
|
+
pitch(sec, f0, dur) {
|
|
76
|
+
if (!isJa(sec.lang))
|
|
77
|
+
return f0Override(f0, sec.uid, dur, sec.U);
|
|
78
|
+
return f0Japanese(f0, sec.uid, dur, sec.U, sec.toks.map((t) => t.kind === "unit"));
|
|
79
|
+
}
|
|
72
80
|
async synth(ys, pitch = "values") {
|
|
73
81
|
const P = plan(ys);
|
|
74
82
|
const outs = [];
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAkC,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/plan.d.ts
CHANGED
|
@@ -8,15 +8,21 @@ export interface PlannedSection {
|
|
|
8
8
|
lang: string;
|
|
9
9
|
text: string;
|
|
10
10
|
voice: string;
|
|
11
|
-
/** the phoneme string
|
|
11
|
+
/** the phoneme string Kokoro is given */
|
|
12
12
|
ps: string;
|
|
13
13
|
ids: number[];
|
|
14
14
|
/** the unit index of each id (-1 for BOS / EOS) */
|
|
15
15
|
uid: number[];
|
|
16
16
|
U: PlanUnit[];
|
|
17
17
|
toks: Token[];
|
|
18
|
+
/** how much longer each unit is spoken than Kokoro predicts (1: as predicted; D30) */
|
|
19
|
+
lengthen: number[];
|
|
18
20
|
}
|
|
19
21
|
export type Plan = PlannedSection[] & {
|
|
20
22
|
src: string;
|
|
21
23
|
};
|
|
22
|
-
export
|
|
24
|
+
export interface PlanOptions {
|
|
25
|
+
/** Japanese punctuation as the original Kokoro gets it (D22), for the parity checks */
|
|
26
|
+
original?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function plan(ys: string, opts?: PlanOptions): Plan;
|
package/dist/plan.js
CHANGED
|
@@ -163,12 +163,15 @@ function enSyl(x, gb) {
|
|
|
163
163
|
}
|
|
164
164
|
return x;
|
|
165
165
|
}
|
|
166
|
-
function jaPhonemes(t, foreign) {
|
|
167
|
-
// as Kokoro's Japanese front end (misaki Cutlet)
|
|
168
|
-
|
|
166
|
+
function jaPhonemes(t, foreign, original) {
|
|
167
|
+
// ‖ and an inner ↘ as in English (', ' and '.', D26); original: as Kokoro's Japanese front end (misaki Cutlet)
|
|
168
|
+
// writes them, 。 and 、 leave only the word space (D22)
|
|
169
|
+
if (t.kind === "space")
|
|
169
170
|
return " ";
|
|
171
|
+
if (t.kind === "pause")
|
|
172
|
+
return original ? " " : ", ";
|
|
170
173
|
if (t.kind === "end" || t.kind === "punct")
|
|
171
|
-
return t.sym === "." && (t.kind === "end" || t.sent) ? "" : (t.sym ?? "");
|
|
174
|
+
return t.sym === "." && (t.kind === "end" || (original && t.sent)) ? "" : (t.sym ?? "");
|
|
172
175
|
let p = t.ipa ?? "";
|
|
173
176
|
if (t.mk === "mora")
|
|
174
177
|
p = jaKokoro(t.on ?? "", t.v ?? "");
|
|
@@ -176,9 +179,9 @@ function jaPhonemes(t, foreign) {
|
|
|
176
179
|
p = "ʔ";
|
|
177
180
|
return foreign ? [...p].map((c) => FOREIGN_JA[c] ?? c).join("") : p;
|
|
178
181
|
}
|
|
179
|
-
function kokoroPhonemes(lang, t, foreign) {
|
|
182
|
+
function kokoroPhonemes(lang, t, foreign, original) {
|
|
180
183
|
if (isJa(lang))
|
|
181
|
-
return jaPhonemes(t, foreign);
|
|
184
|
+
return jaPhonemes(t, foreign, original);
|
|
182
185
|
if (t.kind === "space")
|
|
183
186
|
return " ";
|
|
184
187
|
if (t.kind === "pause")
|
|
@@ -199,8 +202,24 @@ export function voiceFor(top, l, x) {
|
|
|
199
202
|
return voiceOf(l);
|
|
200
203
|
return `${voiceOf(top)}+${voiceOf(l)}@${BLEND}`;
|
|
201
204
|
}
|
|
205
|
+
/** a moraic ɴ before a mora without an onset (千円あれば, 原因, 恋愛), and that vowel: Kokoro runs them together */
|
|
206
|
+
const N_BEFORE_VOWEL = 1.5, VOWEL_AFTER_N = 1.25;
|
|
207
|
+
function lengthening(toks, ja) {
|
|
208
|
+
// per unit (D30); none outside Japanese or for the original
|
|
209
|
+
const out = toks.map(() => 1);
|
|
210
|
+
if (!ja)
|
|
211
|
+
return out;
|
|
212
|
+
toks.forEach((t, k) => {
|
|
213
|
+
const n = toks[k + 1];
|
|
214
|
+
if (t.kind !== "unit" || t.mk !== "N" || n?.kind !== "unit" || n.mk !== "mora" || n.on)
|
|
215
|
+
return;
|
|
216
|
+
out[k] = N_BEFORE_VOWEL;
|
|
217
|
+
out[k + 1] = VOWEL_AFTER_N;
|
|
218
|
+
});
|
|
219
|
+
return out;
|
|
220
|
+
}
|
|
202
221
|
// plan: sections with Kokoro ids + units (no ONNX); used for parity tests and synthesis
|
|
203
|
-
export function plan(ys) {
|
|
222
|
+
export function plan(ys, opts = {}) {
|
|
204
223
|
const Y = parse(ys);
|
|
205
224
|
const P = Y.sections.map((sec) => {
|
|
206
225
|
const foreign = isJa(sec.lang) && !isJa(Y.top);
|
|
@@ -208,7 +227,7 @@ export function plan(ys) {
|
|
|
208
227
|
for (const t of sec.toks) {
|
|
209
228
|
if (t.kind === "bound")
|
|
210
229
|
continue;
|
|
211
|
-
U.push([kokoroPhonemes(sec.lang, t, foreign), t.kind === "unit" && t.f0 ? [...t.f0] : null, t.ph]);
|
|
230
|
+
U.push([kokoroPhonemes(sec.lang, t, foreign, opts.original ?? false), t.kind === "unit" && t.f0 ? [...t.f0] : null, t.ph]);
|
|
212
231
|
toks.push(t);
|
|
213
232
|
}
|
|
214
233
|
const ids = [0], uid = [-1];
|
|
@@ -222,7 +241,8 @@ export function plan(ys) {
|
|
|
222
241
|
ids.push(0);
|
|
223
242
|
uid.push(-1);
|
|
224
243
|
const ps = U.map((u) => u[0]).join("");
|
|
225
|
-
|
|
244
|
+
const lengthen = lengthening(toks, isJa(sec.lang) && !opts.original);
|
|
245
|
+
return { lang: sec.lang, text: sec.text, voice: voiceFor(Y.top, sec.lang, sec.text), ps, ids, uid, U, toks, lengthen };
|
|
226
246
|
});
|
|
227
247
|
return Object.assign(P, { src: Y.ys });
|
|
228
248
|
}
|
package/dist/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
package/dist/render.js
CHANGED
|
@@ -3,138 +3,148 @@
|
|
|
3
3
|
import { SR } from "./plan.js";
|
|
4
4
|
const mean = (a) => a.reduce((s, v) => s + v, 0) / a.length;
|
|
5
5
|
function unitFrames(uid, dur, n) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
// the unit index of each F0 frame (2 frames per duration step), -1 for BOS / EOS
|
|
7
|
+
const fu = [];
|
|
8
|
+
dur.forEach((d, l) => {
|
|
9
|
+
for (let r = 0; r < d * 2; r++)
|
|
10
|
+
fu.push(uid[l]);
|
|
11
|
+
});
|
|
12
|
+
fu.length = Math.min(fu.length, n);
|
|
13
|
+
return fu;
|
|
13
14
|
}
|
|
14
15
|
function valueAt(c, x) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
a = Math.min(Math.floor(pos), c.length - 2);
|
|
19
|
-
|
|
16
|
+
// a unit's contour c (points spread evenly) at position x in [0, 1]
|
|
17
|
+
if (c.length === 1)
|
|
18
|
+
return c[0];
|
|
19
|
+
const pos = x * (c.length - 1), a = Math.min(Math.floor(pos), c.length - 2);
|
|
20
|
+
return c[a] + (c[a + 1] - c[a]) * (pos - a);
|
|
20
21
|
}
|
|
21
22
|
function frameTargets(fu, U, n, dstep) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
// semitone target per frame from the units' values, lowered by dstep per phrase (declination)
|
|
24
|
+
const st = new Float64Array(n).fill(NaN);
|
|
25
|
+
U.forEach(([, c, ph], k) => {
|
|
26
|
+
if (c === null)
|
|
27
|
+
return;
|
|
28
|
+
const fr = [];
|
|
29
|
+
for (let i = 0; i < fu.length; i++)
|
|
30
|
+
if (fu[i] === k)
|
|
31
|
+
fr.push(i);
|
|
32
|
+
fr.forEach((i, j) => (st[i] = valueAt(c, fr.length > 1 ? j / (fr.length - 1) : 0) - dstep * ph));
|
|
33
|
+
});
|
|
34
|
+
return st;
|
|
31
35
|
}
|
|
32
36
|
function anchorPhrases(st, f0, fu, U) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
// values are relative: each phrase keeps its shape and takes the mean level of the engine's own F0 there
|
|
38
|
+
const n = f0.length, lo = Array.from(f0, (v) => Math.log2(Math.max(v, 1)) * 12);
|
|
39
|
+
const phr = Array.from({ length: n }, (_, i) => (i < fu.length && fu[i] >= 0 ? U[fu[i]][2] : -1));
|
|
40
|
+
const ok = Array.from({ length: n }, (_, i) => !isNaN(st[i]) && f0[i] > 60);
|
|
41
|
+
const tgt = new Float64Array(n).fill(NaN);
|
|
42
|
+
for (const ph of new Set(phr.filter((_, i) => ok[i]))) {
|
|
43
|
+
const sel = [];
|
|
44
|
+
for (let i = 0; i < n; i++)
|
|
45
|
+
if (ok[i] && phr[i] === ph)
|
|
46
|
+
sel.push(i);
|
|
47
|
+
const ms = mean(sel.map((i) => st[i])), ml = mean(sel.map((i) => lo[i]));
|
|
48
|
+
for (const i of sel)
|
|
49
|
+
tgt[i] = st[i] - ms + ml;
|
|
50
|
+
}
|
|
51
|
+
return tgt;
|
|
47
52
|
}
|
|
48
53
|
function interpolate(tgt, xs) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
54
|
+
// fill the frames between targets linearly, and hold the first / last target outside them
|
|
55
|
+
const n = tgt.length, full = new Float64Array(n);
|
|
56
|
+
let q = 0;
|
|
57
|
+
for (let i = 0; i < n; i++) {
|
|
58
|
+
if (i <= xs[0])
|
|
59
|
+
full[i] = tgt[xs[0]];
|
|
60
|
+
else if (i >= xs[xs.length - 1])
|
|
61
|
+
full[i] = tgt[xs[xs.length - 1]];
|
|
62
|
+
else {
|
|
63
|
+
while (xs[q + 1] < i)
|
|
64
|
+
q++;
|
|
65
|
+
const a = xs[q], b = xs[q + 1];
|
|
66
|
+
full[i] = tgt[a] + ((tgt[b] - tgt[a]) * (i - a)) / (b - a);
|
|
67
|
+
}
|
|
61
68
|
}
|
|
62
|
-
|
|
63
|
-
return full;
|
|
69
|
+
return full;
|
|
64
70
|
}
|
|
65
71
|
function movingAverage(full, smooth) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return sm;
|
|
72
|
+
const n = full.length, h = smooth >> 1, sm = new Float64Array(n);
|
|
73
|
+
for (let i = 0; i < n; i++) {
|
|
74
|
+
let s = 0;
|
|
75
|
+
for (let j = -h; j <= h; j++)
|
|
76
|
+
s += full[Math.min(n - 1, Math.max(0, i + j))];
|
|
77
|
+
sm[i] = s / smooth;
|
|
78
|
+
}
|
|
79
|
+
return sm;
|
|
75
80
|
}
|
|
76
81
|
// the engine's F0 with the YomiScript's pitch values put in (frames without a value keep the engine's F0)
|
|
77
82
|
export function f0Override(f0, uid, dur, U, smooth = 5, dstep = 0.6) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
const fu = unitFrames(uid, dur, f0.length);
|
|
84
|
+
const tgt = anchorPhrases(frameTargets(fu, U, f0.length, dstep), f0, fu, U);
|
|
85
|
+
const xs = [];
|
|
86
|
+
for (let i = 0; i < f0.length; i++)
|
|
87
|
+
if (!isNaN(tgt[i]))
|
|
88
|
+
xs.push(i);
|
|
89
|
+
if (!xs.length)
|
|
90
|
+
return Float32Array.from(f0);
|
|
91
|
+
const sm = movingAverage(interpolate(tgt, xs), smooth);
|
|
92
|
+
return Float32Array.from(f0, (v, i) => (isNaN(tgt[i]) ? v : 2 ** (sm[i] / 12)));
|
|
85
93
|
}
|
|
86
94
|
const rms = (a) => Math.sqrt(a.reduce((s, v) => s + v * v, 0) / a.length);
|
|
87
95
|
function trim(a, lead = true, th = 0.01) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
let i0 = -1, i1 = -1;
|
|
97
|
+
for (let i = 0; i < a.length; i++)
|
|
98
|
+
if (Math.abs(a[i]) > th) {
|
|
99
|
+
if (i0 < 0)
|
|
100
|
+
i0 = i;
|
|
101
|
+
i1 = i;
|
|
102
|
+
}
|
|
103
|
+
if (i0 < 0)
|
|
104
|
+
return a;
|
|
105
|
+
return a.slice(lead ? Math.max(i0 - 240, 0) : 0, Math.min(a.length, i1 + 480));
|
|
97
106
|
}
|
|
98
107
|
// the audio of several sections as one: trimmed, level-matched, crossfaded, with a short gap
|
|
99
108
|
export function join(P) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
const tgt = rms(P[0]);
|
|
110
|
+
let out = Float32Array.from(trim(P[0], false));
|
|
111
|
+
const n = Math.round(0.015 * SR), gap = Math.round(0.06 * SR);
|
|
112
|
+
for (const p0 of P.slice(1)) {
|
|
113
|
+
const g = tgt / Math.max(rms(p0), 1e-6);
|
|
114
|
+
const p = Float32Array.from(trim(p0), (v) => v * g);
|
|
115
|
+
for (let i = 0; i < n && i < out.length; i++)
|
|
116
|
+
out[out.length - n + i] *= 1 - i / (n - 1);
|
|
117
|
+
for (let i = 0; i < n && i < p.length; i++)
|
|
118
|
+
p[i] *= i / (n - 1);
|
|
119
|
+
const o = new Float32Array(out.length + gap + p.length);
|
|
120
|
+
o.set(out);
|
|
121
|
+
o.set(p, out.length + gap);
|
|
122
|
+
out = o;
|
|
123
|
+
}
|
|
124
|
+
let mx = 0;
|
|
125
|
+
for (const v of out)
|
|
126
|
+
mx = Math.max(mx, Math.abs(v));
|
|
127
|
+
const k = Math.max(1, mx / 0.95);
|
|
128
|
+
return out.map((v) => v / k);
|
|
118
129
|
}
|
|
119
130
|
// 16-bit mono WAV
|
|
120
131
|
export function wav(a, sr = SR) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return b;
|
|
132
|
+
const b = new ArrayBuffer(44 + a.length * 2), d = new DataView(b);
|
|
133
|
+
const w = (o, s) => [...s].forEach((c, i) => d.setUint8(o + i, c.charCodeAt(0)));
|
|
134
|
+
w(0, "RIFF");
|
|
135
|
+
d.setUint32(4, 36 + a.length * 2, true);
|
|
136
|
+
w(8, "WAVE");
|
|
137
|
+
w(12, "fmt ");
|
|
138
|
+
d.setUint32(16, 16, true);
|
|
139
|
+
d.setUint16(20, 1, true);
|
|
140
|
+
d.setUint16(22, 1, true);
|
|
141
|
+
d.setUint32(24, sr, true);
|
|
142
|
+
d.setUint32(28, sr * 2, true);
|
|
143
|
+
d.setUint16(32, 2, true);
|
|
144
|
+
d.setUint16(34, 16, true);
|
|
145
|
+
w(36, "data");
|
|
146
|
+
d.setUint32(40, a.length * 2, true);
|
|
147
|
+
a.forEach((v, i) => d.setInt16(44 + i * 2, Math.max(-1, Math.min(1, v)) * 32767, true));
|
|
148
|
+
return b;
|
|
139
149
|
}
|
|
140
|
-
//# sourceMappingURL=render.js.map
|
|
150
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { PlanUnit } from "./plan.ts";
|
|
2
|
+
/** the engine's F0 with the Japanese section's values put in (isMora: which units are morae) */
|
|
3
|
+
export declare function f0Japanese(f0: ArrayLike<number>, uid: number[], dur: number[], U: PlanUnit[], isMora: boolean[], smooth?: number): Float32Array;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
function charFrames(dur) {
|
|
2
|
+
// the F0 frames of each id (2 frames per duration step)
|
|
3
|
+
const out = [];
|
|
4
|
+
let t = 0;
|
|
5
|
+
for (const d of dur) {
|
|
6
|
+
out.push([t, t + d * 2]);
|
|
7
|
+
t += d * 2;
|
|
8
|
+
}
|
|
9
|
+
return out;
|
|
10
|
+
}
|
|
11
|
+
function voicedSpan(f0, a, b) {
|
|
12
|
+
// the voiced frames of [a, b), or all of it when none is (a final mora's duration also covers the silence after it)
|
|
13
|
+
let va = -1, vb = -1;
|
|
14
|
+
for (let i = a; i < Math.min(b, f0.length); i++)
|
|
15
|
+
if (f0[i] > 60) {
|
|
16
|
+
if (va < 0)
|
|
17
|
+
va = i;
|
|
18
|
+
vb = i + 1;
|
|
19
|
+
}
|
|
20
|
+
return va < 0 ? [a, b] : [va, vb];
|
|
21
|
+
}
|
|
22
|
+
function points(f0, uid, dur, U, isMora) {
|
|
23
|
+
const fr = charFrames(dur), P = [];
|
|
24
|
+
let run = 0;
|
|
25
|
+
U.forEach(([, c], k) => {
|
|
26
|
+
if (!c) {
|
|
27
|
+
if (isMora[k])
|
|
28
|
+
run++;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const idx = uid.flatMap((u, l) => (u === k ? [l] : []));
|
|
32
|
+
if (!idx.length)
|
|
33
|
+
return;
|
|
34
|
+
const [a, b] = voicedSpan(f0, fr[idx[0]][0], fr[idx[idx.length - 1]][1]), vs = c.length === 1 ? [c[0], c[0]] : c;
|
|
35
|
+
vs.forEach((v, j) => P.push({ x: Math.min(f0.length - 1, a + 0.5 + ((b - a - 1) * j) / (vs.length - 1)), v, run }));
|
|
36
|
+
});
|
|
37
|
+
return P;
|
|
38
|
+
}
|
|
39
|
+
function targets(P, n, shift) {
|
|
40
|
+
// straight lines between the points of a run, the first / last value held before / after them; NaN between runs
|
|
41
|
+
const tgt = new Float64Array(n).fill(NaN);
|
|
42
|
+
let q = 0;
|
|
43
|
+
for (let i = 0; i < n; i++) {
|
|
44
|
+
while (q < P.length - 2 && P[q + 1].x < i)
|
|
45
|
+
q++;
|
|
46
|
+
const [p, r] = [P[q], P[q + 1] ?? P[q]];
|
|
47
|
+
if (i <= P[0].x)
|
|
48
|
+
tgt[i] = P[0].v;
|
|
49
|
+
else if (i >= P[P.length - 1].x)
|
|
50
|
+
tgt[i] = P[P.length - 1].v;
|
|
51
|
+
else if (p.run === r.run)
|
|
52
|
+
tgt[i] = p.v + ((r.v - p.v) * (i - p.x)) / Math.max(r.x - p.x, 1e-6);
|
|
53
|
+
tgt[i] += shift;
|
|
54
|
+
}
|
|
55
|
+
return tgt;
|
|
56
|
+
}
|
|
57
|
+
function smoothed(tgt, smooth) {
|
|
58
|
+
// a triangular window of `smooth` frames over the frames that have a target
|
|
59
|
+
const n = tgt.length, h = smooth >> 1, out = new Float64Array(n).fill(NaN);
|
|
60
|
+
for (let i = 0; i < n; i++) {
|
|
61
|
+
if (isNaN(tgt[i]))
|
|
62
|
+
continue;
|
|
63
|
+
let s = 0, w = 0;
|
|
64
|
+
for (let j = -h; j <= h; j++) {
|
|
65
|
+
const v = tgt[Math.min(n - 1, Math.max(0, i + j))];
|
|
66
|
+
if (!isNaN(v))
|
|
67
|
+
[s, w] = [s + (h + 1 - Math.abs(j)) * v, w + h + 1 - Math.abs(j)];
|
|
68
|
+
}
|
|
69
|
+
out[i] = s / w;
|
|
70
|
+
}
|
|
71
|
+
return out;
|
|
72
|
+
}
|
|
73
|
+
/** the engine's F0 with the Japanese section's values put in (isMora: which units are morae) */
|
|
74
|
+
export function f0Japanese(f0, uid, dur, U, isMora, smooth = 7) {
|
|
75
|
+
const P = points(f0, uid, dur, U, isMora);
|
|
76
|
+
if (!P.length)
|
|
77
|
+
return Float32Array.from(f0);
|
|
78
|
+
// the level: the engine's mean at the voiced points against the values' mean
|
|
79
|
+
const at = P.filter((p) => f0[Math.round(p.x)] > 60), st = (v) => Math.log2(Math.max(v, 1)) * 12, mean = (a) => a.reduce((s, v) => s + v, 0) / Math.max(a.length, 1);
|
|
80
|
+
const shift = mean(at.map((p) => st(f0[Math.round(p.x)]))) - mean(P.map((p) => p.v));
|
|
81
|
+
const sm = smoothed(targets(P, f0.length, shift), smooth);
|
|
82
|
+
return Float32Array.from(f0, (v, i) => (v > 60 && !isNaN(sm[i]) ? 2 ** (sm[i] / 12) : v));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=render_ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render_ja.js","sourceRoot":"","sources":["../src/render_ja.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yomiscript/kokoro",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Kokoro-82M Katarite: YomiScript -> Kokoro input -> audio (onnxruntime-web w16 in the browser, onnxruntime-node fp32 in Node)",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"prepack": "yarn --cwd ../.. build && node ../../tools/prepack.mjs"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@yomiscript/core": "^0.1.
|
|
38
|
+
"@yomiscript/core": "^0.1.2",
|
|
39
39
|
"onnxruntime-common": "1.22.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|