speechflow 1.7.0 → 1.7.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.
- package/CHANGELOG.md +5 -0
- package/README.md +49 -38
- package/package.json +3 -3
- package/speechflow-cli/dst/speechflow-main-api.js +6 -5
- package/speechflow-cli/dst/speechflow-main-api.js.map +1 -1
- package/speechflow-cli/dst/speechflow-main-graph.js +7 -8
- package/speechflow-cli/dst/speechflow-main-graph.js.map +1 -1
- package/speechflow-cli/dst/speechflow-main-status.js +3 -7
- package/speechflow-cli/dst/speechflow-main-status.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-compressor-wt.js +3 -0
- package/speechflow-cli/dst/speechflow-node-a2a-compressor-wt.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-compressor.js +4 -2
- package/speechflow-cli/dst/speechflow-node-a2a-compressor.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-expander-wt.js +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-expander.js +4 -2
- package/speechflow-cli/dst/speechflow-node-a2a-expander.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-gender.js +2 -2
- package/speechflow-cli/dst/speechflow-node-a2a-gender.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-pitch.js +1 -2
- package/speechflow-cli/dst/speechflow-node-a2a-pitch.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-wav.js +8 -1
- package/speechflow-cli/dst/speechflow-node-a2a-wav.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2t-amazon.d.ts +0 -1
- package/speechflow-cli/dst/speechflow-node-a2t-amazon.js +1 -6
- package/speechflow-cli/dst/speechflow-node-a2t-amazon.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2t-deepgram.d.ts +0 -1
- package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js +9 -9
- package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2t-openai.js +6 -4
- package/speechflow-cli/dst/speechflow-node-a2t-openai.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-t2a-amazon.js +6 -11
- package/speechflow-cli/dst/speechflow-node-t2a-amazon.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.js +6 -5
- package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-t2a-kokoro.d.ts +2 -0
- package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js +19 -6
- package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-x2x-filter.d.ts +1 -0
- package/speechflow-cli/dst/speechflow-node-x2x-filter.js +10 -0
- package/speechflow-cli/dst/speechflow-node-x2x-filter.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-x2x-trace.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-xio-device.js +3 -3
- package/speechflow-cli/dst/speechflow-node-xio-device.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-xio-file.js +1 -1
- package/speechflow-cli/dst/speechflow-node-xio-file.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-xio-mqtt.js +2 -1
- package/speechflow-cli/dst/speechflow-node-xio-mqtt.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-xio-websocket.js +2 -1
- package/speechflow-cli/dst/speechflow-node-xio-websocket.js.map +1 -1
- package/speechflow-cli/dst/speechflow-util-audio.js +1 -1
- package/speechflow-cli/dst/speechflow-util-audio.js.map +1 -1
- package/speechflow-cli/dst/speechflow-util-error.d.ts +0 -1
- package/speechflow-cli/dst/speechflow-util-error.js +0 -7
- package/speechflow-cli/dst/speechflow-util-error.js.map +1 -1
- package/speechflow-cli/dst/speechflow-util-misc.d.ts +1 -1
- package/speechflow-cli/dst/speechflow-util-misc.js +4 -4
- package/speechflow-cli/dst/speechflow-util-misc.js.map +1 -1
- package/speechflow-cli/dst/speechflow-util-queue.js +3 -3
- package/speechflow-cli/dst/speechflow-util-queue.js.map +1 -1
- package/speechflow-cli/dst/speechflow-util-stream.js +4 -2
- package/speechflow-cli/dst/speechflow-util-stream.js.map +1 -1
- package/speechflow-cli/src/speechflow-main-api.ts +6 -5
- package/speechflow-cli/src/speechflow-main-graph.ts +9 -8
- package/speechflow-cli/src/speechflow-main-status.ts +4 -8
- package/speechflow-cli/src/speechflow-node-a2a-compressor-wt.ts +4 -0
- package/speechflow-cli/src/speechflow-node-a2a-compressor.ts +4 -2
- package/speechflow-cli/src/speechflow-node-a2a-expander-wt.ts +1 -1
- package/speechflow-cli/src/speechflow-node-a2a-expander.ts +4 -2
- package/speechflow-cli/src/speechflow-node-a2a-gender.ts +2 -2
- package/speechflow-cli/src/speechflow-node-a2a-pitch.ts +1 -2
- package/speechflow-cli/src/speechflow-node-a2a-wav.ts +9 -2
- package/speechflow-cli/src/speechflow-node-a2t-amazon.ts +6 -11
- package/speechflow-cli/src/speechflow-node-a2t-deepgram.ts +13 -12
- package/speechflow-cli/src/speechflow-node-a2t-openai.ts +8 -4
- package/speechflow-cli/src/speechflow-node-t2a-amazon.ts +7 -11
- package/speechflow-cli/src/speechflow-node-t2a-elevenlabs.ts +6 -5
- package/speechflow-cli/src/speechflow-node-t2a-kokoro.ts +22 -6
- package/speechflow-cli/src/speechflow-node-x2x-filter.ts +16 -3
- package/speechflow-cli/src/speechflow-node-x2x-trace.ts +3 -3
- package/speechflow-cli/src/speechflow-node-xio-device.ts +4 -7
- package/speechflow-cli/src/speechflow-node-xio-file.ts +1 -1
- package/speechflow-cli/src/speechflow-node-xio-mqtt.ts +3 -2
- package/speechflow-cli/src/speechflow-node-xio-websocket.ts +2 -1
- package/speechflow-cli/src/speechflow-util-audio-wt.ts +4 -4
- package/speechflow-cli/src/speechflow-util-audio.ts +5 -5
- package/speechflow-cli/src/speechflow-util-error.ts +0 -7
- package/speechflow-cli/src/speechflow-util-misc.ts +4 -4
- package/speechflow-cli/src/speechflow-util-queue.ts +4 -4
- package/speechflow-cli/src/speechflow-util-stream.ts +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speechflow-util-queue.js","sourceRoot":"","sources":["../src/speechflow-util-queue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"speechflow-util-queue.js","sourceRoot":"","sources":["../src/speechflow-util-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -227,8 +227,10 @@ async function destroyStream(stream) {
|
|
|
227
227
|
new Promise((resolve) => {
|
|
228
228
|
stream.end(() => { resolve(); });
|
|
229
229
|
}),
|
|
230
|
-
util.
|
|
231
|
-
])
|
|
230
|
+
util.timeout(5000, "stream end timeout")
|
|
231
|
+
]).catch(() => {
|
|
232
|
+
/* ignore timeout -- stream will be destroyed anyway */
|
|
233
|
+
});
|
|
232
234
|
/* destroy the stream */
|
|
233
235
|
stream.destroy();
|
|
234
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speechflow-util-stream.js","sourceRoot":"","sources":["../src/speechflow-util-stream.ts"],"names":[],"mappings":";AAAA;;;;EAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBF,oFAkBC;AAKD,oFA4BC;AAGD,8CAYC;AAaD,8CAkBC;AAGD,8CAsBC;AAgED,
|
|
1
|
+
{"version":3,"file":"speechflow-util-stream.js","sourceRoot":"","sources":["../src/speechflow-util-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,7 +101,7 @@ export class APIServer {
|
|
|
101
101
|
"response=" + ("statusCode" in request.response ? request.response.statusCode : "<unknown>")
|
|
102
102
|
this.cli.log("info", `HAPI: request: ${msg}`)
|
|
103
103
|
})
|
|
104
|
-
this.hapi.events.on({ name: "request", channels: [ "error" ] }, (
|
|
104
|
+
this.hapi.events.on({ name: "request", channels: [ "error" ] }, (_request: HAPI.Request, event: HAPI.RequestEvent, _tags: { [key: string]: true }) => {
|
|
105
105
|
if (event.error instanceof Error)
|
|
106
106
|
this.cli.log("error", `HAPI: request-error: ${event.error.message}`)
|
|
107
107
|
else
|
|
@@ -225,9 +225,9 @@ export class APIServer {
|
|
|
225
225
|
const osc = new OSC({ plugin: new OSC.DatagramPlugin({ type: "udp4" }) })
|
|
226
226
|
const m = args.o.match(/^(.+?):(\d+)$/)
|
|
227
227
|
if (m === null)
|
|
228
|
-
throw new Error("invalid OSC/UDP endpoint (expected <ip-
|
|
228
|
+
throw new Error("invalid OSC/UDP endpoint (expected <ip-address>:<udp-port>)")
|
|
229
229
|
const host = m[1]
|
|
230
|
-
const port = m[2]
|
|
230
|
+
const port = Number.parseInt(m[2], 10)
|
|
231
231
|
this.sendOSC = (url: string, ...argList: any[]) => {
|
|
232
232
|
const msg = new OSC.Message(url, ...argList)
|
|
233
233
|
osc.send(msg, { host, port })
|
|
@@ -247,9 +247,10 @@ export class APIServer {
|
|
|
247
247
|
node: "",
|
|
248
248
|
args: [ info.type, info.id, info.kind, info.value ]
|
|
249
249
|
})
|
|
250
|
-
for (const [ peer,
|
|
250
|
+
for (const [ peer, peerInfo ] of this.wsPeers.entries()) {
|
|
251
251
|
this.cli.log("debug", `HAPI: dashboard peer ${peer}: send ${data}`)
|
|
252
|
-
|
|
252
|
+
if (peerInfo.ws.readyState === WebSocket.OPEN)
|
|
253
|
+
peerInfo.ws.send(data)
|
|
253
254
|
}
|
|
254
255
|
for (const n of graph.getGraphNodes()) {
|
|
255
256
|
Promise.race<void>([
|
|
@@ -54,6 +54,11 @@ export class NodeGraph {
|
|
|
54
54
|
variables: { argv: any[], env: any },
|
|
55
55
|
accessBus: (name: string) => EventEmitter
|
|
56
56
|
): Promise<void> {
|
|
57
|
+
/* internal helper for extracting error messages */
|
|
58
|
+
const flowlinkErrorMsg = (err: unknown): string =>
|
|
59
|
+
err instanceof Error && err.name === "FlowLinkError"
|
|
60
|
+
? err.toString() : (err instanceof Error ? err.message : "internal error")
|
|
61
|
+
|
|
57
62
|
const flowlink = new FlowLink<SpeechFlowNode>({
|
|
58
63
|
trace: (msg: string) => {
|
|
59
64
|
this.cli.log("debug", msg)
|
|
@@ -65,9 +70,7 @@ export class NodeGraph {
|
|
|
65
70
|
ast = flowlink.compile(config)
|
|
66
71
|
}
|
|
67
72
|
catch (err) {
|
|
68
|
-
|
|
69
|
-
? err.toString() : (err instanceof Error ? err.message : "internal error")
|
|
70
|
-
this.cli.log("error", `failed to parse SpeechFlow configuration: ${errorMsg}`)
|
|
73
|
+
this.cli.log("error", `failed to parse SpeechFlow configuration: ${flowlinkErrorMsg(err)}`)
|
|
71
74
|
process.exit(1)
|
|
72
75
|
}
|
|
73
76
|
try {
|
|
@@ -117,9 +120,7 @@ export class NodeGraph {
|
|
|
117
120
|
})
|
|
118
121
|
}
|
|
119
122
|
catch (err) {
|
|
120
|
-
|
|
121
|
-
? err.toString() : (err instanceof Error ? err.message : "internal error")
|
|
122
|
-
this.cli.log("error", `failed to materialize SpeechFlow configuration: ${errorMsg}`)
|
|
123
|
+
this.cli.log("error", `failed to materialize SpeechFlow configuration: ${flowlinkErrorMsg(err)}`)
|
|
123
124
|
process.exit(1)
|
|
124
125
|
}
|
|
125
126
|
}
|
|
@@ -217,9 +218,9 @@ export class NodeGraph {
|
|
|
217
218
|
this.cli.log("info", `${msg} (${this.activeNodes.size} active nodes remaining)`)
|
|
218
219
|
if (this.activeNodes.size === 0) {
|
|
219
220
|
const timeFinished = DateTime.now()
|
|
220
|
-
const duration = timeFinished.diff(this.timeZero
|
|
221
|
+
const duration = this.timeZero !== null ? timeFinished.diff(this.timeZero) : null
|
|
221
222
|
this.cli.log("info", "**** everything finished -- stream processing in SpeechFlow graph stops " +
|
|
222
|
-
`(total duration: ${duration
|
|
223
|
+
`(total duration: ${duration?.toFormat("hh:mm:ss.SSS") ?? "unknown"}) ****`)
|
|
223
224
|
this.finishEvents.emit("finished")
|
|
224
225
|
this.shutdown("finished", args, api)
|
|
225
226
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
** Licensed under GPL 3.0 <https://spdx.org/licenses/GPL-3.0-only>
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
/*
|
|
7
|
+
/* standard dependencies */
|
|
8
8
|
import { EventEmitter } from "node:events"
|
|
9
9
|
|
|
10
10
|
/* external dependencies */
|
|
@@ -56,13 +56,9 @@ export class NodeStatusManager {
|
|
|
56
56
|
})
|
|
57
57
|
|
|
58
58
|
/* render output as a table row */
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
table.push([ first ? chalk.bold(name) : "", key, chalk.blue(status[key]) ])
|
|
63
|
-
first = false
|
|
64
|
-
}
|
|
65
|
-
}
|
|
59
|
+
const keys = Object.keys(status)
|
|
60
|
+
for (let i = 0; i < keys.length; i++)
|
|
61
|
+
table.push([ i === 0 ? chalk.bold(name) : "", keys[i], chalk.blue(status[keys[i]]) ])
|
|
66
62
|
}
|
|
67
63
|
const output = table.toString()
|
|
68
64
|
process.stdout.write(output + "\n")
|
|
@@ -76,6 +76,10 @@ class CompressorProcessor extends AudioWorkletProcessor {
|
|
|
76
76
|
/* determine number of channels */
|
|
77
77
|
const nCh = input.length
|
|
78
78
|
|
|
79
|
+
/* reset envelope array if channel count changed */
|
|
80
|
+
if (nCh !== this.env.length)
|
|
81
|
+
this.env = []
|
|
82
|
+
|
|
79
83
|
/* initially just copy input to output (pass-through) */
|
|
80
84
|
for (let c = 0; c < output.length; c++) {
|
|
81
85
|
if (!output[c] || !input[c])
|
|
@@ -245,8 +245,10 @@ export default class SpeechFlowNodeA2ACompressor extends SpeechFlowNode {
|
|
|
245
245
|
/* compress chunk */
|
|
246
246
|
const payload = util.convertBufToI16(chunk.payload)
|
|
247
247
|
self.compressor?.process(payload).then((result) => {
|
|
248
|
-
if (self.closing)
|
|
249
|
-
|
|
248
|
+
if (self.closing) {
|
|
249
|
+
callback(new Error("stream already destroyed"))
|
|
250
|
+
return
|
|
251
|
+
}
|
|
250
252
|
if ((self.params.type === "standalone" && self.params.mode === "compress") ||
|
|
251
253
|
(self.params.type === "sidechain" && self.params.mode === "adjust") ) {
|
|
252
254
|
/* take over compressed data */
|
|
@@ -113,7 +113,7 @@ class ExpanderProcessor extends AudioWorkletProcessor {
|
|
|
113
113
|
const expectedOutLevelDB = levelDB + gainDB + makeupDB
|
|
114
114
|
if (expectedOutLevelDB < floorDB) {
|
|
115
115
|
const neededLiftDB = floorDB - expectedOutLevelDB
|
|
116
|
-
gainLin
|
|
116
|
+
gainLin *= util.dB2lin(neededLiftDB)
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
/* apply gain change to channel */
|
|
@@ -168,8 +168,10 @@ export default class SpeechFlowNodeA2AExpander extends SpeechFlowNode {
|
|
|
168
168
|
/* expand chunk */
|
|
169
169
|
const payload = util.convertBufToI16(chunk.payload)
|
|
170
170
|
self.expander?.process(payload).then((result) => {
|
|
171
|
-
if (self.closing)
|
|
172
|
-
|
|
171
|
+
if (self.closing) {
|
|
172
|
+
callback(new Error("stream already destroyed"))
|
|
173
|
+
return
|
|
174
|
+
}
|
|
173
175
|
|
|
174
176
|
/* take over expanded data */
|
|
175
177
|
const payload = util.convertI16ToBuf(result)
|
|
@@ -107,7 +107,7 @@ export default class SpeechFlowNodeA2AGender extends SpeechFlowNode {
|
|
|
107
107
|
})
|
|
108
108
|
this.classifier = await Promise.race([
|
|
109
109
|
pipelinePromise,
|
|
110
|
-
util.
|
|
110
|
+
util.timeout(30 * 1000, "model initialization timeout")
|
|
111
111
|
]) as Transformers.AudioClassificationPipeline
|
|
112
112
|
}
|
|
113
113
|
catch (error) {
|
|
@@ -149,7 +149,7 @@ export default class SpeechFlowNodeA2AGender extends SpeechFlowNode {
|
|
|
149
149
|
/* classify audio */
|
|
150
150
|
const result = await Promise.race([
|
|
151
151
|
this.classifier(data),
|
|
152
|
-
util.
|
|
152
|
+
util.timeout(30 * 1000, "classification timeout")
|
|
153
153
|
]) as Transformers.AudioClassificationOutput | Transformers.AudioClassificationOutput[]
|
|
154
154
|
const classified = Array.isArray(result) ?
|
|
155
155
|
result as Transformers.AudioClassificationOutput :
|
|
@@ -185,8 +185,7 @@ export default class SpeechFlowNodeA2APitch extends SpeechFlowNode {
|
|
|
185
185
|
this.push(chunk)
|
|
186
186
|
callback()
|
|
187
187
|
}).catch((error: unknown) => {
|
|
188
|
-
|
|
189
|
-
callback(util.ensureError(error, "pitch shifting failed"))
|
|
188
|
+
callback(util.ensureError(error, "pitch shifting failed"))
|
|
190
189
|
})
|
|
191
190
|
}
|
|
192
191
|
},
|
|
@@ -141,10 +141,17 @@ export default class SpeechFlowNodeA2AWAV extends SpeechFlowNode {
|
|
|
141
141
|
callback(new Error("WAV header too short, expected at least 44 bytes"))
|
|
142
142
|
return
|
|
143
143
|
}
|
|
144
|
-
|
|
144
|
+
let header: ReturnType<typeof readWavHeader>
|
|
145
|
+
try {
|
|
146
|
+
header = readWavHeader(chunk.payload)
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
callback(util.ensureError(error, "WAV header parsing failed"))
|
|
150
|
+
return
|
|
151
|
+
}
|
|
145
152
|
self.log("info", "WAV audio stream: " +
|
|
146
153
|
`audioFormat=${header.audioFormat === 0x0001 ? "PCM" :
|
|
147
|
-
"0x" +
|
|
154
|
+
"0x" + header.audioFormat.toString(16).padStart(4, "0")} ` +
|
|
148
155
|
`channels=${header.channels} ` +
|
|
149
156
|
`sampleRate=${header.sampleRate} ` +
|
|
150
157
|
`bitDepth=${header.bitDepth}`)
|
|
@@ -68,11 +68,10 @@ export default class SpeechFlowNodeA2TAmazon extends SpeechFlowNode {
|
|
|
68
68
|
public static name = "a2t-amazon"
|
|
69
69
|
|
|
70
70
|
/* internal state */
|
|
71
|
-
private client: TranscribeStreamingClient
|
|
72
|
-
private clientStream: AsyncIterable<TranscriptResultStream>
|
|
73
|
-
private closing
|
|
74
|
-
private
|
|
75
|
-
private connectionTimeout: ReturnType<typeof setTimeout> | null = null
|
|
71
|
+
private client: TranscribeStreamingClient | null = null
|
|
72
|
+
private clientStream: AsyncIterable<TranscriptResultStream> | null = null
|
|
73
|
+
private closing = false
|
|
74
|
+
private connectionTimeout: ReturnType<typeof setTimeout> | null = null
|
|
76
75
|
private queue: util.SingleQueue<SpeechFlowChunk | null> | null = null
|
|
77
76
|
|
|
78
77
|
/* construct node */
|
|
@@ -194,8 +193,8 @@ export default class SpeechFlowNodeA2TAmazon extends SpeechFlowNode {
|
|
|
194
193
|
this.queue?.write(chunk)
|
|
195
194
|
}
|
|
196
195
|
}
|
|
197
|
-
})().catch((err:
|
|
198
|
-
this.log("warning", `failed to establish connectivity to Amazon Transcribe: ${err}`)
|
|
196
|
+
})().catch((err: unknown) => {
|
|
197
|
+
this.log("warning", `failed to establish connectivity to Amazon Transcribe: ${util.ensureError(err).message}`)
|
|
199
198
|
})
|
|
200
199
|
}
|
|
201
200
|
|
|
@@ -281,10 +280,6 @@ export default class SpeechFlowNodeA2TAmazon extends SpeechFlowNode {
|
|
|
281
280
|
this.closing = true
|
|
282
281
|
|
|
283
282
|
/* cleanup all timers */
|
|
284
|
-
if (this.initTimeout !== null) {
|
|
285
|
-
clearTimeout(this.initTimeout)
|
|
286
|
-
this.initTimeout = null
|
|
287
|
-
}
|
|
288
283
|
if (this.connectionTimeout !== null) {
|
|
289
284
|
clearTimeout(this.connectionTimeout)
|
|
290
285
|
this.connectionTimeout = null
|
|
@@ -21,10 +21,9 @@ export default class SpeechFlowNodeA2TDeepgram extends SpeechFlowNode {
|
|
|
21
21
|
public static name = "a2t-deepgram"
|
|
22
22
|
|
|
23
23
|
/* internal state */
|
|
24
|
-
private dg: Deepgram.LiveClient
|
|
25
|
-
private closing
|
|
26
|
-
private
|
|
27
|
-
private connectionTimeout: ReturnType<typeof setTimeout> | null = null
|
|
24
|
+
private dg: Deepgram.LiveClient | null = null
|
|
25
|
+
private closing = false
|
|
26
|
+
private connectionTimeout: ReturnType<typeof setTimeout> | null = null
|
|
28
27
|
private queue: util.SingleQueue<SpeechFlowChunk | null> | null = null
|
|
29
28
|
|
|
30
29
|
/* construct node */
|
|
@@ -41,6 +40,10 @@ export default class SpeechFlowNodeA2TDeepgram extends SpeechFlowNode {
|
|
|
41
40
|
interim: { type: "boolean", val: false, pos: 3 }
|
|
42
41
|
})
|
|
43
42
|
|
|
43
|
+
/* sanity check parameters */
|
|
44
|
+
if (!this.params.key)
|
|
45
|
+
throw new Error("Deepgram API key not configured")
|
|
46
|
+
|
|
44
47
|
/* declare node input/output format */
|
|
45
48
|
this.input = "audio"
|
|
46
49
|
this.output = "text"
|
|
@@ -126,7 +129,7 @@ export default class SpeechFlowNodeA2TDeepgram extends SpeechFlowNode {
|
|
|
126
129
|
this.log("info", `text received (start: ${data.start}s, ` +
|
|
127
130
|
`duration: ${data.duration.toFixed(2)}s, ` +
|
|
128
131
|
`kind: ${isFinal ? "final" : "intermediate"}): ` +
|
|
129
|
-
|
|
132
|
+
`"${text}"`)
|
|
130
133
|
const start = Duration.fromMillis(data.start * 1000).plus(this.timeZeroOffset)
|
|
131
134
|
const end = start.plus({ seconds: data.duration })
|
|
132
135
|
const metas = metastore.fetch(start, end)
|
|
@@ -163,14 +166,16 @@ export default class SpeechFlowNodeA2TDeepgram extends SpeechFlowNode {
|
|
|
163
166
|
this.log("error", `error: ${error.message}`)
|
|
164
167
|
if (!this.closing && this.queue !== null)
|
|
165
168
|
this.queue.write(null)
|
|
166
|
-
this.emit("error")
|
|
169
|
+
this.emit("error", error)
|
|
167
170
|
})
|
|
168
171
|
|
|
169
172
|
/* wait for Deepgram API to be available */
|
|
170
173
|
await new Promise((resolve, reject) => {
|
|
171
174
|
this.connectionTimeout = setTimeout(() => {
|
|
172
|
-
this.connectionTimeout
|
|
173
|
-
|
|
175
|
+
if (this.connectionTimeout !== null) {
|
|
176
|
+
this.connectionTimeout = null
|
|
177
|
+
reject(new Error("Deepgram: timeout waiting for connection open"))
|
|
178
|
+
}
|
|
174
179
|
}, 8000)
|
|
175
180
|
this.dg!.once(Deepgram.LiveTranscriptionEvents.Open, () => {
|
|
176
181
|
this.log("info", "connection open")
|
|
@@ -271,10 +276,6 @@ export default class SpeechFlowNodeA2TDeepgram extends SpeechFlowNode {
|
|
|
271
276
|
this.closing = true
|
|
272
277
|
|
|
273
278
|
/* cleanup all timers */
|
|
274
|
-
if (this.initTimeout !== null) {
|
|
275
|
-
clearTimeout(this.initTimeout)
|
|
276
|
-
this.initTimeout = null
|
|
277
|
-
}
|
|
278
279
|
if (this.connectionTimeout !== null) {
|
|
279
280
|
clearTimeout(this.connectionTimeout)
|
|
280
281
|
this.connectionTimeout = null
|
|
@@ -43,6 +43,10 @@ export default class SpeechFlowNodeA2TOpenAI extends SpeechFlowNode {
|
|
|
43
43
|
interim: { type: "boolean", val: false }
|
|
44
44
|
})
|
|
45
45
|
|
|
46
|
+
/* sanity check parameters */
|
|
47
|
+
if (!this.params.key)
|
|
48
|
+
throw new Error("OpenAI API key not configured")
|
|
49
|
+
|
|
46
50
|
/* declare node input/output format */
|
|
47
51
|
this.input = "audio"
|
|
48
52
|
this.output = "text"
|
|
@@ -349,10 +353,10 @@ export default class SpeechFlowNodeA2TOpenAI extends SpeechFlowNode {
|
|
|
349
353
|
this.ws.close()
|
|
350
354
|
this.ws = null
|
|
351
355
|
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
+
this.openai = null
|
|
357
|
+
|
|
358
|
+
/* close resampler */
|
|
359
|
+
this.resampler = null
|
|
356
360
|
|
|
357
361
|
/* shutdown stream */
|
|
358
362
|
if (this.stream !== null) {
|
|
@@ -83,7 +83,7 @@ export default class SpeechFlowNodeT2AAmazon extends SpeechFlowNode {
|
|
|
83
83
|
"Ruth": { language: "en", languageCode: "en-US", engine: "generative" },
|
|
84
84
|
"Stephen": { language: "en", languageCode: "en-US", engine: "generative" },
|
|
85
85
|
"Vicki": { language: "de", languageCode: "de-DE", engine: "generative" },
|
|
86
|
-
"Daniel": { language: "de", languageCode: "de-DE", engine: "generative" }
|
|
86
|
+
"Daniel": { language: "de", languageCode: "de-DE", engine: "generative" }
|
|
87
87
|
}
|
|
88
88
|
const voiceConfig = voices[this.params.voice as keyof typeof voices]
|
|
89
89
|
if (voiceConfig === undefined)
|
|
@@ -147,11 +147,6 @@ export default class SpeechFlowNodeT2AAmazon extends SpeechFlowNode {
|
|
|
147
147
|
callback()
|
|
148
148
|
},
|
|
149
149
|
final (callback) {
|
|
150
|
-
if (self.closing) {
|
|
151
|
-
callback()
|
|
152
|
-
return
|
|
153
|
-
}
|
|
154
|
-
this.push(null)
|
|
155
150
|
callback()
|
|
156
151
|
}
|
|
157
152
|
})
|
|
@@ -162,6 +157,12 @@ export default class SpeechFlowNodeT2AAmazon extends SpeechFlowNode {
|
|
|
162
157
|
/* indicate closing */
|
|
163
158
|
this.closing = true
|
|
164
159
|
|
|
160
|
+
/* shutdown stream */
|
|
161
|
+
if (this.stream !== null) {
|
|
162
|
+
await util.destroyStream(this.stream)
|
|
163
|
+
this.stream = null
|
|
164
|
+
}
|
|
165
|
+
|
|
165
166
|
/* destroy resampler */
|
|
166
167
|
if (this.resampler !== null)
|
|
167
168
|
this.resampler = null
|
|
@@ -171,11 +172,6 @@ export default class SpeechFlowNodeT2AAmazon extends SpeechFlowNode {
|
|
|
171
172
|
this.client.destroy()
|
|
172
173
|
this.client = null
|
|
173
174
|
}
|
|
174
|
-
/* shutdown stream */
|
|
175
|
-
if (this.stream !== null) {
|
|
176
|
-
await util.destroyStream(this.stream)
|
|
177
|
-
this.stream = null
|
|
178
|
-
}
|
|
179
175
|
}
|
|
180
176
|
}
|
|
181
177
|
|
|
@@ -103,14 +103,15 @@ export default class SpeechFlowNodeT2AElevenlabs extends SpeechFlowNode {
|
|
|
103
103
|
throw new Error(`invalid ElevenLabs voice "${this.params.voice}"`)
|
|
104
104
|
}
|
|
105
105
|
const labels = voice.labels ?? {}
|
|
106
|
-
const info = Object.keys(labels).length > 0
|
|
107
|
-
", " + Object.entries(labels).map(([ key, val ]) => `${key}: "${val}"`).join(", ")
|
|
106
|
+
const info = Object.keys(labels).length > 0
|
|
107
|
+
? ", " + Object.entries(labels).map(([ key, val ]) => `${key}: "${val}"`).join(", ")
|
|
108
|
+
: ""
|
|
108
109
|
this.log("info", `selected voice: name: "${voice.name}"${info}`)
|
|
109
110
|
|
|
110
111
|
/* perform text-to-speech operation with Elevenlabs API */
|
|
111
|
-
const model = this.params.optimize === "quality"
|
|
112
|
-
"eleven_turbo_v2_5"
|
|
113
|
-
"eleven_flash_v2_5"
|
|
112
|
+
const model = this.params.optimize === "quality"
|
|
113
|
+
? "eleven_turbo_v2_5"
|
|
114
|
+
: "eleven_flash_v2_5"
|
|
114
115
|
const speechStream = (text: string) => {
|
|
115
116
|
this.log("info", `ElevenLabs: send text "${text}"`)
|
|
116
117
|
return this.elevenlabs!.textToSpeech.convert(voice.voiceId, {
|
|
@@ -22,6 +22,7 @@ export default class SpeechFlowNodeT2AKokoro extends SpeechFlowNode {
|
|
|
22
22
|
|
|
23
23
|
/* internal state */
|
|
24
24
|
private kokoro: KokoroTTS | null = null
|
|
25
|
+
private closing = false
|
|
25
26
|
private resampler: SpeexResampler | null = null
|
|
26
27
|
|
|
27
28
|
/* construct node */
|
|
@@ -32,7 +33,7 @@ export default class SpeechFlowNodeT2AKokoro extends SpeechFlowNode {
|
|
|
32
33
|
this.configure({
|
|
33
34
|
voice: { type: "string", val: "Aoede", pos: 0, match: /^(?:Aoede|Heart|Puck|Fenrir)$/ },
|
|
34
35
|
language: { type: "string", val: "en", pos: 1, match: /^(?:en)$/ },
|
|
35
|
-
speed: { type: "number", val: 1.25, pos: 2, match: (n: number) => n >= 1.0 && n <= 1.30 }
|
|
36
|
+
speed: { type: "number", val: 1.25, pos: 2, match: (n: number) => n >= 1.0 && n <= 1.30 }
|
|
36
37
|
})
|
|
37
38
|
|
|
38
39
|
/* declare node input/output format */
|
|
@@ -40,8 +41,16 @@ export default class SpeechFlowNodeT2AKokoro extends SpeechFlowNode {
|
|
|
40
41
|
this.output = "audio"
|
|
41
42
|
}
|
|
42
43
|
|
|
44
|
+
/* one-time status of node */
|
|
45
|
+
async status () {
|
|
46
|
+
return {}
|
|
47
|
+
}
|
|
48
|
+
|
|
43
49
|
/* open node */
|
|
44
50
|
async open () {
|
|
51
|
+
/* clear destruction flag */
|
|
52
|
+
this.closing = false
|
|
53
|
+
|
|
45
54
|
/* establish Kokoro */
|
|
46
55
|
const model = "onnx-community/Kokoro-82M-v1.0-ONNX"
|
|
47
56
|
const progressState = new Map<string, number>()
|
|
@@ -126,15 +135,19 @@ export default class SpeechFlowNodeT2AKokoro extends SpeechFlowNode {
|
|
|
126
135
|
decodeStrings: false,
|
|
127
136
|
highWaterMark: 1,
|
|
128
137
|
transform (chunk: SpeechFlowChunk, encoding, callback) {
|
|
129
|
-
if (
|
|
138
|
+
if (self.closing)
|
|
139
|
+
callback(new Error("stream already destroyed"))
|
|
140
|
+
else if (Buffer.isBuffer(chunk.payload))
|
|
130
141
|
callback(new Error("invalid chunk payload type"))
|
|
131
142
|
else {
|
|
132
143
|
text2speech(chunk.payload).then((buffer) => {
|
|
144
|
+
if (self.closing)
|
|
145
|
+
throw new Error("stream destroyed during processing")
|
|
133
146
|
self.log("info", `Kokoro: received audio (buffer length: ${buffer.byteLength})`)
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
this.push(
|
|
147
|
+
const chunkNew = chunk.clone()
|
|
148
|
+
chunkNew.type = "audio"
|
|
149
|
+
chunkNew.payload = buffer
|
|
150
|
+
this.push(chunkNew)
|
|
138
151
|
callback()
|
|
139
152
|
}).catch((error: unknown) => {
|
|
140
153
|
callback(util.ensureError(error))
|
|
@@ -149,6 +162,9 @@ export default class SpeechFlowNodeT2AKokoro extends SpeechFlowNode {
|
|
|
149
162
|
|
|
150
163
|
/* close node */
|
|
151
164
|
async close () {
|
|
165
|
+
/* indicate closing */
|
|
166
|
+
this.closing = true
|
|
167
|
+
|
|
152
168
|
/* shutdown stream */
|
|
153
169
|
if (this.stream !== null) {
|
|
154
170
|
await util.destroyStream(this.stream)
|
|
@@ -19,6 +19,9 @@ export default class SpeechFlowNodeX2XFilter extends SpeechFlowNode {
|
|
|
19
19
|
/* cached regular expression instance */
|
|
20
20
|
private cachedRegExp = new util.CachedRegExp()
|
|
21
21
|
|
|
22
|
+
/* internal state */
|
|
23
|
+
private closing = false
|
|
24
|
+
|
|
22
25
|
/* construct node */
|
|
23
26
|
constructor (id: string, cfg: { [ id: string ]: any }, opts: { [ id: string ]: any }, args: any[]) {
|
|
24
27
|
super(id, cfg, opts, args)
|
|
@@ -39,17 +42,20 @@ export default class SpeechFlowNodeX2XFilter extends SpeechFlowNode {
|
|
|
39
42
|
|
|
40
43
|
/* open node */
|
|
41
44
|
async open () {
|
|
45
|
+
/* clear destruction flag */
|
|
46
|
+
this.closing = false
|
|
47
|
+
|
|
42
48
|
/* helper function for comparing two values */
|
|
43
49
|
const comparison = (val1: any, op: string, val2: any) => {
|
|
44
50
|
if (op === "==" || op === "!=") {
|
|
45
51
|
/* equal comparison */
|
|
46
|
-
const str1 = (typeof val1 === "string" ? val1 : val1.toString())
|
|
47
|
-
const str2 = (typeof val2 === "string" ? val2 : val2.toString())
|
|
52
|
+
const str1 = (typeof val1 === "string" ? val1 : val1.toString())
|
|
53
|
+
const str2 = (typeof val2 === "string" ? val2 : val2.toString())
|
|
48
54
|
return (op === "==" ? (str1 === str2) : (str1 !== str2))
|
|
49
55
|
}
|
|
50
56
|
else if (op === "~~" || op === "!~") {
|
|
51
57
|
/* regular expression comparison */
|
|
52
|
-
const str = (typeof val1 === "string" ? val1 : val1.toString())
|
|
58
|
+
const str = (typeof val1 === "string" ? val1 : val1.toString())
|
|
53
59
|
const regexp = (
|
|
54
60
|
val2 instanceof RegExp ?
|
|
55
61
|
val2 :
|
|
@@ -93,6 +99,10 @@ export default class SpeechFlowNodeX2XFilter extends SpeechFlowNode {
|
|
|
93
99
|
decodeStrings: false,
|
|
94
100
|
highWaterMark: 1,
|
|
95
101
|
transform (chunk: SpeechFlowChunk, encoding, callback) {
|
|
102
|
+
if (self.closing) {
|
|
103
|
+
callback(new Error("stream already destroyed"))
|
|
104
|
+
return
|
|
105
|
+
}
|
|
96
106
|
let val1: any
|
|
97
107
|
const val2: any = self.params.val
|
|
98
108
|
const m = self.params.var.match(/^meta:(.+)$/)
|
|
@@ -124,6 +134,9 @@ export default class SpeechFlowNodeX2XFilter extends SpeechFlowNode {
|
|
|
124
134
|
|
|
125
135
|
/* close node */
|
|
126
136
|
async close () {
|
|
137
|
+
/* indicate closing */
|
|
138
|
+
this.closing = true
|
|
139
|
+
|
|
127
140
|
/* shutdown stream */
|
|
128
141
|
if (this.stream !== null) {
|
|
129
142
|
await util.destroyStream(this.stream)
|