@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 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 type { ClientConfig, SpeechClient, AssemblyAIConfig, AzureConfig, CartesiaConfig, DeepgramConfig, ElevenLabsConfig, GoogleConfig, OpenAIConfig, PlayHTConfig, RevAIConfig, SpeechmaticsConfig, 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";
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
@@ -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,3 @@
1
+ import type { RecommendedVoice } from "../../voice-resolver.js";
2
+ export declare const AZURE_RECOMMENDED_VOICES: RecommendedVoice[];
3
+ //# sourceMappingURL=recommended-voices.d.ts.map
@@ -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"}
@@ -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;AAU9C,wBAAsB,UAAU,CAC5B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,UAAU,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA2D3B"}
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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../src/synthesize.ts"],"names":[],"mappings":"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"}
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;
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,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"}
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":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -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,GAC1E,SAAS,CAKX"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"voice-resolver.js","sourceRoot":"","sources":["../src/voice-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pico-brief/speech-services",
3
- "version": "1.0.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",