@pico-brief/speech-services 1.0.0 → 1.0.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 +33 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/azure/recommended-voices.d.ts +3 -0
- package/dist/providers/azure/recommended-voices.d.ts.map +1 -0
- package/dist/providers/azure/recommended-voices.js +22 -0
- package/dist/providers/azure/recommended-voices.js.map +1 -0
- package/dist/synthesize.d.ts.map +1 -1
- package/dist/synthesize.js +8 -4
- package/dist/synthesize.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +16 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +46 -0
- package/dist/utils.js.map +1 -1
- package/dist/voice-resolver.d.ts +7 -1
- package/dist/voice-resolver.d.ts.map +1 -1
- package/dist/voice-resolver.js +51 -3
- package/dist/voice-resolver.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -154,6 +154,39 @@ const languages = await client.detectLocales({
|
|
|
154
154
|
});
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
+
## Transcript Snippets
|
|
158
|
+
|
|
159
|
+
`groupWordsToSnippets` groups word-level timestamps from a transcription result into readable, time-bounded snippets — useful for subtitles, chunked display, or downstream processing.
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
import { groupWordsToSnippets } from "@pico-brief/speech-services";
|
|
163
|
+
|
|
164
|
+
const result = await client.transcribe({
|
|
165
|
+
provider: "openai",
|
|
166
|
+
audio: audioBuffer,
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
const snippets = groupWordsToSnippets(result.words);
|
|
170
|
+
// [
|
|
171
|
+
// { text: "Hello how are you", time: 0.0, duration: 1.2 },
|
|
172
|
+
// { text: "I'm doing well thanks", time: 2.1, duration: 0.9 },
|
|
173
|
+
// ...
|
|
174
|
+
// ]
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
A new snippet boundary is created when:
|
|
178
|
+
- The gap between consecutive words exceeds `gap` seconds (default: **0.4s** — natural pause boundary)
|
|
179
|
+
- The current snippet already spans more than `existingDuration` seconds (default: **10s** — prevents excessively long snippets)
|
|
180
|
+
|
|
181
|
+
Both thresholds are configurable:
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
const snippets = groupWordsToSnippets(result.words, {
|
|
185
|
+
gap: 0.6, // more tolerant of pauses
|
|
186
|
+
existingDuration: 5, // shorter snippets
|
|
187
|
+
});
|
|
188
|
+
```
|
|
189
|
+
|
|
157
190
|
## Error Handling
|
|
158
191
|
|
|
159
192
|
All errors are thrown as `SpeechServiceError` with structured fields:
|
package/dist/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export { fetchVoices } from "./fetch-voices.js";
|
|
|
6
6
|
export { SpeechServiceError } from "./errors.js";
|
|
7
7
|
export { VoiceCache } from "./voice-cache.js";
|
|
8
8
|
export { resolveVoice } from "./voice-resolver.js";
|
|
9
|
-
export
|
|
9
|
+
export { groupWordsToSnippets } from "./utils.js";
|
|
10
|
+
export type { ClientConfig, SpeechClient, AssemblyAIConfig, AzureConfig, CartesiaConfig, DeepgramConfig, ElevenLabsConfig, GoogleConfig, OpenAIConfig, PlayHTConfig, RevAIConfig, SpeechmaticsConfig, TranscriptSnippet, GroupWordsOptions, TranscribeParams, TranscribeResult, TranscribedWord, TranscribeProvider, AssemblyAITranscribeOptions, AzureTranscribeOptions, DeepgramTranscribeOptions, ElevenLabsTranscribeOptions, GoogleTranscribeOptions, OpenAITranscribeOptions, RevAITranscribeOptions, SpeechmaticsTranscribeOptions, SynthesizeParams, SynthesizeResult, SynthesizeProvider, VoiceInfo, AzureSynthesizeOptions, CartesiaSynthesizeOptions, DeepgramSynthesizeOptions, ElevenLabsSynthesizeOptions, GoogleSynthesizeOptions, OpenAISynthesizeOptions, PlayHTSynthesizeOptions, DetectLocalesParams, DetectLocalesProvider, FetchVoicesProvider, } from "./types.js";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,YAAY,EAER,YAAY,EACZ,YAAY,EAEZ,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,kBAAkB,EAElB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAE7B,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAEvB,mBAAmB,EACnB,qBAAqB,EAErB,mBAAmB,GACtB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,YAAY,EAER,YAAY,EACZ,YAAY,EAEZ,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,kBAAkB,EAElB,iBAAiB,EACjB,iBAAiB,EAEjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAE7B,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAEvB,mBAAmB,EACnB,qBAAqB,EAErB,mBAAmB,GACtB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,4 +9,6 @@ export { fetchVoices } from "./fetch-voices.js";
|
|
|
9
9
|
export { SpeechServiceError } from "./errors.js";
|
|
10
10
|
export { VoiceCache } from "./voice-cache.js";
|
|
11
11
|
export { resolveVoice } from "./voice-resolver.js";
|
|
12
|
+
// ─── Utilities ──────────────────────────────────────────────────────────────
|
|
13
|
+
export { groupWordsToSnippets } from "./utils.js";
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,+EAA+E;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,+EAA+E;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,+EAA+E;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recommended-voices.d.ts","sourceRoot":"","sources":["../../../src/providers/azure/recommended-voices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAuBtD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const AZURE_RECOMMENDED_VOICES = [
|
|
2
|
+
{ name: "en-US-AvaMultilingualNeural", gender: "female" },
|
|
3
|
+
{ name: "en-US-EmmaNeural", gender: "female" },
|
|
4
|
+
{ name: "en-US-JennyMultilingualNeural", gender: "female" },
|
|
5
|
+
{ name: "en-US-AmandaMultilingualNeural", gender: "female" },
|
|
6
|
+
{ name: "en-US-NovaTurboMultilingualNeural", gender: "female" },
|
|
7
|
+
{ name: "en-US-AndrewMultilingualNeural", gender: "male" },
|
|
8
|
+
{ name: "en-US-KaiNeural", gender: "male" },
|
|
9
|
+
{ name: "en-US-BrandonMultilingualNeural", gender: "male" },
|
|
10
|
+
{ name: "en-US-ChristopherNeural", gender: "male" },
|
|
11
|
+
{ name: "en-US-AdamMultilingualNeural", gender: "male" },
|
|
12
|
+
{ name: "en-US-DavisMultilingualNeural", gender: "male" },
|
|
13
|
+
{ name: "en-US-LewisMultilingualNeural", gender: "male" },
|
|
14
|
+
{ name: "en-US-SamuelMultilingualNeural", gender: "male" },
|
|
15
|
+
{ name: "zh-CN-XiaoxiaoNeural", gender: "female" },
|
|
16
|
+
{ name: "zh-CN-XiaochenNeural", gender: "female" },
|
|
17
|
+
{ name: "zh-CN-XiaoyanNeural", gender: "female" },
|
|
18
|
+
{ name: "zh-CN-XiaoyuMultilingualNeural", gender: "female" },
|
|
19
|
+
{ name: "zh-CN-YunxiNeural", gender: "male" },
|
|
20
|
+
{ name: "zh-CN-YunyangNeural", gender: "male" },
|
|
21
|
+
];
|
|
22
|
+
//# sourceMappingURL=recommended-voices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recommended-voices.js","sourceRoot":"","sources":["../../../src/providers/azure/recommended-voices.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAuB;IACxD,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,QAAQ,EAAE;IACzD,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC9C,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC3D,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5D,EAAE,IAAI,EAAE,mCAAmC,EAAE,MAAM,EAAE,QAAQ,EAAE;IAE/D,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE;IAC1D,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3C,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3D,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE;IACnD,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAE;IACxD,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE;IACzD,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE;IACzD,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE;IAE1D,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE;IAClD,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE;IAClD,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE;IACjD,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,QAAQ,EAAE;IAE5D,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE;IAC7C,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE;CAClD,CAAC"}
|
package/dist/synthesize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../src/synthesize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAa,MAAM,YAAY,CAAC;AAE9F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../src/synthesize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAa,MAAM,YAAY,CAAC;AAE9F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW9C,wBAAsB,UAAU,CAC5B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,UAAU,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA4D3B"}
|
package/dist/synthesize.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SpeechServiceError } from "./errors.js";
|
|
2
2
|
import { VoiceCache } from "./voice-cache.js";
|
|
3
|
-
import { resolveVoice } from "./voice-resolver.js";
|
|
3
|
+
import { resolveVoice, validateRecommendedVoices } from "./voice-resolver.js";
|
|
4
|
+
import { AZURE_RECOMMENDED_VOICES } from "./providers/azure/recommended-voices.js";
|
|
4
5
|
import * as azure from "./providers/azure/index.js";
|
|
5
6
|
import * as cartesia from "./providers/cartesia/index.js";
|
|
6
7
|
import * as deepgram from "./providers/deepgram/index.js";
|
|
@@ -13,7 +14,7 @@ export async function synthesize(config, params, voiceCache) {
|
|
|
13
14
|
switch (params.provider) {
|
|
14
15
|
case "azure": {
|
|
15
16
|
const cfg = requireConfig(config, "azure", "Azure");
|
|
16
|
-
const resolvedVoice = await resolveVoiceForProvider(cache, () => azure.fetchVoices(cfg), `azure:${cfg.region}`, params);
|
|
17
|
+
const resolvedVoice = await resolveVoiceForProvider(cache, () => azure.fetchVoices(cfg), `azure:${cfg.region}`, params, AZURE_RECOMMENDED_VOICES);
|
|
17
18
|
return azure.synthesize(cfg, params.text, resolvedVoice, params.languages?.[0], params.providerOptions);
|
|
18
19
|
}
|
|
19
20
|
case "cartesia": {
|
|
@@ -57,17 +58,20 @@ function requireConfig(config, provider, displayName) {
|
|
|
57
58
|
}
|
|
58
59
|
return providerConfig;
|
|
59
60
|
}
|
|
60
|
-
async function resolveVoiceForProvider(cache, fetchFn, cacheKey, params) {
|
|
61
|
+
async function resolveVoiceForProvider(cache, fetchFn, cacheKey, params, recommendedVoices) {
|
|
61
62
|
let voices = cache.get(cacheKey);
|
|
62
63
|
if (!voices) {
|
|
63
64
|
voices = await fetchFn();
|
|
64
65
|
cache.set(cacheKey, voices);
|
|
66
|
+
if (recommendedVoices) {
|
|
67
|
+
validateRecommendedVoices(voices, recommendedVoices);
|
|
68
|
+
}
|
|
65
69
|
}
|
|
66
70
|
const resolved = resolveVoice(voices, {
|
|
67
71
|
voice: params.voice,
|
|
68
72
|
language: params.languages?.[0],
|
|
69
73
|
gender: params.gender,
|
|
70
|
-
});
|
|
74
|
+
}, recommendedVoices);
|
|
71
75
|
return resolved.id;
|
|
72
76
|
}
|
|
73
77
|
//# sourceMappingURL=synthesize.js.map
|
package/dist/synthesize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../src/synthesize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../src/synthesize.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -183,6 +183,20 @@ export interface TranscribeResult {
|
|
|
183
183
|
/** Audio duration in seconds */
|
|
184
184
|
duration: number;
|
|
185
185
|
}
|
|
186
|
+
export interface TranscriptSnippet {
|
|
187
|
+
/** Joined text of all words in the snippet */
|
|
188
|
+
text: string;
|
|
189
|
+
/** Start time of the first word in seconds */
|
|
190
|
+
time: number;
|
|
191
|
+
/** Duration from first word start to last word end in seconds */
|
|
192
|
+
duration: number;
|
|
193
|
+
}
|
|
194
|
+
export interface GroupWordsOptions {
|
|
195
|
+
/** Gap threshold in seconds between words to start a new snippet. Default: 0.4 */
|
|
196
|
+
gap?: number;
|
|
197
|
+
/** Max snippet duration in seconds before forcing a new snippet. Default: 10 */
|
|
198
|
+
existingDuration?: number;
|
|
199
|
+
}
|
|
186
200
|
export interface VoiceInfo {
|
|
187
201
|
/** The value to pass to the provider (Azure ShortName, ElevenLabs voice_id, Google name) */
|
|
188
202
|
id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TranscriptSnippet, GroupWordsOptions } from "./types.js";
|
|
1
2
|
export declare function poll<T>(fn: () => Promise<T>, isDone: (result: T) => boolean, interval: number, timeout: number, provider: string): Promise<T>;
|
|
2
3
|
/**
|
|
3
4
|
* Normalizes a language code to BCP-47 format.
|
|
@@ -16,4 +17,19 @@ export declare function getBaseLanguage(code: string): string;
|
|
|
16
17
|
export declare function isUrl(input: string): boolean;
|
|
17
18
|
export declare function downloadAudio(url: string): Promise<Buffer>;
|
|
18
19
|
export declare function detectFormatFromString(format: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Groups a flat list of timed words into transcript snippets for display and chunking.
|
|
22
|
+
* A new snippet is started when either:
|
|
23
|
+
* - There is a gap of more than `gap` seconds between the previous word's end and this word's start
|
|
24
|
+
* (natural pause boundary), or
|
|
25
|
+
* - The current group already spans more than `existingDuration` seconds (prevents excessively long snippets).
|
|
26
|
+
*
|
|
27
|
+
* These thresholds mirror common subtitle segmentation heuristics and keep snippet lengths
|
|
28
|
+
* readable while preserving natural speech boundaries.
|
|
29
|
+
*/
|
|
30
|
+
export declare function groupWordsToSnippets(words: {
|
|
31
|
+
text: string;
|
|
32
|
+
startTime: number;
|
|
33
|
+
endTime: number;
|
|
34
|
+
}[], options?: GroupWordsOptions): TranscriptSnippet[];
|
|
19
35
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIvE,wBAAsB,IAAI,CAAC,CAAC,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAcZ;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6B1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGpD;AAID,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUhE;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS7D;AAID;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAC7D,OAAO,CAAC,EAAE,iBAAiB,GAC5B,iBAAiB,EAAE,CA6BrB"}
|
package/dist/utils.js
CHANGED
|
@@ -98,4 +98,50 @@ export function detectFormatFromString(format) {
|
|
|
98
98
|
return "wav";
|
|
99
99
|
return "mp3";
|
|
100
100
|
}
|
|
101
|
+
// ─── Transcript Snippet Grouping ─────────────────────────────────────────────
|
|
102
|
+
/**
|
|
103
|
+
* Groups a flat list of timed words into transcript snippets for display and chunking.
|
|
104
|
+
* A new snippet is started when either:
|
|
105
|
+
* - There is a gap of more than `gap` seconds between the previous word's end and this word's start
|
|
106
|
+
* (natural pause boundary), or
|
|
107
|
+
* - The current group already spans more than `existingDuration` seconds (prevents excessively long snippets).
|
|
108
|
+
*
|
|
109
|
+
* These thresholds mirror common subtitle segmentation heuristics and keep snippet lengths
|
|
110
|
+
* readable while preserving natural speech boundaries.
|
|
111
|
+
*/
|
|
112
|
+
export function groupWordsToSnippets(words, options) {
|
|
113
|
+
if (words.length === 0)
|
|
114
|
+
return [];
|
|
115
|
+
const gapThreshold = options?.gap ?? 0.4;
|
|
116
|
+
const maxDuration = options?.existingDuration ?? 10;
|
|
117
|
+
const snippets = [];
|
|
118
|
+
let group = [];
|
|
119
|
+
for (const word of words) {
|
|
120
|
+
if (group.length === 0) {
|
|
121
|
+
group.push(word);
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
const prevWord = group[group.length - 1];
|
|
125
|
+
const gap = word.startTime - prevWord.endTime;
|
|
126
|
+
const existingDuration = prevWord.endTime - group[0].startTime;
|
|
127
|
+
if (gap > gapThreshold || existingDuration > maxDuration) {
|
|
128
|
+
snippets.push(wordsToSnippet(group));
|
|
129
|
+
group = [word];
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
group.push(word);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (group.length > 0)
|
|
136
|
+
snippets.push(wordsToSnippet(group));
|
|
137
|
+
return snippets;
|
|
138
|
+
}
|
|
139
|
+
/** Collapses a group of words into a single snippet with joined text and timing from the group edges. */
|
|
140
|
+
function wordsToSnippet(words) {
|
|
141
|
+
return {
|
|
142
|
+
text: words.map(w => w.text).join(" "),
|
|
143
|
+
time: words[0].startTime,
|
|
144
|
+
duration: words[words.length - 1].endTime - words[0].startTime,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
101
147
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/voice-resolver.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { VoiceInfo } from "./types.js";
|
|
2
|
+
export interface RecommendedVoice {
|
|
3
|
+
name: string;
|
|
4
|
+
gender: "male" | "female";
|
|
5
|
+
}
|
|
2
6
|
export declare function resolveVoice(voices: VoiceInfo[], params: {
|
|
3
7
|
voice?: string;
|
|
4
8
|
language?: string;
|
|
5
9
|
gender?: "male" | "female";
|
|
6
|
-
}): VoiceInfo;
|
|
10
|
+
}, recommendedVoices?: RecommendedVoice[]): VoiceInfo;
|
|
11
|
+
/** Validate that all recommended voices exist in the available voice list. Warns for any missing. */
|
|
12
|
+
export declare function validateRecommendedVoices(voices: VoiceInfo[], recommended: RecommendedVoice[]): void;
|
|
7
13
|
//# sourceMappingURL=voice-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-resolver.d.ts","sourceRoot":"","sources":["../src/voice-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAgB,YAAY,CACxB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"voice-resolver.d.ts","sourceRoot":"","sources":["../src/voice-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC7B;AAED,wBAAgB,YAAY,CACxB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,EACzE,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GACvC,SAAS,CAKX;AAED,qGAAqG;AACrG,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,SAAS,EAAE,EACnB,WAAW,EAAE,gBAAgB,EAAE,GAChC,IAAI,CAON"}
|
package/dist/voice-resolver.js
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { SpeechServiceError } from "./errors.js";
|
|
2
|
-
export function resolveVoice(voices, params) {
|
|
2
|
+
export function resolveVoice(voices, params, recommendedVoices) {
|
|
3
3
|
if (params.voice) {
|
|
4
4
|
return resolveByVoice(voices, params.voice, params.gender);
|
|
5
5
|
}
|
|
6
|
-
return resolveByLanguage(voices, params.language, params.gender);
|
|
6
|
+
return resolveByLanguage(voices, params.language, params.gender, recommendedVoices);
|
|
7
|
+
}
|
|
8
|
+
/** Validate that all recommended voices exist in the available voice list. Warns for any missing. */
|
|
9
|
+
export function validateRecommendedVoices(voices, recommended) {
|
|
10
|
+
for (const rec of recommended) {
|
|
11
|
+
const found = voices.some((v) => v.id.toLowerCase() === rec.name.toLowerCase());
|
|
12
|
+
if (!found) {
|
|
13
|
+
console.warn(`Recommended voice "${rec.name}" is not available in the voice list`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
7
16
|
}
|
|
8
17
|
function resolveByVoice(voices, voice, gender) {
|
|
9
18
|
const voiceLower = voice.toLowerCase();
|
|
@@ -31,10 +40,16 @@ function resolveByVoice(voices, voice, gender) {
|
|
|
31
40
|
}
|
|
32
41
|
throw new SpeechServiceError(`Voice "${voice}" not found and no similar voice available`, "VOICE_NOT_FOUND");
|
|
33
42
|
}
|
|
34
|
-
function resolveByLanguage(voices, language, gender) {
|
|
43
|
+
function resolveByLanguage(voices, language, gender, recommendedVoices) {
|
|
35
44
|
if (!language) {
|
|
36
45
|
throw new SpeechServiceError("Either voice or languages must be provided for speech synthesis", "INVALID_INPUT");
|
|
37
46
|
}
|
|
47
|
+
// 0. Try recommended voices first
|
|
48
|
+
if (recommendedVoices?.length) {
|
|
49
|
+
const recommended = pickRecommended(voices, recommendedVoices, language, gender);
|
|
50
|
+
if (recommended)
|
|
51
|
+
return recommended;
|
|
52
|
+
}
|
|
38
53
|
// 1. Exact locale match
|
|
39
54
|
const match = pickByLocale(voices, language, gender);
|
|
40
55
|
if (match)
|
|
@@ -46,6 +61,39 @@ function resolveByLanguage(voices, language, gender) {
|
|
|
46
61
|
return baseMatch;
|
|
47
62
|
throw new SpeechServiceError(`No voice found for language "${language}"`, "VOICE_NOT_FOUND");
|
|
48
63
|
}
|
|
64
|
+
/** Pick the best voice from the recommended list that matches locale/language and gender, and is available. */
|
|
65
|
+
function pickRecommended(voices, recommended, language, gender) {
|
|
66
|
+
const langLower = language.toLowerCase();
|
|
67
|
+
// 1. Filter by exact locale (e.g. "en-US")
|
|
68
|
+
let candidates = recommended.filter((r) => {
|
|
69
|
+
const locale = extractLocale(r.name);
|
|
70
|
+
return locale?.toLowerCase() === langLower;
|
|
71
|
+
});
|
|
72
|
+
// 2. If no locale match, try base language (e.g. "en")
|
|
73
|
+
if (candidates.length === 0) {
|
|
74
|
+
const baseLang = language.split("-")[0].toLowerCase();
|
|
75
|
+
candidates = recommended.filter((r) => {
|
|
76
|
+
const locale = extractLocale(r.name);
|
|
77
|
+
return locale?.split("-")[0].toLowerCase() === baseLang;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (candidates.length === 0)
|
|
81
|
+
return undefined;
|
|
82
|
+
// 3. Filter by gender if specified
|
|
83
|
+
if (gender) {
|
|
84
|
+
const genderFiltered = candidates.filter((r) => r.gender === gender);
|
|
85
|
+
if (genderFiltered.length > 0) {
|
|
86
|
+
candidates = genderFiltered;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// 4. Return the first candidate that exists in the available voices
|
|
90
|
+
for (const candidate of candidates) {
|
|
91
|
+
const voice = voices.find((v) => v.id.toLowerCase() === candidate.name.toLowerCase());
|
|
92
|
+
if (voice)
|
|
93
|
+
return voice;
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
49
97
|
/** Try to extract a BCP-47 locale from a voice name (e.g. "en-US-JennyNeural" → "en-US") */
|
|
50
98
|
function extractLocale(voice) {
|
|
51
99
|
const match = voice.match(/^([a-z]{2,3}-[A-Z]{2})/i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-resolver.js","sourceRoot":"","sources":["../src/voice-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"voice-resolver.js","sourceRoot":"","sources":["../src/voice-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOjD,MAAM,UAAU,YAAY,CACxB,MAAmB,EACnB,MAAyE,EACzE,iBAAsC;IAEtC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxF,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,yBAAyB,CACrC,MAAmB,EACnB,WAA+B;IAE/B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,sCAAsC,CAAC,CAAC;QACvF,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACnB,MAAmB,EACnB,KAAa,EACb,MAAqC;IAErC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,uBAAuB;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;IACnE,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,yBAAyB;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;IACvE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,mFAAmF;IACnF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IAED,yCAAyC;IACzC,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,kBAAkB,CACxB,UAAU,KAAK,4CAA4C,EAC3D,iBAAiB,CACpB,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CACtB,MAAmB,EACnB,QAA4B,EAC5B,MAAqC,EACrC,iBAAsC;IAEtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CACxB,iEAAiE,EACjE,eAAe,CAClB,CAAC;IACN,CAAC;IAED,kCAAkC;IAClC,IAAI,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;IACxC,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,yBAAyB;IACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,IAAI,kBAAkB,CACxB,gCAAgC,QAAQ,GAAG,EAC3C,iBAAiB,CACpB,CAAC;AACN,CAAC;AAED,+GAA+G;AAC/G,SAAS,eAAe,CACpB,MAAmB,EACnB,WAA+B,EAC/B,QAAgB,EAChB,MAAqC;IAErC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEzC,2CAA2C;IAC3C,IAAI,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,MAAM,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE9C,mCAAmC;IACnC,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACrE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,UAAU,GAAG,cAAc,CAAC;QAChC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,4FAA4F;AAC5F,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,kGAAkG;AAClG,SAAS,YAAY,CACjB,MAAmB,EACnB,MAAc,EACd,MAAqC;IAErC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,wFAAwF;AACxF,SAAS,kBAAkB,CACvB,MAAmB,EACnB,QAAgB,EAChB,MAAqC;IAErC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAC3D,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,4GAA4G;AAC5G,SAAS,YAAY,CACjB,MAAmB,EACnB,MAAqC;IAErC,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC5D,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pico-brief/speech-services",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Unified speech-to-text and text-to-speech library wrapping AssemblyAI, Azure, Cartesia, Deepgram, ElevenLabs, Google, OpenAI, PlayHT, Rev.ai, and Speechmatics",
|
|
6
6
|
"main": "dist/index.js",
|