speechflow 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1 -1
  3. package/package.json +2 -2
  4. package/speechflow-cli/dst/speechflow-main-api.d.ts +12 -0
  5. package/speechflow-cli/dst/speechflow-main-api.js +319 -0
  6. package/speechflow-cli/dst/speechflow-main-api.js.map +1 -0
  7. package/speechflow-cli/dst/speechflow-main-cli.d.ts +28 -0
  8. package/speechflow-cli/dst/speechflow-main-cli.js +271 -0
  9. package/speechflow-cli/dst/speechflow-main-cli.js.map +1 -0
  10. package/speechflow-cli/dst/speechflow-main-config.d.ts +9 -0
  11. package/speechflow-cli/dst/speechflow-main-config.js +27 -0
  12. package/speechflow-cli/dst/speechflow-main-config.js.map +1 -0
  13. package/speechflow-cli/dst/speechflow-main-graph.d.ts +34 -0
  14. package/speechflow-cli/dst/speechflow-main-graph.js +367 -0
  15. package/speechflow-cli/dst/speechflow-main-graph.js.map +1 -0
  16. package/speechflow-cli/dst/speechflow-main-nodes.d.ts +10 -0
  17. package/speechflow-cli/dst/speechflow-main-nodes.js +60 -0
  18. package/speechflow-cli/dst/speechflow-main-nodes.js.map +1 -0
  19. package/speechflow-cli/dst/speechflow-main-status.d.ts +11 -0
  20. package/speechflow-cli/dst/speechflow-main-status.js +60 -0
  21. package/speechflow-cli/dst/speechflow-main-status.js.map +1 -0
  22. package/speechflow-cli/dst/speechflow-main.d.ts +7 -0
  23. package/speechflow-cli/dst/speechflow-main.js +127 -0
  24. package/speechflow-cli/dst/speechflow-main.js.map +1 -0
  25. package/speechflow-cli/dst/speechflow-node-a2a-compressor-wt.js +4 -4
  26. package/speechflow-cli/dst/speechflow-node-a2a-compressor-wt.js.map +1 -1
  27. package/speechflow-cli/dst/speechflow-node-a2a-compressor.js +5 -6
  28. package/speechflow-cli/dst/speechflow-node-a2a-compressor.js.map +1 -1
  29. package/speechflow-cli/dst/speechflow-node-a2a-expander-wt.js +5 -5
  30. package/speechflow-cli/dst/speechflow-node-a2a-expander-wt.js.map +1 -1
  31. package/speechflow-cli/dst/speechflow-node-a2a-expander.js +5 -6
  32. package/speechflow-cli/dst/speechflow-node-a2a-expander.js.map +1 -1
  33. package/speechflow-cli/dst/speechflow-node-a2a-ffmpeg.js +5 -5
  34. package/speechflow-cli/dst/speechflow-node-a2a-ffmpeg.js.map +1 -1
  35. package/speechflow-cli/dst/speechflow-node-a2a-filler.js +3 -3
  36. package/speechflow-cli/dst/speechflow-node-a2a-filler.js.map +1 -1
  37. package/speechflow-cli/dst/speechflow-node-a2a-gain.js +2 -2
  38. package/speechflow-cli/dst/speechflow-node-a2a-gain.js.map +1 -1
  39. package/speechflow-cli/dst/speechflow-node-a2a-gender.js +4 -4
  40. package/speechflow-cli/dst/speechflow-node-a2a-gender.js.map +1 -1
  41. package/speechflow-cli/dst/speechflow-node-a2a-meter.js +2 -2
  42. package/speechflow-cli/dst/speechflow-node-a2a-meter.js.map +1 -1
  43. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise.js +4 -4
  44. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise.js.map +1 -1
  45. package/speechflow-cli/dst/speechflow-node-a2a-speex.js +4 -4
  46. package/speechflow-cli/dst/speechflow-node-a2a-speex.js.map +1 -1
  47. package/speechflow-cli/dst/speechflow-node-a2a-vad.js +4 -4
  48. package/speechflow-cli/dst/speechflow-node-a2a-vad.js.map +1 -1
  49. package/speechflow-cli/dst/speechflow-node-a2t-amazon.js +6 -6
  50. package/speechflow-cli/dst/speechflow-node-a2t-amazon.js.map +1 -1
  51. package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js +4 -4
  52. package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js.map +1 -1
  53. package/speechflow-cli/dst/speechflow-node-a2t-openai.js +4 -4
  54. package/speechflow-cli/dst/speechflow-node-a2t-openai.js.map +1 -1
  55. package/speechflow-cli/dst/speechflow-node-t2a-amazon.js +2 -2
  56. package/speechflow-cli/dst/speechflow-node-t2a-amazon.js.map +1 -1
  57. package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js +2 -2
  58. package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js.map +1 -1
  59. package/speechflow-cli/dst/speechflow-node-t2t-amazon.js +2 -2
  60. package/speechflow-cli/dst/speechflow-node-t2t-amazon.js.map +1 -1
  61. package/speechflow-cli/dst/speechflow-node-t2t-deepl.js +2 -2
  62. package/speechflow-cli/dst/speechflow-node-t2t-deepl.js.map +1 -1
  63. package/speechflow-cli/dst/speechflow-node-t2t-google.js +5 -5
  64. package/speechflow-cli/dst/speechflow-node-t2t-google.js.map +1 -1
  65. package/speechflow-cli/dst/speechflow-node-t2t-modify.js +2 -2
  66. package/speechflow-cli/dst/speechflow-node-t2t-modify.js.map +1 -1
  67. package/speechflow-cli/dst/speechflow-node-t2t-ollama.js +2 -2
  68. package/speechflow-cli/dst/speechflow-node-t2t-ollama.js.map +1 -1
  69. package/speechflow-cli/dst/speechflow-node-t2t-openai.js +2 -2
  70. package/speechflow-cli/dst/speechflow-node-t2t-openai.js.map +1 -1
  71. package/speechflow-cli/dst/speechflow-node-t2t-sentence.js +2 -2
  72. package/speechflow-cli/dst/speechflow-node-t2t-sentence.js.map +1 -1
  73. package/speechflow-cli/dst/speechflow-node-t2t-subtitle.js +2 -2
  74. package/speechflow-cli/dst/speechflow-node-t2t-subtitle.js.map +1 -1
  75. package/speechflow-cli/dst/speechflow-node-t2t-transformers.js +2 -2
  76. package/speechflow-cli/dst/speechflow-node-t2t-transformers.js.map +1 -1
  77. package/speechflow-cli/dst/speechflow-node-x2x-filter.js +2 -2
  78. package/speechflow-cli/dst/speechflow-node-x2x-filter.js.map +1 -1
  79. package/speechflow-cli/dst/speechflow-node-xio-device.js +5 -5
  80. package/speechflow-cli/dst/speechflow-node-xio-device.js.map +1 -1
  81. package/speechflow-cli/dst/speechflow-node-xio-file.js +27 -27
  82. package/speechflow-cli/dst/speechflow-node-xio-file.js.map +1 -1
  83. package/speechflow-cli/dst/speechflow-node-xio-mqtt.js +4 -4
  84. package/speechflow-cli/dst/speechflow-node-xio-mqtt.js.map +1 -1
  85. package/speechflow-cli/dst/speechflow-node-xio-websocket.js +7 -7
  86. package/speechflow-cli/dst/speechflow-node-xio-websocket.js.map +1 -1
  87. package/speechflow-cli/dst/{speechflow-utils-audio-wt.js → speechflow-util-audio-wt.js} +1 -1
  88. package/speechflow-cli/dst/speechflow-util-audio-wt.js.map +1 -0
  89. package/speechflow-cli/dst/speechflow-util-audio.d.ts +22 -0
  90. package/speechflow-cli/dst/speechflow-util-audio.js +251 -0
  91. package/speechflow-cli/dst/speechflow-util-audio.js.map +1 -0
  92. package/speechflow-cli/dst/speechflow-util-error.d.ts +14 -0
  93. package/speechflow-cli/dst/speechflow-util-error.js +131 -0
  94. package/speechflow-cli/dst/speechflow-util-error.js.map +1 -0
  95. package/speechflow-cli/dst/speechflow-util-queue.d.ts +68 -0
  96. package/speechflow-cli/dst/speechflow-util-queue.js +338 -0
  97. package/speechflow-cli/dst/speechflow-util-queue.js.map +1 -0
  98. package/speechflow-cli/dst/speechflow-util-stream.d.ts +18 -0
  99. package/speechflow-cli/dst/speechflow-util-stream.js +219 -0
  100. package/speechflow-cli/dst/speechflow-util-stream.js.map +1 -0
  101. package/speechflow-cli/dst/speechflow-util-webaudio-wt.js +124 -0
  102. package/speechflow-cli/dst/speechflow-util-webaudio-wt.js.map +1 -0
  103. package/speechflow-cli/dst/{speechflow-utils-audio.js → speechflow-util-webaudio.js} +2 -2
  104. package/speechflow-cli/dst/speechflow-util-webaudio.js.map +1 -0
  105. package/speechflow-cli/dst/speechflow-util.d.ts +4 -0
  106. package/speechflow-cli/dst/speechflow-util.js +26 -0
  107. package/speechflow-cli/dst/speechflow-util.js.map +1 -0
  108. package/speechflow-cli/dst/speechflow.js +3 -912
  109. package/speechflow-cli/dst/speechflow.js.map +1 -1
  110. package/speechflow-cli/etc/oxlint.jsonc +4 -1
  111. package/speechflow-cli/package.json +1 -0
  112. package/speechflow-cli/src/speechflow-main-api.ts +315 -0
  113. package/speechflow-cli/src/speechflow-main-cli.ts +259 -0
  114. package/speechflow-cli/src/speechflow-main-config.ts +17 -0
  115. package/speechflow-cli/src/speechflow-main-graph.ts +372 -0
  116. package/speechflow-cli/src/speechflow-main-nodes.ts +61 -0
  117. package/speechflow-cli/src/speechflow-main-status.ts +70 -0
  118. package/speechflow-cli/src/speechflow-main.ts +106 -0
  119. package/speechflow-cli/src/speechflow-node-a2a-compressor-wt.ts +4 -4
  120. package/speechflow-cli/src/speechflow-node-a2a-compressor.ts +5 -6
  121. package/speechflow-cli/src/speechflow-node-a2a-expander-wt.ts +5 -5
  122. package/speechflow-cli/src/speechflow-node-a2a-expander.ts +5 -6
  123. package/speechflow-cli/src/speechflow-node-a2a-ffmpeg.ts +5 -5
  124. package/speechflow-cli/src/speechflow-node-a2a-filler.ts +4 -4
  125. package/speechflow-cli/src/speechflow-node-a2a-gain.ts +2 -2
  126. package/speechflow-cli/src/speechflow-node-a2a-gender.ts +4 -4
  127. package/speechflow-cli/src/speechflow-node-a2a-meter.ts +2 -2
  128. package/speechflow-cli/src/speechflow-node-a2a-rnnoise.ts +4 -4
  129. package/speechflow-cli/src/speechflow-node-a2a-speex.ts +4 -4
  130. package/speechflow-cli/src/speechflow-node-a2a-vad.ts +4 -4
  131. package/speechflow-cli/src/speechflow-node-a2t-amazon.ts +7 -7
  132. package/speechflow-cli/src/speechflow-node-a2t-deepgram.ts +5 -5
  133. package/speechflow-cli/src/speechflow-node-a2t-openai.ts +5 -5
  134. package/speechflow-cli/src/speechflow-node-t2a-amazon.ts +2 -2
  135. package/speechflow-cli/src/speechflow-node-t2a-kokoro.ts +2 -2
  136. package/speechflow-cli/src/speechflow-node-t2t-amazon.ts +2 -2
  137. package/speechflow-cli/src/speechflow-node-t2t-deepl.ts +2 -2
  138. package/speechflow-cli/src/speechflow-node-t2t-google.ts +5 -5
  139. package/speechflow-cli/src/speechflow-node-t2t-modify.ts +2 -2
  140. package/speechflow-cli/src/speechflow-node-t2t-ollama.ts +2 -2
  141. package/speechflow-cli/src/speechflow-node-t2t-openai.ts +2 -2
  142. package/speechflow-cli/src/speechflow-node-t2t-sentence.ts +2 -2
  143. package/speechflow-cli/src/speechflow-node-t2t-subtitle.ts +2 -2
  144. package/speechflow-cli/src/speechflow-node-t2t-transformers.ts +2 -2
  145. package/speechflow-cli/src/speechflow-node-x2x-filter.ts +2 -2
  146. package/speechflow-cli/src/speechflow-node-xio-device.ts +5 -5
  147. package/speechflow-cli/src/speechflow-node-xio-file.ts +9 -10
  148. package/speechflow-cli/src/speechflow-node-xio-mqtt.ts +5 -5
  149. package/speechflow-cli/src/speechflow-node-xio-websocket.ts +7 -7
  150. package/speechflow-cli/src/{speechflow-utils-audio.ts → speechflow-util-audio.ts} +131 -1
  151. package/speechflow-cli/src/speechflow-util-error.ts +184 -0
  152. package/speechflow-cli/src/speechflow-util-queue.ts +320 -0
  153. package/speechflow-cli/src/speechflow-util-stream.ts +197 -0
  154. package/speechflow-cli/src/speechflow-util.ts +10 -0
  155. package/speechflow-cli/src/speechflow.ts +3 -953
  156. package/speechflow-cli/dst/speechflow-node-a2a-dynamics-wt.js +0 -208
  157. package/speechflow-cli/dst/speechflow-node-a2a-dynamics-wt.js.map +0 -1
  158. package/speechflow-cli/dst/speechflow-node-a2a-dynamics.d.ts +0 -15
  159. package/speechflow-cli/dst/speechflow-node-a2a-dynamics.js +0 -312
  160. package/speechflow-cli/dst/speechflow-node-a2a-dynamics.js.map +0 -1
  161. package/speechflow-cli/dst/speechflow-node-a2t-awstranscribe.d.ts +0 -18
  162. package/speechflow-cli/dst/speechflow-node-a2t-awstranscribe.js +0 -312
  163. package/speechflow-cli/dst/speechflow-node-a2t-awstranscribe.js.map +0 -1
  164. package/speechflow-cli/dst/speechflow-node-a2t-openaitranscribe.d.ts +0 -19
  165. package/speechflow-cli/dst/speechflow-node-a2t-openaitranscribe.js +0 -351
  166. package/speechflow-cli/dst/speechflow-node-a2t-openaitranscribe.js.map +0 -1
  167. package/speechflow-cli/dst/speechflow-node-t2a-awspolly.d.ts +0 -16
  168. package/speechflow-cli/dst/speechflow-node-t2a-awspolly.js +0 -204
  169. package/speechflow-cli/dst/speechflow-node-t2a-awspolly.js.map +0 -1
  170. package/speechflow-cli/dst/speechflow-node-t2t-awstranslate.d.ts +0 -13
  171. package/speechflow-cli/dst/speechflow-node-t2t-awstranslate.js +0 -175
  172. package/speechflow-cli/dst/speechflow-node-t2t-awstranslate.js.map +0 -1
  173. package/speechflow-cli/dst/speechflow-utils-audio-wt.js.map +0 -1
  174. package/speechflow-cli/dst/speechflow-utils-audio.js.map +0 -1
  175. package/speechflow-cli/dst/speechflow-utils.d.ts +0 -108
  176. package/speechflow-cli/dst/speechflow-utils.js +0 -746
  177. package/speechflow-cli/dst/speechflow-utils.js.map +0 -1
  178. package/speechflow-cli/src/speechflow-utils.ts +0 -810
  179. /package/speechflow-cli/dst/{speechflow-node-a2a-dynamics-wt.d.ts → speechflow-util-audio-wt.d.ts} +0 -0
  180. /package/speechflow-cli/dst/{speechflow-utils-audio-wt.d.ts → speechflow-util-webaudio-wt.d.ts} +0 -0
  181. /package/speechflow-cli/dst/{speechflow-utils-audio.d.ts → speechflow-util-webaudio.d.ts} +0 -0
  182. /package/speechflow-cli/src/{speechflow-utils-audio-wt.ts → speechflow-util-audio-wt.ts} +0 -0
