speechflow 1.2.3 → 1.2.4

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 CHANGED
@@ -2,6 +2,11 @@
2
2
  ChangeLog
3
3
  =========
4
4
 
5
+ 1.2.4 (2025-07-21)
6
+ ------------------
7
+
8
+ - CLEANUP: improve logging outputs
9
+
5
10
  1.2.3 (2025-07-21)
6
11
  ------------------
7
12
 
package/README.md CHANGED
@@ -200,9 +200,9 @@ They can also be found in the sample [speechflow.yaml](./etc/speechflow.yaml) fi
200
200
  password: env.SPEECHFLOW_MQTT_PASS,
201
201
  topicWrite: "stream/studio/sender"),
202
202
  {
203
- filter(type: "text", var: "meta:gender", op: "==", val: "male") |
203
+ filter(name: "S2T-male", type: "text", var: "meta:gender", op: "==", val: "male") |
204
204
  elevenlabs(voice: "Mark", optimize: "latency", speed: 1.05, language: "en"),
205
- filter(type: "text", var: "meta:gender", op: "==", val: "female") |
205
+ filter(name: "S2T-female", type: "text", var: "meta:gender", op: "==", val: "female") |
206
206
  elevenlabs(voice: "Brittney", optimize: "latency", speed: 1.05, language: "en")
207
207
  } | {
208
208
  wav(mode: "encode") |
@@ -564,9 +564,10 @@ First a short overview of the available processing nodes:
564
564
  | Parameter | Position | Default | Requirement |
565
565
  | ------------ | --------- | -------- | --------------------- |
566
566
  | **type** | 0 | "audio" | `/^(?:audio\|text)$/` |
567
- | **var** | 1 | "" | `/^(?:meta:.+|payload:(?:length|text)|time:(?:start|end))$/` |
568
- | **op** | 2 | "==" | `/^(?:<|<=|==|!=|~~|!~|>=|>)$/` |
569
- | **val** | 3 | "" | `/^.*$/` |
567
+ | **name** | 1 | "filter" | `/^.+$/` |
568
+ | **var** | 2 | "" | `/^(?:meta:.+|payload:(?:length|text)|time:(?:start|end))$/` |
569
+ | **op** | 3 | "==" | `/^(?:<|<=|==|!=|~~|!~|>=|>)$/` |
570
+ | **val** | 4 | "" | `/^.*$/` |
570
571
 
571
572
  - Node: **trace**<br/>
572
573
  Purpose: **data flow tracing**<br/>
@@ -22,9 +22,10 @@ class SpeechFlowNodeFilter extends speechflow_node_1.default {
22
22
  /* declare node configuration parameters */
23
23
  this.configure({
24
24
  type: { type: "string", pos: 0, val: "audio", match: /^(?:audio|text)$/ },
25
- var: { type: "string", pos: 1, val: "", match: /^(?:meta:.+|payload:(?:length|text)|time:(?:start|end))$/ },
26
- op: { type: "string", pos: 2, val: "==", match: /^(?:<|<=|==|!=|~~|!~|>=|>)$/ },
27
- val: { type: "string", pos: 3, val: "", match: /^.*$/ }
25
+ name: { type: "string", pos: 1, val: "filter", match: /^.+?$/ },
26
+ var: { type: "string", pos: 2, val: "", match: /^(?:meta:.+|payload:(?:length|text)|time:(?:start|end))$/ },
27
+ op: { type: "string", pos: 3, val: "==", match: /^(?:<|<=|==|!=|~~|!~|>=|>)$/ },
28
+ val: { type: "string", pos: 4, val: "", match: /^.*$/ }
28
29
  });
29
30
  /* declare node input/output format */
30
31
  this.input = this.params.type;
@@ -91,8 +92,10 @@ class SpeechFlowNodeFilter extends speechflow_node_1.default {
91
92
  val1 = chunk.timestampStart.toMillis();
92
93
  else if (self.params.key === "time:end")
93
94
  val1 = chunk.timestampEnd.toMillis();
94
- if (comparison(val1, self.params.op, val2))
95
+ if (comparison(val1, self.params.op, val2)) {
96
+ self.log("info", `[${self.params.name}]: passing through ${chunk.type} chunk`);
95
97
  this.push(chunk);
98
+ }
96
99
  callback();
97
100
  },
98
101
  final(callback) {
@@ -1 +1 @@
1
- {"version":3,"file":"speechflow-node-x2x-filter.js","sourceRoot":"","sources":["../src/speechflow-node-x2x-filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speechflow-node-x2x-filter.js","sourceRoot":"","sources":["../src/speechflow-node-x2x-filter.ts"],"names":[],"mappings":"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"}
@@ -87,9 +87,9 @@ studio-translation: |
87
87
  password: env.SPEECHFLOW_MQTT_PASS,
88
88
  topicWrite: "stream/studio/sender"),
89
89
  {
90
- filter(type: "text", var: "meta:gender", op: "==", val: "male") |
90
+ filter(name: "S2T-male", type: "text", var: "meta:gender", op: "==", val: "male") |
91
91
  elevenlabs(voice: "Mark", optimize: "latency", speed: 1.05, language: "en"),
92
- filter(type: "text", var: "meta:gender", op: "==", val: "female") |
92
+ filter(name: "S2T-female", type: "text", var: "meta:gender", op: "==", val: "female") |
93
93
  elevenlabs(voice: "Brittney", optimize: "latency", speed: 1.05, language: "en")
94
94
  } | {
95
95
  wav(mode: "encode") |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "speechflow",
3
- "version": "1.2.3",
4
- "x-stdver": "1.2.0-GA",
3
+ "version": "1.2.4",
4
+ "x-stdver": "1.2.4-GA",
5
5
  "x-release": "2025-07-21",
6
6
  "homepage": "https://github.com/rse/speechflow",
7
7
  "description": "Speech Processing Flow Graph",
@@ -133,7 +133,6 @@ export default class SpeechFlowNodeElevenlabs extends SpeechFlowNode {
133
133
  if (Buffer.isBuffer(chunk.payload))
134
134
  callback(new Error("invalid chunk payload type"))
135
135
  else {
136
- log("info", `ElevenLabs: send text: ${JSON.stringify(chunk.payload)}`)
137
136
  speechStream(chunk.payload).then((stream) => {
138
137
  getStreamAsBuffer(stream).then((buffer) => {
139
138
  const bufferResampled = resampler.processChunk(buffer)
@@ -21,10 +21,11 @@ export default class SpeechFlowNodeFilter extends SpeechFlowNode {
21
21
 
22
22
  /* declare node configuration parameters */
23
23
  this.configure({
24
- type: { type: "string", pos: 0, val: "audio", match: /^(?:audio|text)$/ },
25
- var: { type: "string", pos: 1, val: "", match: /^(?:meta:.+|payload:(?:length|text)|time:(?:start|end))$/ },
26
- op: { type: "string", pos: 2, val: "==", match: /^(?:<|<=|==|!=|~~|!~|>=|>)$/ },
27
- val: { type: "string", pos: 3, val: "", match: /^.*$/ }
24
+ type: { type: "string", pos: 0, val: "audio", match: /^(?:audio|text)$/ },
25
+ name: { type: "string", pos: 1, val: "filter", match: /^.+?$/ },
26
+ var: { type: "string", pos: 2, val: "", match: /^(?:meta:.+|payload:(?:length|text)|time:(?:start|end))$/ },
27
+ op: { type: "string", pos: 3, val: "==", match: /^(?:<|<=|==|!=|~~|!~|>=|>)$/ },
28
+ val: { type: "string", pos: 4, val: "", match: /^.*$/ }
28
29
  })
29
30
 
30
31
  /* declare node input/output format */
@@ -101,8 +102,10 @@ export default class SpeechFlowNodeFilter extends SpeechFlowNode {
101
102
  val1 = chunk.timestampStart.toMillis()
102
103
  else if (self.params.key === "time:end")
103
104
  val1 = chunk.timestampEnd.toMillis()
104
- if (comparison(val1, self.params.op, val2))
105
+ if (comparison(val1, self.params.op, val2)) {
106
+ self.log("info", `[${self.params.name}]: passing through ${chunk.type} chunk`)
105
107
  this.push(chunk)
108
+ }
106
109
  callback()
107
110
  },
108
111
  final (callback) {