@kongyo2/kongyoroid 1.0.0 → 2.0.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/README.md +233 -0
- package/dist/cache.d.ts +32 -7
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +138 -9
- package/dist/cache.js.map +1 -1
- package/dist/cli/flags.d.ts +270 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +240 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/help.d.ts +11 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +336 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli.js +598 -232
- package/dist/cli.js.map +1 -1
- package/dist/errors.d.ts +43 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +56 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +59 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -14
- package/dist/index.js.map +1 -1
- package/dist/io.d.ts +11 -0
- package/dist/io.d.ts.map +1 -1
- package/dist/io.js +149 -5
- package/dist/io.js.map +1 -1
- package/dist/kongyoroid.d.ts +237 -10
- package/dist/kongyoroid.d.ts.map +1 -1
- package/dist/kongyoroid.js +777 -86
- package/dist/kongyoroid.js.map +1 -1
- package/dist/limits.d.ts +5 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +6 -1
- package/dist/limits.js.map +1 -1
- package/dist/request.d.ts +1 -0
- package/dist/request.d.ts.map +1 -1
- package/dist/request.js +102 -15
- package/dist/request.js.map +1 -1
- package/dist/schema.d.ts +3 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +271 -68
- package/dist/schema.js.map +1 -1
- package/dist/song/mml.d.ts +15 -0
- package/dist/song/mml.d.ts.map +1 -0
- package/dist/song/mml.js +184 -0
- package/dist/song/mml.js.map +1 -0
- package/dist/song/pitch.d.ts.map +1 -0
- package/dist/{pitch.js → song/pitch.js} +1 -1
- package/dist/song/pitch.js.map +1 -0
- package/dist/song/score.d.ts +92 -0
- package/dist/song/score.d.ts.map +1 -0
- package/dist/song/score.js +454 -0
- package/dist/song/score.js.map +1 -0
- package/dist/synth/acoustics.d.ts +27 -0
- package/dist/synth/acoustics.d.ts.map +1 -0
- package/dist/synth/acoustics.js +608 -0
- package/dist/synth/acoustics.js.map +1 -0
- package/dist/synth/analysis.d.ts +22 -0
- package/dist/synth/analysis.d.ts.map +1 -0
- package/dist/synth/analysis.js +170 -0
- package/dist/synth/analysis.js.map +1 -0
- package/dist/synth/engine.d.ts +115 -0
- package/dist/synth/engine.d.ts.map +1 -0
- package/dist/synth/engine.js +223 -0
- package/dist/synth/engine.js.map +1 -0
- package/dist/synth/filters.d.ts +60 -0
- package/dist/synth/filters.d.ts.map +1 -0
- package/dist/synth/filters.js +166 -0
- package/dist/synth/filters.js.map +1 -0
- package/dist/synth/glottal.d.ts +20 -0
- package/dist/synth/glottal.d.ts.map +1 -0
- package/dist/synth/glottal.js +76 -0
- package/dist/synth/glottal.js.map +1 -0
- package/dist/synth/phonemes.d.ts +42 -0
- package/dist/synth/phonemes.d.ts.map +1 -0
- package/dist/synth/phonemes.js +311 -0
- package/dist/synth/phonemes.js.map +1 -0
- package/dist/synth/plan.d.ts +127 -0
- package/dist/synth/plan.d.ts.map +1 -0
- package/dist/synth/plan.js +81 -0
- package/dist/synth/plan.js.map +1 -0
- package/dist/synth/prosody.d.ts +30 -0
- package/dist/synth/prosody.d.ts.map +1 -0
- package/dist/synth/prosody.js +46 -0
- package/dist/synth/prosody.js.map +1 -0
- package/dist/synth/random.d.ts +15 -0
- package/dist/synth/random.d.ts.map +1 -0
- package/dist/synth/random.js +59 -0
- package/dist/synth/random.js.map +1 -0
- package/dist/synth/renderer.d.ts +77 -0
- package/dist/synth/renderer.d.ts.map +1 -0
- package/dist/synth/renderer.js +343 -0
- package/dist/synth/renderer.js.map +1 -0
- package/dist/synth/song.d.ts +30 -0
- package/dist/synth/song.d.ts.map +1 -0
- package/dist/synth/song.js +453 -0
- package/dist/synth/song.js.map +1 -0
- package/dist/synth/speech.d.ts +49 -0
- package/dist/synth/speech.d.ts.map +1 -0
- package/dist/synth/speech.js +354 -0
- package/dist/synth/speech.js.map +1 -0
- package/dist/synth/stream.d.ts +26 -0
- package/dist/synth/stream.d.ts.map +1 -0
- package/dist/synth/stream.js +67 -0
- package/dist/synth/stream.js.map +1 -0
- package/dist/synth/textstream.d.ts +35 -0
- package/dist/synth/textstream.d.ts.map +1 -0
- package/dist/synth/textstream.js +127 -0
- package/dist/synth/textstream.js.map +1 -0
- package/dist/synth/voice.d.ts +64 -0
- package/dist/synth/voice.d.ts.map +1 -0
- package/dist/synth/voice.js +208 -0
- package/dist/synth/voice.js.map +1 -0
- package/dist/text/dictionary.d.ts +50 -0
- package/dist/text/dictionary.d.ts.map +1 -0
- package/dist/text/dictionary.js +0 -0
- package/dist/text/dictionary.js.map +1 -0
- package/dist/text/frontend.d.ts +34 -0
- package/dist/text/frontend.d.ts.map +1 -0
- package/dist/text/frontend.js +550 -0
- package/dist/text/frontend.js.map +1 -0
- package/dist/text/lexicon.d.ts +10 -0
- package/dist/text/lexicon.d.ts.map +1 -0
- package/dist/text/lexicon.js +763 -0
- package/dist/text/lexicon.js.map +1 -0
- package/dist/{mora.d.ts → text/mora.d.ts} +15 -3
- package/dist/text/mora.d.ts.map +1 -0
- package/dist/{mora.js → text/mora.js} +87 -9
- package/dist/text/mora.js.map +1 -0
- package/dist/text/normalize.d.ts +34 -0
- package/dist/text/normalize.d.ts.map +1 -0
- package/dist/text/normalize.js +496 -0
- package/dist/text/normalize.js.map +1 -0
- package/dist/text/notation.d.ts +32 -0
- package/dist/text/notation.d.ts.map +1 -0
- package/dist/text/notation.js +182 -0
- package/dist/text/notation.js.map +1 -0
- package/dist/text/reading.d.ts +52 -0
- package/dist/text/reading.d.ts.map +1 -0
- package/dist/text/reading.js +32 -0
- package/dist/text/reading.js.map +1 -0
- package/dist/text/sentences.d.ts +10 -0
- package/dist/text/sentences.d.ts.map +1 -0
- package/dist/text/sentences.js +84 -0
- package/dist/text/sentences.js.map +1 -0
- package/dist/{text.d.ts → text/split.d.ts} +2 -2
- package/dist/text/split.d.ts.map +1 -0
- package/dist/{text.js → text/split.js} +2 -2
- package/dist/text/split.js.map +1 -0
- package/dist/types.d.ts +58 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +4 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +5 -1
- package/dist/version.js.map +1 -1
- package/dist/voicevox/client.d.ts +1 -1
- package/dist/voicevox/client.d.ts.map +1 -1
- package/dist/voicevox/dictionary.js +1 -1
- package/dist/voicevox/dictionary.js.map +1 -1
- package/dist/voicevox/song.js +1 -1
- package/dist/voicevox/song.js.map +1 -1
- package/dist/voicevox/speech.d.ts +1 -0
- package/dist/voicevox/speech.d.ts.map +1 -1
- package/dist/voicevox/speech.js +8 -2
- package/dist/voicevox/speech.js.map +1 -1
- package/docs/cli.md +251 -0
- package/examples/batch.jsonl +4 -3
- package/examples/builtin/dictionary.json +7 -0
- package/examples/builtin/song-compact.json +13 -0
- package/examples/builtin/song-mml.json +9 -0
- package/examples/builtin/song-notes.json +25 -0
- package/examples/builtin/speech-dictionary.json +9 -0
- package/examples/builtin/speech-kana.json +7 -0
- package/examples/builtin/speech.json +7 -0
- package/package.json +11 -3
- package/dist/formant.d.ts +0 -34
- package/dist/formant.d.ts.map +0 -1
- package/dist/formant.js +0 -622
- package/dist/formant.js.map +0 -1
- package/dist/mora.d.ts.map +0 -1
- package/dist/mora.js.map +0 -1
- package/dist/notation.d.ts +0 -15
- package/dist/notation.d.ts.map +0 -1
- package/dist/notation.js +0 -114
- package/dist/notation.js.map +0 -1
- package/dist/pitch.d.ts.map +0 -1
- package/dist/pitch.js.map +0 -1
- package/dist/score.d.ts +0 -37
- package/dist/score.d.ts.map +0 -1
- package/dist/score.js +0 -166
- package/dist/score.js.map +0 -1
- package/dist/text.d.ts.map +0 -1
- package/dist/text.js.map +0 -1
- package/examples/song-notes.json +0 -24
- /package/dist/{pitch.d.ts → song/pitch.d.ts} +0 -0
- /package/examples/{song.json → voicevox/song.json} +0 -0
- /package/examples/{speech-kana.json → voicevox/speech-kana.json} +0 -0
- /package/examples/{speech.json → voicevox/speech.json} +0 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { invalid } from "../errors.js";
|
|
2
|
+
import { devoicedVowelOf, isLongVowelMark, isUnvoicedVowel, lookupMora, toKatakana } from "./mora.js";
|
|
3
|
+
const ACCENT = "'";
|
|
4
|
+
const UNVOICE = "_";
|
|
5
|
+
export const LONG_VOWEL = "ー";
|
|
6
|
+
const PHRASE = "/";
|
|
7
|
+
const PAUSE = "、";
|
|
8
|
+
const SENTENCE = "。";
|
|
9
|
+
const QUESTION = "?";
|
|
10
|
+
const EXCLAMATION = "!";
|
|
11
|
+
const BOUNDARY_CHARS = new Map([
|
|
12
|
+
[PHRASE, "phrase"],
|
|
13
|
+
[PAUSE, "pause"],
|
|
14
|
+
[SENTENCE, "sentence"],
|
|
15
|
+
[QUESTION, "question"],
|
|
16
|
+
[EXCLAMATION, "exclamation"],
|
|
17
|
+
]);
|
|
18
|
+
const BOUNDARY_TEXT = {
|
|
19
|
+
phrase: PHRASE,
|
|
20
|
+
pause: PAUSE,
|
|
21
|
+
sentence: SENTENCE,
|
|
22
|
+
question: QUESTION,
|
|
23
|
+
exclamation: EXCLAMATION,
|
|
24
|
+
paragraph: SENTENCE,
|
|
25
|
+
end: "",
|
|
26
|
+
};
|
|
27
|
+
export function boundaryIsSentenceEnd(boundary) {
|
|
28
|
+
return boundary === "sentence" || boundary === "question" || boundary === "exclamation" || boundary === "paragraph";
|
|
29
|
+
}
|
|
30
|
+
function unvoice(vowel, path, text) {
|
|
31
|
+
const devoiced = devoicedVowelOf(vowel);
|
|
32
|
+
if (devoiced === undefined)
|
|
33
|
+
return invalid(path, `Only vowels can be devoiced with "_": ${text}.`);
|
|
34
|
+
return devoiced;
|
|
35
|
+
}
|
|
36
|
+
export function parsePhraseBody(phrase, path) {
|
|
37
|
+
const chars = Array.from(phrase);
|
|
38
|
+
const moras = [];
|
|
39
|
+
let accent;
|
|
40
|
+
let index = 0;
|
|
41
|
+
while (index < chars.length) {
|
|
42
|
+
const char = chars[index] ?? "";
|
|
43
|
+
if (char === ACCENT) {
|
|
44
|
+
if (moras.length === 0)
|
|
45
|
+
invalid(path, `An accent mark cannot start a phrase: ${phrase}.`);
|
|
46
|
+
if (accent !== undefined)
|
|
47
|
+
invalid(path, `A phrase can carry only one accent mark: ${phrase}.`);
|
|
48
|
+
accent = moras.length;
|
|
49
|
+
index += 1;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (isLongVowelMark(char)) {
|
|
53
|
+
const previous = moras.at(-1);
|
|
54
|
+
if (previous === undefined || previous.vowel === "cl" || previous.vowel === "pau") {
|
|
55
|
+
invalid(path, `A long-vowel mark must follow a voiced mora: ${phrase}.`);
|
|
56
|
+
}
|
|
57
|
+
moras.push({ text: LONG_VOWEL, consonant: null, vowel: previous.vowel });
|
|
58
|
+
index += 1;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const devoiced = char === UNVOICE;
|
|
62
|
+
const start = devoiced ? index + 1 : index;
|
|
63
|
+
const head = chars[start];
|
|
64
|
+
const pair = head === undefined ? "" : head + (chars[start + 1] ?? "");
|
|
65
|
+
const twoChar = chars.length > start + 1 && chars[start + 1] !== ACCENT ? lookupMora(pair) : undefined;
|
|
66
|
+
const match = twoChar ?? (head === undefined ? undefined : lookupMora(head));
|
|
67
|
+
const text = twoChar === undefined ? (head ?? "") : pair;
|
|
68
|
+
if (match === undefined || head === undefined) {
|
|
69
|
+
invalid(path, `Unrecognized reading ${JSON.stringify(chars.slice(index, index + 2).join(""))} in phrase ${JSON.stringify(phrase)}.`, "Write readings in kana; separate accent phrases with / and mark the accent nucleus with '.");
|
|
70
|
+
}
|
|
71
|
+
moras.push({
|
|
72
|
+
text,
|
|
73
|
+
consonant: match.consonant,
|
|
74
|
+
vowel: devoiced ? unvoice(match.vowel, path, text) : match.vowel,
|
|
75
|
+
});
|
|
76
|
+
index = start + Array.from(text).length;
|
|
77
|
+
}
|
|
78
|
+
return { moras, accent: accent ?? 0, explicitAccent: accent !== undefined };
|
|
79
|
+
}
|
|
80
|
+
export function parseKanaNotation(text, path = "$.kana", options = {}) {
|
|
81
|
+
const normalized = toKatakana(text)
|
|
82
|
+
.replaceAll("?", QUESTION)
|
|
83
|
+
.replaceAll("!", EXCLAMATION)
|
|
84
|
+
.replaceAll(",", PAUSE)
|
|
85
|
+
.replaceAll(".", SENTENCE)
|
|
86
|
+
.replaceAll(".", SENTENCE)
|
|
87
|
+
.replaceAll("‐", "-")
|
|
88
|
+
.replaceAll(/\s+/gu, "");
|
|
89
|
+
if (normalized.length === 0)
|
|
90
|
+
invalid(path, "Kana notation must not be empty.");
|
|
91
|
+
const phrases = [];
|
|
92
|
+
const chars = Array.from(normalized);
|
|
93
|
+
let start = 0;
|
|
94
|
+
let index = 0;
|
|
95
|
+
while (index <= chars.length) {
|
|
96
|
+
const char = chars[index];
|
|
97
|
+
const boundary = char === undefined ? "end" : BOUNDARY_CHARS.get(char);
|
|
98
|
+
if (boundary === undefined) {
|
|
99
|
+
index += 1;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const phrasePath = `${path}[${phrases.length}]`;
|
|
103
|
+
const raw = chars.slice(start, index).join("");
|
|
104
|
+
if (raw.length === 0) {
|
|
105
|
+
if (boundary === "end")
|
|
106
|
+
break;
|
|
107
|
+
const last = phrases.at(-1);
|
|
108
|
+
if (last === undefined)
|
|
109
|
+
invalid(phrasePath, `Accent phrase ${phrases.length + 1} is empty.`);
|
|
110
|
+
if (last.boundary === "end" || last.boundary === "phrase") {
|
|
111
|
+
invalid(phrasePath, `Accent phrase ${phrases.length + 1} is empty.`);
|
|
112
|
+
}
|
|
113
|
+
const merged = strongerBoundary(last.boundary, boundary);
|
|
114
|
+
phrases[phrases.length - 1] = {
|
|
115
|
+
...last,
|
|
116
|
+
boundary: merged,
|
|
117
|
+
pause: merged !== "phrase",
|
|
118
|
+
interrogative: last.interrogative || boundary === "question",
|
|
119
|
+
exclamatory: last.exclamatory || boundary === "exclamation",
|
|
120
|
+
};
|
|
121
|
+
start = index + 1;
|
|
122
|
+
index += 1;
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const parsed = parsePhraseBody(raw, phrasePath);
|
|
126
|
+
if (options.requireAccent === true && !parsed.explicitAccent) {
|
|
127
|
+
invalid(phrasePath, `Every accent phrase needs exactly one accent mark: ${raw}.`, "Example: コンニチワ' or ズ'ンダモン.");
|
|
128
|
+
}
|
|
129
|
+
if (parsed.moras.length === 0)
|
|
130
|
+
invalid(phrasePath, `Accent phrase ${phrases.length + 1} is empty.`);
|
|
131
|
+
phrases.push({
|
|
132
|
+
moras: parsed.moras,
|
|
133
|
+
accent: parsed.accent,
|
|
134
|
+
boundary,
|
|
135
|
+
pause: boundary !== "phrase" && boundary !== "end",
|
|
136
|
+
interrogative: boundary === "question",
|
|
137
|
+
exclamatory: boundary === "exclamation",
|
|
138
|
+
});
|
|
139
|
+
start = index + 1;
|
|
140
|
+
index += 1;
|
|
141
|
+
}
|
|
142
|
+
if (phrases.length === 0)
|
|
143
|
+
invalid(path, "Kana notation contains no readable moras.");
|
|
144
|
+
return phrases;
|
|
145
|
+
}
|
|
146
|
+
const BOUNDARY_STRENGTH = {
|
|
147
|
+
phrase: 0,
|
|
148
|
+
end: 1,
|
|
149
|
+
pause: 2,
|
|
150
|
+
sentence: 3,
|
|
151
|
+
exclamation: 4,
|
|
152
|
+
question: 5,
|
|
153
|
+
paragraph: 6,
|
|
154
|
+
};
|
|
155
|
+
export function strongerBoundary(a, b) {
|
|
156
|
+
return BOUNDARY_STRENGTH[a] >= BOUNDARY_STRENGTH[b] ? a : b;
|
|
157
|
+
}
|
|
158
|
+
export function formatPhraseBody(moras, accent) {
|
|
159
|
+
let text = "";
|
|
160
|
+
for (const [moraIndex, mora] of moras.entries()) {
|
|
161
|
+
if (isUnvoicedVowel(mora.vowel) && mora.text !== LONG_VOWEL)
|
|
162
|
+
text += UNVOICE;
|
|
163
|
+
text += mora.text;
|
|
164
|
+
if (moraIndex + 1 === accent)
|
|
165
|
+
text += ACCENT;
|
|
166
|
+
}
|
|
167
|
+
return text;
|
|
168
|
+
}
|
|
169
|
+
export function formatKanaNotation(phrases) {
|
|
170
|
+
let text = "";
|
|
171
|
+
for (const [index, phrase] of phrases.entries()) {
|
|
172
|
+
text += formatPhraseBody(phrase.moras, phrase.accent);
|
|
173
|
+
const last = index === phrases.length - 1;
|
|
174
|
+
const boundary = last && phrase.boundary === "phrase" ? "end" : phrase.boundary;
|
|
175
|
+
text += BOUNDARY_TEXT[boundary];
|
|
176
|
+
}
|
|
177
|
+
return text;
|
|
178
|
+
}
|
|
179
|
+
export function phraseText(phrase) {
|
|
180
|
+
return phrase.moras.map((mora) => mora.text).join("");
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=notation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notation.js","sourceRoot":"","sources":["../../src/text/notation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Diagnostic, SourceSpan } from "../errors.ts";
|
|
2
|
+
import type { Consonant, UnvoicedVowel, Vowel } from "./mora.ts";
|
|
3
|
+
import type { AccentPhrase, BoundaryKind } from "./notation.ts";
|
|
4
|
+
export type AccentSource = "user" | "dictionary" | "lexicon" | "frontend" | "rule";
|
|
5
|
+
export type FrontendKind = "notation" | "kana" | "jpreprocess" | "heuristic";
|
|
6
|
+
export interface ReadingMora {
|
|
7
|
+
readonly text: string;
|
|
8
|
+
readonly consonant: Consonant | null;
|
|
9
|
+
readonly vowel: Vowel | UnvoicedVowel;
|
|
10
|
+
}
|
|
11
|
+
export interface ReadingPhrase {
|
|
12
|
+
readonly moras: readonly ReadingMora[];
|
|
13
|
+
readonly accent: number;
|
|
14
|
+
readonly boundary: BoundaryKind;
|
|
15
|
+
readonly interrogative: boolean;
|
|
16
|
+
readonly exclamatory: boolean;
|
|
17
|
+
readonly accentSource: AccentSource;
|
|
18
|
+
readonly sentence: number;
|
|
19
|
+
}
|
|
20
|
+
export interface SentenceReading {
|
|
21
|
+
readonly text: string;
|
|
22
|
+
readonly normalized: string;
|
|
23
|
+
readonly kana: string;
|
|
24
|
+
readonly sourceSpan: SourceSpan;
|
|
25
|
+
readonly phraseStart: number;
|
|
26
|
+
readonly phraseEnd: number;
|
|
27
|
+
readonly paragraphEnd: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface ReadingPlan {
|
|
30
|
+
readonly text: string;
|
|
31
|
+
readonly kana: string;
|
|
32
|
+
readonly frontend: FrontendKind;
|
|
33
|
+
readonly phrases: readonly ReadingPhrase[];
|
|
34
|
+
readonly sentences: readonly SentenceReading[];
|
|
35
|
+
readonly warnings: readonly Diagnostic[];
|
|
36
|
+
readonly moraCount: number;
|
|
37
|
+
readonly dictionaryHits: readonly DictionaryHit[];
|
|
38
|
+
}
|
|
39
|
+
export interface DictionaryHit {
|
|
40
|
+
readonly surface: string;
|
|
41
|
+
readonly reading: string;
|
|
42
|
+
readonly accent: number | null;
|
|
43
|
+
readonly entryId: string | undefined;
|
|
44
|
+
readonly source: "dictionary" | "lexicon";
|
|
45
|
+
readonly sourceSpan: SourceSpan;
|
|
46
|
+
readonly applied: boolean;
|
|
47
|
+
}
|
|
48
|
+
export declare function toAccentPhrase(phrase: ReadingPhrase): AccentPhrase;
|
|
49
|
+
export declare function readingPhrasesFromNotation(phrases: readonly AccentPhrase[], accentSource: AccentSource, sentence: number): ReadingPhrase[];
|
|
50
|
+
export declare function readingKana(phrases: readonly ReadingPhrase[]): string;
|
|
51
|
+
export declare function countReadingMoras(phrases: readonly ReadingPhrase[]): number;
|
|
52
|
+
//# sourceMappingURL=reading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../../src/text/reading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGhE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AACnF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC;AAE7E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CASlE;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAUjB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAErE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAI3E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { formatKanaNotation } from "./notation.js";
|
|
2
|
+
export function toAccentPhrase(phrase) {
|
|
3
|
+
return {
|
|
4
|
+
moras: phrase.moras,
|
|
5
|
+
accent: phrase.accent,
|
|
6
|
+
boundary: phrase.boundary,
|
|
7
|
+
pause: phrase.boundary !== "phrase" && phrase.boundary !== "end",
|
|
8
|
+
interrogative: phrase.interrogative,
|
|
9
|
+
exclamatory: phrase.exclamatory,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function readingPhrasesFromNotation(phrases, accentSource, sentence) {
|
|
13
|
+
return phrases.map((phrase) => ({
|
|
14
|
+
moras: phrase.moras,
|
|
15
|
+
accent: phrase.accent,
|
|
16
|
+
boundary: phrase.boundary,
|
|
17
|
+
interrogative: phrase.interrogative,
|
|
18
|
+
exclamatory: phrase.exclamatory,
|
|
19
|
+
accentSource,
|
|
20
|
+
sentence,
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
export function readingKana(phrases) {
|
|
24
|
+
return formatKanaNotation(phrases.map(toAccentPhrase));
|
|
25
|
+
}
|
|
26
|
+
export function countReadingMoras(phrases) {
|
|
27
|
+
let count = 0;
|
|
28
|
+
for (const phrase of phrases)
|
|
29
|
+
count += phrase.moras.length;
|
|
30
|
+
return count;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=reading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reading.js","sourceRoot":"","sources":["../../src/text/reading.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAoDnD,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK;QAChE,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAgC,EAChC,YAA0B,EAC1B,QAAgB;IAEhB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY;QACZ,QAAQ;KACT,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAiC;IAC3D,OAAO,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SourceSpan } from "../errors.ts";
|
|
2
|
+
export type SentenceTerminal = "。" | "!" | "?" | "";
|
|
3
|
+
export interface SentencePiece {
|
|
4
|
+
readonly text: string;
|
|
5
|
+
readonly sourceSpan: SourceSpan;
|
|
6
|
+
readonly terminal: SentenceTerminal;
|
|
7
|
+
readonly paragraphEnd: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function splitSentences(text: string): readonly SentencePiece[];
|
|
10
|
+
//# sourceMappingURL=sentences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentences.d.ts","sourceRoot":"","sources":["../../src/text/sentences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAyBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAyDrE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const HARD_TERMINALS = new Set(["。", "!", "?", "!", "?", "."]);
|
|
2
|
+
function isDigit(char) {
|
|
3
|
+
return char !== undefined && /^[0-90-9]$/u.test(char);
|
|
4
|
+
}
|
|
5
|
+
function isAsciiWord(char) {
|
|
6
|
+
return char !== undefined && /^[A-Za-z0-9]$/u.test(char);
|
|
7
|
+
}
|
|
8
|
+
function terminalOf(char) {
|
|
9
|
+
switch (char) {
|
|
10
|
+
case "!":
|
|
11
|
+
case "!":
|
|
12
|
+
return "!";
|
|
13
|
+
case "?":
|
|
14
|
+
case "?":
|
|
15
|
+
return "?";
|
|
16
|
+
default:
|
|
17
|
+
return "。";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function splitSentences(text) {
|
|
21
|
+
const chars = Array.from(text);
|
|
22
|
+
const pieces = [];
|
|
23
|
+
let start = 0;
|
|
24
|
+
let index = 0;
|
|
25
|
+
const flush = (end, terminal, next, paragraphEnd) => {
|
|
26
|
+
const body = chars.slice(start, end).join("");
|
|
27
|
+
if (body.trim().length > 0) {
|
|
28
|
+
pieces.push({ text: body, sourceSpan: { start, end, unit: "unicode-code-point" }, terminal, paragraphEnd });
|
|
29
|
+
}
|
|
30
|
+
else if (paragraphEnd && pieces.length > 0) {
|
|
31
|
+
const last = pieces[pieces.length - 1];
|
|
32
|
+
if (last !== undefined)
|
|
33
|
+
pieces[pieces.length - 1] = { ...last, paragraphEnd: true };
|
|
34
|
+
}
|
|
35
|
+
start = next;
|
|
36
|
+
};
|
|
37
|
+
while (index < chars.length) {
|
|
38
|
+
const char = chars[index] ?? "";
|
|
39
|
+
if (char === "\n") {
|
|
40
|
+
let run = index;
|
|
41
|
+
while (chars[run] === "\n" || chars[run] === "\r" || chars[run] === " " || chars[run] === "\t")
|
|
42
|
+
run += 1;
|
|
43
|
+
const newlines = chars.slice(index, run).filter((c) => c === "\n").length;
|
|
44
|
+
flush(index, "", run, newlines >= 2);
|
|
45
|
+
index = run;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (char === ".") {
|
|
49
|
+
const previous = chars[index - 1];
|
|
50
|
+
const next = chars[index + 1];
|
|
51
|
+
const decimal = isDigit(previous) && isDigit(next);
|
|
52
|
+
const dotted = isAsciiWord(previous) && isAsciiWord(next);
|
|
53
|
+
if (decimal || dotted) {
|
|
54
|
+
index += 1;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
let run = index + 1;
|
|
58
|
+
while (run < chars.length && HARD_TERMINALS.has(chars[run] ?? ""))
|
|
59
|
+
run += 1;
|
|
60
|
+
flush(run, "。", run, false);
|
|
61
|
+
index = run;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (HARD_TERMINALS.has(char)) {
|
|
65
|
+
let run = index + 1;
|
|
66
|
+
let terminal = terminalOf(char);
|
|
67
|
+
while (run < chars.length && HARD_TERMINALS.has(chars[run] ?? "")) {
|
|
68
|
+
const extra = terminalOf(chars[run] ?? "");
|
|
69
|
+
if (extra === "?")
|
|
70
|
+
terminal = "?";
|
|
71
|
+
else if (extra === "!" && terminal !== "?")
|
|
72
|
+
terminal = "!";
|
|
73
|
+
run += 1;
|
|
74
|
+
}
|
|
75
|
+
flush(run, terminal, run, false);
|
|
76
|
+
index = run;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
index += 1;
|
|
80
|
+
}
|
|
81
|
+
flush(chars.length, "", chars.length, false);
|
|
82
|
+
return pieces;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=sentences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/text/sentences.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { SplitMode } from "
|
|
1
|
+
import type { SplitMode } from "../types.ts";
|
|
2
2
|
export declare function splitText(text: string, mode: SplitMode, maxChars?: number): readonly string[];
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=split.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/text/split.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiC7C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,GAAE,MAA0B,GAAG,SAAS,MAAM,EAAE,CAgBhH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LIMITS } from "
|
|
1
|
+
import { LIMITS } from "../limits.js";
|
|
2
2
|
const SENTENCE_END = /(?<=[。!?!?])/u;
|
|
3
3
|
const CLAUSE_END = /(?<=[、,])/u;
|
|
4
4
|
function hardSplit(text, max) {
|
|
@@ -51,4 +51,4 @@ export function splitText(text, mode, maxChars = LIMITS.chunkChars) {
|
|
|
51
51
|
}
|
|
52
52
|
return chunks.length === 0 ? [text] : chunks;
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=
|
|
54
|
+
//# sourceMappingURL=split.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split.js","sourceRoot":"","sources":["../../src/text/split.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Diagnostic } from "./errors.ts";
|
|
2
|
+
import type { MmlScore, Note, NoteInput, ScoreText } from "./song/score.ts";
|
|
3
|
+
import type { DictionaryEntryInput } from "./text/dictionary.ts";
|
|
2
4
|
export type EngineId = "voicevox" | "formant";
|
|
3
5
|
export type EngineSelector = EngineId | "auto";
|
|
4
6
|
export type SplitMode = "sentence" | "paragraph" | "none";
|
|
@@ -7,13 +9,19 @@ export type StyleType = "talk" | "singing_teacher" | "frame_decode" | "sing" | "
|
|
|
7
9
|
export interface SpeechRequest {
|
|
8
10
|
readonly kind: "speech";
|
|
9
11
|
readonly engine?: EngineSelector;
|
|
12
|
+
readonly voice?: string;
|
|
10
13
|
readonly text: string;
|
|
11
14
|
readonly kana?: string;
|
|
15
|
+
readonly dictionary?: readonly DictionaryEntryInput[];
|
|
16
|
+
readonly strictReading?: boolean;
|
|
12
17
|
readonly speaker?: StyleRef;
|
|
13
18
|
readonly speed?: number;
|
|
14
19
|
readonly pitch?: number;
|
|
20
|
+
readonly pitchSemitones?: number;
|
|
15
21
|
readonly intonation?: number;
|
|
16
22
|
readonly volume?: number;
|
|
23
|
+
readonly gainDb?: number;
|
|
24
|
+
readonly breathiness?: number;
|
|
17
25
|
readonly prePause?: number;
|
|
18
26
|
readonly postPause?: number;
|
|
19
27
|
readonly pauseLength?: number;
|
|
@@ -23,17 +31,31 @@ export interface SpeechRequest {
|
|
|
23
31
|
readonly sampleRate?: number;
|
|
24
32
|
readonly seed?: number;
|
|
25
33
|
}
|
|
34
|
+
export interface SongVibratoRequest {
|
|
35
|
+
readonly depthCents?: number;
|
|
36
|
+
readonly rateHz?: number;
|
|
37
|
+
readonly delayMs?: number;
|
|
38
|
+
readonly fadeMs?: number;
|
|
39
|
+
}
|
|
26
40
|
export interface SongRequest {
|
|
27
41
|
readonly kind: "song";
|
|
28
42
|
readonly engine?: EngineSelector;
|
|
29
|
-
readonly
|
|
43
|
+
readonly voice?: string;
|
|
44
|
+
readonly notes: readonly NoteInput[] | ScoreText | MmlScore;
|
|
30
45
|
readonly tempo?: number;
|
|
31
46
|
readonly singer?: StyleRef;
|
|
32
47
|
readonly teacher?: StyleRef;
|
|
33
48
|
readonly transpose?: number;
|
|
34
49
|
readonly volume?: number;
|
|
50
|
+
readonly gainDb?: number;
|
|
51
|
+
readonly breathiness?: number;
|
|
35
52
|
readonly vibratoDepth?: number;
|
|
36
53
|
readonly vibratoRate?: number;
|
|
54
|
+
readonly vibrato?: SongVibratoRequest;
|
|
55
|
+
readonly portamentoMs?: number;
|
|
56
|
+
readonly scoopCents?: number;
|
|
57
|
+
readonly scoopMs?: number;
|
|
58
|
+
readonly consonantCompression?: boolean;
|
|
37
59
|
readonly leadIn?: number;
|
|
38
60
|
readonly leadOut?: number;
|
|
39
61
|
readonly sampleRate?: number;
|
|
@@ -43,13 +65,18 @@ export type RenderRequest = SpeechRequest | SongRequest;
|
|
|
43
65
|
export interface ResolvedSpeech {
|
|
44
66
|
readonly kind: "speech";
|
|
45
67
|
readonly engine: EngineSelector;
|
|
68
|
+
readonly voice: string;
|
|
46
69
|
readonly text: string;
|
|
47
70
|
readonly kana: string | undefined;
|
|
71
|
+
readonly dictionary: readonly DictionaryEntryInput[];
|
|
72
|
+
readonly strictReading: boolean;
|
|
48
73
|
readonly speaker: StyleRef | undefined;
|
|
49
74
|
readonly speed: number;
|
|
50
|
-
readonly pitch: number;
|
|
75
|
+
readonly pitch: number | undefined;
|
|
76
|
+
readonly pitchSemitones: number;
|
|
51
77
|
readonly intonation: number;
|
|
52
78
|
readonly volume: number;
|
|
79
|
+
readonly breathiness: number;
|
|
53
80
|
readonly prePause: number;
|
|
54
81
|
readonly postPause: number;
|
|
55
82
|
readonly pauseLength: number | undefined;
|
|
@@ -62,18 +89,27 @@ export interface ResolvedSpeech {
|
|
|
62
89
|
export interface ResolvedSong {
|
|
63
90
|
readonly kind: "song";
|
|
64
91
|
readonly engine: EngineSelector;
|
|
92
|
+
readonly voice: string;
|
|
65
93
|
readonly notes: readonly Note[];
|
|
66
94
|
readonly tempo: number;
|
|
67
95
|
readonly singer: StyleRef | undefined;
|
|
68
96
|
readonly teacher: StyleRef | undefined;
|
|
69
97
|
readonly transpose: number;
|
|
70
98
|
readonly volume: number;
|
|
99
|
+
readonly breathiness: number;
|
|
71
100
|
readonly vibratoDepth: number | undefined;
|
|
72
101
|
readonly vibratoRate: number;
|
|
102
|
+
readonly vibratoDelayMs: number;
|
|
103
|
+
readonly vibratoFadeMs: number;
|
|
104
|
+
readonly portamentoMs: number | undefined;
|
|
105
|
+
readonly scoopCents: number;
|
|
106
|
+
readonly scoopMs: number;
|
|
107
|
+
readonly consonantCompression: boolean;
|
|
73
108
|
readonly leadIn: number;
|
|
74
109
|
readonly leadOut: number;
|
|
75
110
|
readonly sampleRate: number | undefined;
|
|
76
111
|
readonly seed: number;
|
|
112
|
+
readonly form: "list" | "compact" | "mml";
|
|
77
113
|
}
|
|
78
114
|
export type ResolvedRequest = ResolvedSpeech | ResolvedSong;
|
|
79
115
|
export interface VoiceStyle {
|
|
@@ -103,17 +139,36 @@ export interface RenderStyles {
|
|
|
103
139
|
readonly singer?: StyleSelection;
|
|
104
140
|
readonly teacher?: StyleSelection;
|
|
105
141
|
}
|
|
142
|
+
export interface RenderTimings {
|
|
143
|
+
readonly readMs: number;
|
|
144
|
+
readonly planMs: number;
|
|
145
|
+
readonly renderMs: number;
|
|
146
|
+
readonly encodeMs: number;
|
|
147
|
+
readonly totalMs: number;
|
|
148
|
+
}
|
|
106
149
|
export interface RenderResult {
|
|
107
150
|
readonly audio: Uint8Array;
|
|
108
151
|
readonly info: AudioInfo;
|
|
109
152
|
readonly engine: EngineId;
|
|
110
153
|
readonly kind: "speech" | "song";
|
|
154
|
+
readonly voice: string | undefined;
|
|
111
155
|
readonly styles: RenderStyles;
|
|
112
156
|
readonly kana: string | undefined;
|
|
113
157
|
readonly chunks: number;
|
|
114
158
|
readonly cached: boolean;
|
|
115
159
|
readonly sha256: string;
|
|
160
|
+
readonly requestHash: string;
|
|
116
161
|
readonly elapsedMs: number;
|
|
162
|
+
readonly timings: RenderTimings;
|
|
163
|
+
readonly warnings: readonly Diagnostic[];
|
|
164
|
+
readonly adjustments: readonly {
|
|
165
|
+
readonly code: string;
|
|
166
|
+
readonly message: string;
|
|
167
|
+
}[];
|
|
168
|
+
readonly peak: number | undefined;
|
|
169
|
+
readonly rms: number | undefined;
|
|
170
|
+
readonly limitedSamples: number | undefined;
|
|
171
|
+
readonly engineVersion: string;
|
|
117
172
|
}
|
|
118
173
|
export interface OperationOptions {
|
|
119
174
|
readonly signal?: AbortSignal;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAC9C,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,iBAAiB,GAAG,cAAc,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAEhG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACrD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;CAC3C;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export declare const VERSION: string;
|
|
2
2
|
export declare const PACKAGE_NAME: string;
|
|
3
|
+
export declare const ENGINE_VERSION: string;
|
|
4
|
+
export declare const PLAN_VERSION: number;
|
|
5
|
+
export declare const SCHEMA_VERSION: number;
|
|
6
|
+
export declare const FRONTEND_VERSION: string;
|
|
3
7
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAE,MAAgB,CAAC;AACvC,eAAO,MAAM,YAAY,EAAE,MAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAE,MAAgB,CAAC;AACvC,eAAO,MAAM,YAAY,EAAE,MAA8B,CAAC;AAC1D,eAAO,MAAM,cAAc,EAAE,MAAwB,CAAC;AACtD,eAAO,MAAM,YAAY,EAAE,MAAU,CAAC;AACtC,eAAO,MAAM,cAAc,EAAE,MAAU,CAAC;AACxC,eAAO,MAAM,gBAAgB,EAAE,MAA2D,CAAC"}
|
package/dist/version.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
export const VERSION = "
|
|
1
|
+
export const VERSION = "2.0.0";
|
|
2
2
|
export const PACKAGE_NAME = "@kongyo2/kongyoroid";
|
|
3
|
+
export const ENGINE_VERSION = "formant-2.0.0";
|
|
4
|
+
export const PLAN_VERSION = 2;
|
|
5
|
+
export const SCHEMA_VERSION = 2;
|
|
6
|
+
export const FRONTEND_VERSION = "jpreprocess-naist-jdic/kanji2koe-openjtalk-0.1.0";
|
|
3
7
|
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAW,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAW,qBAAqB,CAAC;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAW,eAAe,CAAC;AACtD,MAAM,CAAC,MAAM,YAAY,GAAW,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAW,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAW,kDAAkD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EngineScore } from "../score.ts";
|
|
1
|
+
import type { EngineScore } from "../song/score.ts";
|
|
2
2
|
import type { OperationOptions, VoiceStyle } from "../types.ts";
|
|
3
3
|
import type { AudioQuery, DictionaryWord, EngineAccentPhrase, EngineManifest, FrameAudioQuery, SupportedDevices, WordType } from "./api.ts";
|
|
4
4
|
export declare const DEFAULT_ENDPOINT: string;
|