@@ -1,312 +0,0 @@
1
- "use strict";
2
- /*
3
- ** SpeechFlow - Speech Processing Flow Graph
4
- ** Copyright (c) 2024-2025 Dr. Ralf S. Engelschall <rse@engelschall.com>
5
- ** Licensed under GPL 3.0 <https://spdx.org/licenses/GPL-3.0-only>
6
- */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- /* standard dependencies */
45
- const node_stream_1 = __importDefault(require("node:stream"));
46
- /* external dependencies */
47
- const client_transcribe_streaming_1 = require("@aws-sdk/client-transcribe-streaming");
48
- const luxon_1 = require("luxon");
49
- /* internal dependencies */
50
- const speechflow_node_1 = __importStar(require("./speechflow-node"));
51
- const utils = __importStar(require("./speechflow-utils"));
52
- /* helper class for an asynchronous queue */
53
- class AsyncQueue {
54
- queue = [];
55
- resolvers = [];
56
- push(v) {
57
- const resolve = this.resolvers.shift();
58
- if (resolve) {
59
- if (v !== null)
60
- resolve({ value: v });
61
- else
62
- resolve({ value: null, done: true });
63
- }
64
- else
65
- this.queue.push(v);
66
- }
67
- destroy() {
68
- while (this.resolvers.length > 0) {
69
- const resolve = this.resolvers.shift();
70
- resolve?.({ value: null, done: true });
71
- }
72
- this.queue.length = 0;
73
- }
74
- async *[Symbol.asyncIterator]() {
75
- while (true) {
76
- if (this.queue.length > 0) {
77
- const v = this.queue.shift();
78
- if (v === undefined || v === null)
79
- return;
80
- yield v;
81
- continue;
82
- }
83
- else {
84
- const it = await new Promise((resolve) => this.resolvers.push(resolve));
85
- if (it.done)
86
- return;
87
- yield it.value;
88
- }
89
- }
90
- }
91
- }
92
- /* SpeechFlow node for AWS Transcribe speech-to-text conversion */
93
- class SpeechFlowNodeA2TAWSTranscribe extends speechflow_node_1.default {
94
- /* declare official node name */
95
- static name = "a2t-awstranscribe";
96
- /* internal state */
97
- client = null;
98
- clientStream = null;
99
- destroyed = false;
100
- initTimeout = null;
101
- connectionTimeout = null;
102
- queue = null;
103
- /* construct node */
104
- constructor(id, cfg, opts, args) {
105
- super(id, cfg, opts, args);
106
- /* declare node configuration parameters */
107
- this.configure({
108
- key: { type: "string", val: process.env.SPEECHFLOW_AMAZON_KEY },
109
- secKey: { type: "string", val: process.env.SPEECHFLOW_AMAZON_KEY_SEC },
110
- region: { type: "string", val: "eu-central-1" },
111
- language: { type: "string", val: "en", match: /^(?:de|en)$/ },
112
- interim: { type: "boolean", val: false }
113
- });
114
- /* sanity check parameters */
115
- if (!this.params.key)
116
- throw new Error("AWS Access Key not configured");
117
- if (!this.params.secKey)
118
- throw new Error("AWS Secret Access Key not configured");
119
- /* declare node input/output format */
120
- this.input = "audio";
121
- this.output = "text";
122
- }
123
- /* one-time status of node */
124
- async status() {
125
- return {};
126
- }
127
- /* open node */
128
- async open() {
129
- /* sanity check situation */
130
- if (this.config.audioBitDepth !== 16 || !this.config.audioLittleEndian)
131
- throw new Error("Amazon Transcribe node currently supports PCM-S16LE audio only");
132
- /* clear destruction flag */
133
- this.destroyed = false;
134
- /* create queue for results */
135
- this.queue = new utils.SingleQueue();
136
- /* create a store for the meta information */
137
- const metastore = new utils.TimeStore();
138
- /* connect to Amazon Transcribe API */
139
- this.client = new client_transcribe_streaming_1.TranscribeStreamingClient({
140
- region: this.params.region,
141
- credentials: {
142
- accessKeyId: this.params.key,
143
- secretAccessKey: this.params.secKey
144
- }
145
- });
146
- if (this.client === null)
147
- throw new Error("failed to establish Amazon Transcribe client");
148
- /* create an AudioStream for Amazon Transcribe */
149
- const audioQueue = new AsyncQueue();
150
- const audioStream = (async function* (q) {
151
- for await (const chunk of q) {
152
- yield { AudioEvent: { AudioChunk: chunk } };
153
- }
154
- })(audioQueue);
155
- /* start streaming */
156
- const ensureAudioStreamActive = async () => {
157
- if (this.clientStream !== null || this.destroyed)
158
- return;
159
- const language = this.params.language === "de" ? "de-DE" : "en-US";
160
- const command = new client_transcribe_streaming_1.StartStreamTranscriptionCommand({
161
- LanguageCode: language,
162
- EnablePartialResultsStabilization: this.params.interim,
163
- ...(this.params.interim ? { PartialResultsStability: "low" } : {}),
164
- MediaEncoding: "pcm",
165
- MediaSampleRateHertz: this.config.audioSampleRate,
166
- AudioStream: audioStream,
167
- });
168
- const response = await this.client.send(command);
169
- const stream = response.TranscriptResultStream;
170
- if (!stream)
171
- throw new Error("no TranscriptResultStream returned");
172
- this.clientStream = stream;
173
- (async () => {
174
- for await (const event of stream) {
175
- const te = event.TranscriptEvent;
176
- if (!te?.Transcript?.Results)
177
- continue;
178
- for (const result of te.Transcript.Results) {
179
- const alt = result.Alternatives?.[0];
180
- if (!alt?.Transcript)
181
- continue;
182
- if (result.IsPartial && !this.params.interim)
183
- continue;
184
- const text = alt.Transcript ?? "";
185
- const kind = result.IsPartial ? "intermediate" : "final";
186
- const tsStart = luxon_1.Duration.fromMillis((result.StartTime ?? 0) * 1000).plus(this.timeZeroOffset);
187
- const tsEnd = luxon_1.Duration.fromMillis((result.EndTime ?? 0) * 1000).plus(this.timeZeroOffset);
188
- const metas = metastore.fetch(tsStart, tsEnd);
189
- const meta = metas.reduce((prev, curr) => {
190
- curr.forEach((val, key) => { prev.set(key, val); });
191
- return prev;
192
- }, new Map());
193
- if (this.params.interim) {
194
- const words = [];
195
- for (const item of alt.Items ?? []) {
196
- if (item.Type === "pronunciation") {
197
- words.push({
198
- word: item.Content,
199
- start: luxon_1.Duration.fromMillis((item.StartTime ?? 0) * 1000).plus(this.timeZeroOffset),
200
- end: luxon_1.Duration.fromMillis((item.EndTime ?? 0) * 1000).plus(this.timeZeroOffset)
201
- });
202
- }
203
- }
204
- meta.set("words", words);
205
- }
206
- metastore.prune(tsStart);
207
- const chunk = new speechflow_node_1.SpeechFlowChunk(tsStart, tsEnd, kind, "text", text, meta);
208
- this.queue?.write(chunk);
209
- }
210
- }
211
- })().catch((err) => {
212
- this.log("warning", `failed to establish connectivity to Amazon Transcribe: ${err}`);
213
- });
214
- };
215
- /* remember opening time to receive time zero offset */
216
- this.timeOpen = luxon_1.DateTime.now();
217
- /* provide Duplex stream and internally attach to Deepgram API */
218
- const self = this;
219
- this.stream = new node_stream_1.default.Duplex({
220
- writableObjectMode: true,
221
- readableObjectMode: true,
222
- decodeStrings: false,
223
- highWaterMark: 1,
224
- write(chunk, encoding, callback) {
225
- if (self.destroyed || self.client === null) {
226
- callback(new Error("stream already destroyed"));
227
- return;
228
- }
229
- if (chunk.type !== "audio")
230
- callback(new Error("expected audio input chunk"));
231
- else if (!Buffer.isBuffer(chunk.payload))
232
- callback(new Error("expected Buffer input chunk"));
233
- else {
234
- if (chunk.payload.byteLength > 0) {
235
- self.log("debug", `send data (${chunk.payload.byteLength} bytes)`);
236
- if (chunk.meta.size > 0)
237
- metastore.store(chunk.timestampStart, chunk.timestampEnd, chunk.meta);
238
- audioQueue.push(new Uint8Array(chunk.payload)); /* intentionally discard all time information */
239
- ensureAudioStreamActive().catch((error) => {
240
- self.log("error", `failed to start audio stream: ${utils.ensureError(error).message}`);
241
- });
242
- }
243
- callback();
244
- }
245
- },
246
- read(size) {
247
- if (self.destroyed || self.queue === null) {
248
- this.push(null);
249
- return;
250
- }
251
- self.queue.read().then((chunk) => {
252
- if (self.destroyed) {
253
- this.push(null);
254
- return;
255
- }
256
- if (chunk === null) {
257
- self.log("info", "received EOF signal");
258
- this.push(null);
259
- }
260
- else {
261
- self.log("debug", `received data (${chunk.payload.length} bytes): "${chunk.payload}"`);
262
- this.push(chunk);
263
- }
264
- }).catch((error) => {
265
- if (!self.destroyed)
266
- self.log("error", `queue read error: ${utils.ensureError(error).message}`);
267
- });
268
- },
269
- final(callback) {
270
- if (self.destroyed || self.client === null) {
271
- callback();
272
- return;
273
- }
274
- utils.run(() => self.client.destroy(), (error) => self.log("warning", `error closing Amazon Transcribe connection: ${error}`));
275
- audioQueue.push(null); /* do not push null to stream, let Amazon Transcribe do it */
276
- audioQueue.destroy();
277
- callback();
278
- }
279
- });
280
- }
281
- /* close node */
282
- async close() {
283
- /* indicate destruction first to stop all async operations */
284
- this.destroyed = true;
285
- /* cleanup all timers */
286
- if (this.initTimeout !== null) {
287
- clearTimeout(this.initTimeout);
288
- this.initTimeout = null;
289
- }
290
- if (this.connectionTimeout !== null) {
291
- clearTimeout(this.connectionTimeout);
292
- this.connectionTimeout = null;
293
- }
294
- /* close queue */
295
- if (this.queue !== null) {
296
- this.queue.write(null);
297
- this.queue = null;
298
- }
299
- /* close Amazon Transcribe connection */
300
- if (this.client !== null) {
301
- this.client.destroy();
302
- this.client = null;
303
- }
304
- /* close stream */
305
- if (this.stream !== null) {
306
- this.stream.destroy();
307
- this.stream = null;
308
- }
309
- }
310
- }
311
- exports.default = SpeechFlowNodeA2TAWSTranscribe;
312
- //# sourceMappingURL=speechflow-node-a2t-awstranscribe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"speechflow-node-a2t-awstranscribe.js","sourceRoot":"","sources":["../src/speechflow-node-a2t-awstranscribe.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import SpeechFlowNode from "./speechflow-node";
2
- export default class SpeechFlowNodeA2TOpenAITranscribe extends SpeechFlowNode {
3
- static name: string;
4
- private static speexInitialized;
5
- private openai;
6
- private ws;
7
- private queue;
8
- private resampler;
9
- private destroyed;
10
- private connectionTimeout;
11
- constructor(id: string, cfg: {
12
- [id: string]: any;
13
- }, opts: {
14
- [id: string]: any;
15
- }, args: any[]);
16
- status(): Promise<{}>;
17
- open(): Promise<void>;
18
- close(): Promise<void>;
19
- }