speechflow 1.7.1 → 2.0.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 (177) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +388 -120
  3. package/etc/claude.md +5 -5
  4. package/etc/speechflow.yaml +2 -2
  5. package/package.json +3 -3
  6. package/speechflow-cli/dst/speechflow-main-api.js.map +1 -1
  7. package/speechflow-cli/dst/speechflow-main-cli.js +1 -0
  8. package/speechflow-cli/dst/speechflow-main-cli.js.map +1 -1
  9. package/speechflow-cli/dst/speechflow-main-graph.d.ts +1 -0
  10. package/speechflow-cli/dst/speechflow-main-graph.js +30 -9
  11. package/speechflow-cli/dst/speechflow-main-graph.js.map +1 -1
  12. package/speechflow-cli/dst/speechflow-main-nodes.js +1 -0
  13. package/speechflow-cli/dst/speechflow-main-nodes.js.map +1 -1
  14. package/speechflow-cli/dst/speechflow-node-a2a-compressor-wt.js +1 -0
  15. package/speechflow-cli/dst/speechflow-node-a2a-compressor-wt.js.map +1 -1
  16. package/speechflow-cli/dst/speechflow-node-a2a-compressor.js +7 -9
  17. package/speechflow-cli/dst/speechflow-node-a2a-compressor.js.map +1 -1
  18. package/speechflow-cli/dst/speechflow-node-a2a-expander-wt.js +1 -0
  19. package/speechflow-cli/dst/speechflow-node-a2a-expander-wt.js.map +1 -1
  20. package/speechflow-cli/dst/speechflow-node-a2a-expander.js +8 -9
  21. package/speechflow-cli/dst/speechflow-node-a2a-expander.js.map +1 -1
  22. package/speechflow-cli/dst/speechflow-node-a2a-filler.js +2 -0
  23. package/speechflow-cli/dst/speechflow-node-a2a-filler.js.map +1 -1
  24. package/speechflow-cli/dst/speechflow-node-a2a-gender.js +1 -1
  25. package/speechflow-cli/dst/speechflow-node-a2a-gender.js.map +1 -1
  26. package/speechflow-cli/dst/speechflow-node-a2a-meter.js +1 -1
  27. package/speechflow-cli/dst/speechflow-node-a2a-pitch.js +11 -9
  28. package/speechflow-cli/dst/speechflow-node-a2a-pitch.js.map +1 -1
  29. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise-wt.js +1 -0
  30. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise-wt.js.map +1 -1
  31. package/speechflow-cli/dst/speechflow-node-a2a-rnnoise.js.map +1 -1
  32. package/speechflow-cli/dst/speechflow-node-a2a-speex.js +4 -2
  33. package/speechflow-cli/dst/speechflow-node-a2a-speex.js.map +1 -1
  34. package/speechflow-cli/dst/speechflow-node-a2a-vad.js +19 -22
  35. package/speechflow-cli/dst/speechflow-node-a2a-vad.js.map +1 -1
  36. package/speechflow-cli/dst/speechflow-node-a2a-wav.js +31 -4
  37. package/speechflow-cli/dst/speechflow-node-a2a-wav.js.map +1 -1
  38. package/speechflow-cli/dst/speechflow-node-a2t-amazon.d.ts +0 -1
  39. package/speechflow-cli/dst/speechflow-node-a2t-amazon.js +2 -11
  40. package/speechflow-cli/dst/speechflow-node-a2t-amazon.js.map +1 -1
  41. package/speechflow-cli/dst/speechflow-node-a2t-google.d.ts +16 -0
  42. package/speechflow-cli/dst/speechflow-node-a2t-google.js +314 -0
  43. package/speechflow-cli/dst/speechflow-node-a2t-google.js.map +1 -0
  44. package/speechflow-cli/dst/speechflow-node-a2t-openai.js +6 -1
  45. package/speechflow-cli/dst/speechflow-node-a2t-openai.js.map +1 -1
  46. package/speechflow-cli/dst/speechflow-node-t2a-amazon.d.ts +1 -1
  47. package/speechflow-cli/dst/speechflow-node-t2a-amazon.js +27 -7
  48. package/speechflow-cli/dst/speechflow-node-t2a-amazon.js.map +1 -1
  49. package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.d.ts +1 -1
  50. package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.js +5 -3
  51. package/speechflow-cli/dst/speechflow-node-t2a-elevenlabs.js.map +1 -1
  52. package/speechflow-cli/dst/speechflow-node-t2a-google.d.ts +15 -0
  53. package/speechflow-cli/dst/speechflow-node-t2a-google.js +215 -0
  54. package/speechflow-cli/dst/speechflow-node-t2a-google.js.map +1 -0
  55. package/speechflow-cli/dst/speechflow-node-t2a-kokoro.d.ts +1 -1
  56. package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js +27 -6
  57. package/speechflow-cli/dst/speechflow-node-t2a-kokoro.js.map +1 -1
  58. package/speechflow-cli/dst/speechflow-node-t2a-openai.d.ts +15 -0
  59. package/speechflow-cli/dst/speechflow-node-t2a-openai.js +192 -0
  60. package/speechflow-cli/dst/speechflow-node-t2a-openai.js.map +1 -0
  61. package/speechflow-cli/dst/speechflow-node-t2a-supertonic.d.ts +17 -0
  62. package/speechflow-cli/dst/speechflow-node-t2a-supertonic.js +619 -0
  63. package/speechflow-cli/dst/speechflow-node-t2a-supertonic.js.map +1 -0
  64. package/speechflow-cli/dst/speechflow-node-t2t-amazon.js +0 -2
  65. package/speechflow-cli/dst/speechflow-node-t2t-amazon.js.map +1 -1
  66. package/speechflow-cli/dst/speechflow-node-t2t-deepl.js.map +1 -1
  67. package/speechflow-cli/dst/speechflow-node-t2t-google.js.map +1 -1
  68. package/speechflow-cli/dst/{speechflow-node-t2t-transformers.d.ts → speechflow-node-t2t-opus.d.ts} +1 -3
  69. package/speechflow-cli/dst/speechflow-node-t2t-opus.js +161 -0
  70. package/speechflow-cli/dst/speechflow-node-t2t-opus.js.map +1 -0
  71. package/speechflow-cli/dst/speechflow-node-t2t-profanity.d.ts +11 -0
  72. package/speechflow-cli/dst/speechflow-node-t2t-profanity.js +118 -0
  73. package/speechflow-cli/dst/speechflow-node-t2t-profanity.js.map +1 -0
  74. package/speechflow-cli/dst/speechflow-node-t2t-punctuation.d.ts +13 -0
  75. package/speechflow-cli/dst/speechflow-node-t2t-punctuation.js +220 -0
  76. package/speechflow-cli/dst/speechflow-node-t2t-punctuation.js.map +1 -0
  77. package/speechflow-cli/dst/{speechflow-node-t2t-openai.d.ts → speechflow-node-t2t-spellcheck.d.ts} +2 -2
  78. package/speechflow-cli/dst/{speechflow-node-t2t-openai.js → speechflow-node-t2t-spellcheck.js} +48 -100
  79. package/speechflow-cli/dst/speechflow-node-t2t-spellcheck.js.map +1 -0
  80. package/speechflow-cli/dst/speechflow-node-t2t-subtitle.js +8 -8
  81. package/speechflow-cli/dst/speechflow-node-t2t-subtitle.js.map +1 -1
  82. package/speechflow-cli/dst/speechflow-node-t2t-summary.d.ts +16 -0
  83. package/speechflow-cli/dst/speechflow-node-t2t-summary.js +241 -0
  84. package/speechflow-cli/dst/speechflow-node-t2t-summary.js.map +1 -0
  85. package/speechflow-cli/dst/{speechflow-node-t2t-ollama.d.ts → speechflow-node-t2t-translate.d.ts} +2 -2
  86. package/speechflow-cli/dst/{speechflow-node-t2t-transformers.js → speechflow-node-t2t-translate.js} +53 -115
  87. package/speechflow-cli/dst/speechflow-node-t2t-translate.js.map +1 -0
  88. package/speechflow-cli/dst/speechflow-node-x2x-filter.js +2 -0
  89. package/speechflow-cli/dst/speechflow-node-x2x-filter.js.map +1 -1
  90. package/speechflow-cli/dst/speechflow-node-xio-exec.d.ts +12 -0
  91. package/speechflow-cli/dst/speechflow-node-xio-exec.js +224 -0
  92. package/speechflow-cli/dst/speechflow-node-xio-exec.js.map +1 -0
  93. package/speechflow-cli/dst/speechflow-node-xio-file.d.ts +1 -0
  94. package/speechflow-cli/dst/speechflow-node-xio-file.js +78 -67
  95. package/speechflow-cli/dst/speechflow-node-xio-file.js.map +1 -1
  96. package/speechflow-cli/dst/speechflow-node-xio-mqtt.js.map +1 -1
  97. package/speechflow-cli/dst/speechflow-node-xio-vban.d.ts +17 -0
  98. package/speechflow-cli/dst/speechflow-node-xio-vban.js +330 -0
  99. package/speechflow-cli/dst/speechflow-node-xio-vban.js.map +1 -0
  100. package/speechflow-cli/dst/speechflow-node-xio-webrtc.d.ts +39 -0
  101. package/speechflow-cli/dst/speechflow-node-xio-webrtc.js +502 -0
  102. package/speechflow-cli/dst/speechflow-node-xio-webrtc.js.map +1 -0
  103. package/speechflow-cli/dst/speechflow-node-xio-websocket.js +9 -9
  104. package/speechflow-cli/dst/speechflow-node-xio-websocket.js.map +1 -1
  105. package/speechflow-cli/dst/speechflow-util-audio.js +8 -5
  106. package/speechflow-cli/dst/speechflow-util-audio.js.map +1 -1
  107. package/speechflow-cli/dst/speechflow-util-error.d.ts +1 -0
  108. package/speechflow-cli/dst/speechflow-util-error.js +5 -0
  109. package/speechflow-cli/dst/speechflow-util-error.js.map +1 -1
  110. package/speechflow-cli/dst/speechflow-util-llm.d.ts +35 -0
  111. package/speechflow-cli/dst/speechflow-util-llm.js +363 -0
  112. package/speechflow-cli/dst/speechflow-util-llm.js.map +1 -0
  113. package/speechflow-cli/dst/speechflow-util-queue.js +2 -1
  114. package/speechflow-cli/dst/speechflow-util-queue.js.map +1 -1
  115. package/speechflow-cli/dst/speechflow-util.d.ts +1 -0
  116. package/speechflow-cli/dst/speechflow-util.js +2 -0
  117. package/speechflow-cli/dst/speechflow-util.js.map +1 -1
  118. package/speechflow-cli/etc/oxlint.jsonc +2 -1
  119. package/speechflow-cli/package.json +35 -18
  120. package/speechflow-cli/src/lib.d.ts +5 -0
  121. package/speechflow-cli/src/speechflow-main-api.ts +16 -16
  122. package/speechflow-cli/src/speechflow-main-cli.ts +1 -0
  123. package/speechflow-cli/src/speechflow-main-graph.ts +38 -14
  124. package/speechflow-cli/src/speechflow-main-nodes.ts +1 -0
  125. package/speechflow-cli/src/speechflow-node-a2a-compressor-wt.ts +1 -0
  126. package/speechflow-cli/src/speechflow-node-a2a-compressor.ts +8 -10
  127. package/speechflow-cli/src/speechflow-node-a2a-expander-wt.ts +1 -0
  128. package/speechflow-cli/src/speechflow-node-a2a-expander.ts +9 -10
  129. package/speechflow-cli/src/speechflow-node-a2a-filler.ts +2 -0
  130. package/speechflow-cli/src/speechflow-node-a2a-gender.ts +3 -3
  131. package/speechflow-cli/src/speechflow-node-a2a-meter.ts +2 -2
  132. package/speechflow-cli/src/speechflow-node-a2a-pitch.ts +11 -9
  133. package/speechflow-cli/src/speechflow-node-a2a-rnnoise-wt.ts +1 -0
  134. package/speechflow-cli/src/speechflow-node-a2a-rnnoise.ts +1 -1
  135. package/speechflow-cli/src/speechflow-node-a2a-speex.ts +5 -3
  136. package/speechflow-cli/src/speechflow-node-a2a-vad.ts +20 -23
  137. package/speechflow-cli/src/speechflow-node-a2a-wav.ts +31 -4
  138. package/speechflow-cli/src/speechflow-node-a2t-amazon.ts +6 -18
  139. package/speechflow-cli/src/speechflow-node-a2t-google.ts +315 -0
  140. package/speechflow-cli/src/speechflow-node-a2t-openai.ts +12 -7
  141. package/speechflow-cli/src/speechflow-node-t2a-amazon.ts +32 -10
  142. package/speechflow-cli/src/speechflow-node-t2a-elevenlabs.ts +6 -4
  143. package/speechflow-cli/src/speechflow-node-t2a-google.ts +203 -0
  144. package/speechflow-cli/src/speechflow-node-t2a-kokoro.ts +33 -10
  145. package/speechflow-cli/src/speechflow-node-t2a-openai.ts +176 -0
  146. package/speechflow-cli/src/speechflow-node-t2a-supertonic.ts +710 -0
  147. package/speechflow-cli/src/speechflow-node-t2t-amazon.ts +3 -4
  148. package/speechflow-cli/src/speechflow-node-t2t-deepl.ts +2 -2
  149. package/speechflow-cli/src/speechflow-node-t2t-google.ts +1 -1
  150. package/speechflow-cli/src/speechflow-node-t2t-opus.ts +137 -0
  151. package/speechflow-cli/src/speechflow-node-t2t-profanity.ts +93 -0
  152. package/speechflow-cli/src/speechflow-node-t2t-punctuation.ts +201 -0
  153. package/speechflow-cli/src/speechflow-node-t2t-spellcheck.ts +188 -0
  154. package/speechflow-cli/src/speechflow-node-t2t-subtitle.ts +8 -8
  155. package/speechflow-cli/src/speechflow-node-t2t-summary.ts +229 -0
  156. package/speechflow-cli/src/speechflow-node-t2t-translate.ts +181 -0
  157. package/speechflow-cli/src/speechflow-node-x2x-filter.ts +2 -0
  158. package/speechflow-cli/src/speechflow-node-xio-exec.ts +211 -0
  159. package/speechflow-cli/src/speechflow-node-xio-file.ts +91 -80
  160. package/speechflow-cli/src/speechflow-node-xio-mqtt.ts +2 -2
  161. package/speechflow-cli/src/speechflow-node-xio-vban.ts +325 -0
  162. package/speechflow-cli/src/speechflow-node-xio-webrtc.ts +535 -0
  163. package/speechflow-cli/src/speechflow-node-xio-websocket.ts +9 -9
  164. package/speechflow-cli/src/speechflow-util-audio.ts +10 -5
  165. package/speechflow-cli/src/speechflow-util-error.ts +9 -0
  166. package/speechflow-cli/src/speechflow-util-llm.ts +367 -0
  167. package/speechflow-cli/src/speechflow-util-queue.ts +3 -3
  168. package/speechflow-cli/src/speechflow-util.ts +2 -0
  169. package/speechflow-ui-db/package.json +9 -9
  170. package/speechflow-ui-st/package.json +9 -9
  171. package/speechflow-cli/dst/speechflow-node-t2t-ollama.js +0 -293
  172. package/speechflow-cli/dst/speechflow-node-t2t-ollama.js.map +0 -1
  173. package/speechflow-cli/dst/speechflow-node-t2t-openai.js.map +0 -1
  174. package/speechflow-cli/dst/speechflow-node-t2t-transformers.js.map +0 -1
  175. package/speechflow-cli/src/speechflow-node-t2t-ollama.ts +0 -281
  176. package/speechflow-cli/src/speechflow-node-t2t-openai.ts +0 -247
  177. package/speechflow-cli/src/speechflow-node-t2t-transformers.ts +0 -247
@@ -0,0 +1,220 @@
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
+ /* internal dependencies */
47
+ const speechflow_node_1 = __importDefault(require("./speechflow-node"));
48
+ const util = __importStar(require("./speechflow-util"));
49
+ const speechflow_util_llm_1 = require("./speechflow-util-llm");
50
+ /* SpeechFlow node for text-to-text punctuation restoration */
51
+ class SpeechFlowNodeT2TPunctuation extends speechflow_node_1.default {
52
+ /* declare official node name */
53
+ static name = "t2t-punctuation";
54
+ /* internal state */
55
+ llm = null;
56
+ /* internal LLM setup */
57
+ setup = {
58
+ /* English (EN) punctuation restoration */
59
+ "en": {
60
+ systemPrompt: "You are a punctuation restoration specialist for English.\n" +
61
+ "Your task is to add missing punctuation to unpunctuated text.\n" +
62
+ "Output only the punctuated text.\n" +
63
+ "Do NOT use markdown.\n" +
64
+ "Do NOT give any explanations.\n" +
65
+ "Do NOT give any introduction.\n" +
66
+ "Do NOT give any comments.\n" +
67
+ "Do NOT give any preamble.\n" +
68
+ "Do NOT give any prolog.\n" +
69
+ "Do NOT give any epilog.\n" +
70
+ "Do NOT change the words.\n" +
71
+ "Do NOT add or remove words.\n" +
72
+ "Do NOT fix spelling errors.\n" +
73
+ "Do NOT change the grammar.\n" +
74
+ "Do NOT use synonyms.\n" +
75
+ "Keep all original words exactly as they are.\n" +
76
+ "Add periods at sentence endings.\n" +
77
+ "Add commas where appropriate.\n" +
78
+ "Add question marks for questions.\n" +
79
+ "Add exclamation marks where appropriate.\n" +
80
+ "Add colons and semicolons where appropriate.\n" +
81
+ "Capitalize first letters of sentences.\n" +
82
+ "The text you have to punctuate is:\n",
83
+ chat: [
84
+ { role: "user", content: "hello how are you today" },
85
+ { role: "assistant", content: "Hello, how are you today?" },
86
+ { role: "user", content: "i went to the store and bought some milk eggs and bread" },
87
+ { role: "assistant", content: "I went to the store and bought some milk, eggs, and bread." },
88
+ { role: "user", content: "what time is it i need to leave soon" },
89
+ { role: "assistant", content: "What time is it? I need to leave soon." },
90
+ { role: "user", content: "thats amazing i cant believe it worked" },
91
+ { role: "assistant", content: "That's amazing! I can't believe it worked!" }
92
+ ]
93
+ },
94
+ /* German (DE) punctuation restoration */
95
+ "de": {
96
+ systemPrompt: "Du bist ein Spezialist für Zeichensetzung im Deutschen.\n" +
97
+ "Deine Aufgabe ist es, fehlende Satzzeichen in unpunktierten Text einzufügen.\n" +
98
+ "Gib nur den punktierten Text aus.\n" +
99
+ "Benutze KEIN Markdown.\n" +
100
+ "Gib KEINE Erklärungen.\n" +
101
+ "Gib KEINE Einleitung.\n" +
102
+ "Gib KEINE Kommentare.\n" +
103
+ "Gib KEINE Präambel.\n" +
104
+ "Gib KEINEN Prolog.\n" +
105
+ "Gib KEINEN Epilog.\n" +
106
+ "Ändere NICHT die Wörter.\n" +
107
+ "Füge KEINE Wörter hinzu oder entferne welche.\n" +
108
+ "Korrigiere KEINE Rechtschreibfehler.\n" +
109
+ "Ändere NICHT die Grammatik.\n" +
110
+ "Verwende KEINE Synonyme.\n" +
111
+ "Behalte alle ursprünglichen Wörter genau bei.\n" +
112
+ "Füge Punkte am Satzende ein.\n" +
113
+ "Füge Kommas an passenden Stellen ein.\n" +
114
+ "Füge Fragezeichen bei Fragen ein.\n" +
115
+ "Füge Ausrufezeichen an passenden Stellen ein.\n" +
116
+ "Füge Doppelpunkte und Semikolons an passenden Stellen ein.\n" +
117
+ "Großschreibe die ersten Buchstaben von Sätzen.\n" +
118
+ "Der von dir zu punktierende Text ist:\n",
119
+ chat: [
120
+ { role: "user", content: "hallo wie geht es dir heute" },
121
+ { role: "assistant", content: "Hallo, wie geht es dir heute?" },
122
+ { role: "user", content: "ich bin in den laden gegangen und habe milch eier und brot gekauft" },
123
+ { role: "assistant", content: "Ich bin in den Laden gegangen und habe Milch, Eier und Brot gekauft." },
124
+ { role: "user", content: "wie spät ist es ich muss bald los" },
125
+ { role: "assistant", content: "Wie spät ist es? Ich muss bald los." },
126
+ { role: "user", content: "das ist fantastisch ich kann nicht glauben dass es funktioniert hat" },
127
+ { role: "assistant", content: "Das ist fantastisch! Ich kann nicht glauben, dass es funktioniert hat!" }
128
+ ]
129
+ }
130
+ };
131
+ /* construct node */
132
+ constructor(id, cfg, opts, args) {
133
+ super(id, cfg, opts, args);
134
+ /* declare node configuration parameters */
135
+ this.configure({
136
+ provider: { type: "string", val: "ollama", match: /^(?:openai|anthropic|google|ollama|transformers)$/ },
137
+ api: { type: "string", val: "http://127.0.0.1:11434", match: /^https?:\/\/.+?(:\d+)?$/ },
138
+ model: { type: "string", val: "gemma3:4b-it-q4_K_M", match: /^.+$/ },
139
+ key: { type: "string", val: "", match: /^.*$/ },
140
+ lang: { type: "string", pos: 0, val: "en", match: /^(?:de|en)$/ }
141
+ });
142
+ /* tell effective mode */
143
+ this.log("info", `punctuation restoration for language "${this.params.lang}" ` +
144
+ `via ${this.params.provider} LLM (model: ${this.params.model})`);
145
+ /* declare node input/output format */
146
+ this.input = "text";
147
+ this.output = "text";
148
+ }
149
+ /* open node */
150
+ async open() {
151
+ /* instantiate LLM */
152
+ this.llm = new speechflow_util_llm_1.LLM({
153
+ provider: this.params.provider,
154
+ api: this.params.api,
155
+ model: this.params.model,
156
+ key: this.params.key,
157
+ temperature: 0.7,
158
+ topP: 0.5
159
+ });
160
+ this.llm.on("log", (level, message) => {
161
+ this.log(level, message);
162
+ });
163
+ await this.llm.open();
164
+ /* provide text-to-text punctuation restoration */
165
+ const llm = this.llm;
166
+ const punctuate = async (text) => {
167
+ const cfg = this.setup[this.params.lang];
168
+ if (!cfg)
169
+ throw new Error(`unsupported language: ${this.params.lang}`);
170
+ return llm.complete({
171
+ system: cfg.systemPrompt,
172
+ messages: cfg.chat,
173
+ prompt: text
174
+ });
175
+ };
176
+ /* establish a transform stream for punctuation restoration */
177
+ this.stream = new node_stream_1.default.Transform({
178
+ readableObjectMode: true,
179
+ writableObjectMode: true,
180
+ decodeStrings: false,
181
+ highWaterMark: 1,
182
+ transform(chunk, encoding, callback) {
183
+ if (Buffer.isBuffer(chunk.payload))
184
+ callback(new Error("invalid chunk payload type"));
185
+ else if (chunk.payload === "") {
186
+ this.push(chunk);
187
+ callback();
188
+ }
189
+ else {
190
+ punctuate(chunk.payload).then((payload) => {
191
+ const chunkNew = chunk.clone();
192
+ chunkNew.payload = payload;
193
+ this.push(chunkNew);
194
+ callback();
195
+ }).catch((error) => {
196
+ callback(util.ensureError(error));
197
+ });
198
+ }
199
+ },
200
+ final(callback) {
201
+ callback();
202
+ }
203
+ });
204
+ }
205
+ /* close node */
206
+ async close() {
207
+ /* shutdown stream */
208
+ if (this.stream !== null) {
209
+ await util.destroyStream(this.stream);
210
+ this.stream = null;
211
+ }
212
+ /* shutdown LLM */
213
+ if (this.llm !== null) {
214
+ await this.llm.close();
215
+ this.llm = null;
216
+ }
217
+ }
218
+ }
219
+ exports.default = SpeechFlowNodeT2TPunctuation;
220
+ //# sourceMappingURL=speechflow-node-t2t-punctuation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speechflow-node-t2t-punctuation.js","sourceRoot":"","sources":["../src/speechflow-node-t2t-punctuation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import SpeechFlowNode from "./speechflow-node";
2
- export default class SpeechFlowNodeT2TOpenAI extends SpeechFlowNode {
2
+ export default class SpeechFlowNodeT2TSpellcheck extends SpeechFlowNode {
3
3
  static name: string;
4
- private openai;
4
+ private llm;
5
5
  private setup;
6
6
  constructor(id: string, cfg: {
7
7
  [id: string]: any;
@@ -43,21 +43,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
44
  /* standard dependencies */
45
45
  const node_stream_1 = __importDefault(require("node:stream"));
46
- /* external dependencies */
47
- const openai_1 = __importDefault(require("openai"));
48
46
  /* internal dependencies */
49
47
  const speechflow_node_1 = __importDefault(require("./speechflow-node"));
50
48
  const util = __importStar(require("./speechflow-util"));
51
- /* SpeechFlow node for OpenAI/GPT text-to-text translation */
52
- class SpeechFlowNodeT2TOpenAI extends speechflow_node_1.default {
49
+ const speechflow_util_llm_1 = require("./speechflow-util-llm");
50
+ /* SpeechFlow node for LLM-based text-to-text spellchecking */
51
+ class SpeechFlowNodeT2TSpellcheck extends speechflow_node_1.default {
53
52
  /* declare official node name */
54
- static name = "t2t-openai";
53
+ static name = "t2t-spellcheck";
55
54
  /* internal state */
56
- openai = null;
55
+ llm = null;
57
56
  /* internal LLM setup */
58
57
  setup = {
59
- /* English (EN) spellchecking only */
60
- "en-en": {
58
+ /* English (EN) spellchecking */
59
+ "en": {
61
60
  systemPrompt: "You are a proofreader and spellchecker for English.\n" +
62
61
  "Output only the corrected text.\n" +
63
62
  "Do NOT use markdown.\n" +
@@ -85,15 +84,15 @@ class SpeechFlowNodeT2TOpenAI extends speechflow_node_1.default {
85
84
  { role: "assistant", content: "The life is awesome, but I'm hungry." }
86
85
  ]
87
86
  },
88
- /* German (DE) spellchecking only */
89
- "de-de": {
87
+ /* German (DE) spellchecking */
88
+ "de": {
90
89
  systemPrompt: "Du bist ein Korrekturleser und Rechtschreibprüfer für Deutsch.\n" +
91
90
  "Gib nur den korrigierten Text aus.\n" +
92
91
  "Benutze KEIN Markdown.\n" +
93
92
  "Gib KEINE Erklärungen.\n" +
94
93
  "Gib KEINE Einleitung.\n" +
95
94
  "Gib KEINE Kommentare.\n" +
96
- "Gib KEINE Preamble.\n" +
95
+ "Gib KEINE Präambel.\n" +
97
96
  "Gib KEINEN Prolog.\n" +
98
97
  "Gib KEINEN Epilog.\n" +
99
98
  "Ändere NICHT die Grammatik.\n" +
@@ -114,52 +113,6 @@ class SpeechFlowNodeT2TOpenAI extends speechflow_node_1.default {
114
113
  { role: "user", content: "Das Leben einfach großartig aber ich bin hungrig." },
115
114
  { role: "assistant", content: "Das Leben ist einfach großartig, aber ich bin hungrig." }
116
115
  ]
117
- },
118
- /* English (EN) to German (DE) translation */
119
- "en-de": {
120
- systemPrompt: "You are a translator.\n" +
121
- "Output only the requested text.\n" +
122
- "Do not use markdown.\n" +
123
- "Do not chat.\n" +
124
- "Do not show any explanations.\n" +
125
- "Do not show any introduction.\n" +
126
- "Do not show any preamble.\n" +
127
- "Do not show any prolog.\n" +
128
- "Do not show any epilog.\n" +
129
- "Get to the point.\n" +
130
- "Preserve the original meaning, tone, and nuance.\n" +
131
- "Directly translate text from English (EN) to fluent and natural German (DE) language.\n",
132
- chat: [
133
- { role: "user", content: "I love my wife." },
134
- { role: "assistant", content: "Ich liebe meine Frau." },
135
- { role: "user", content: "The weather is wonderful." },
136
- { role: "assistant", content: "Das Wetter ist wunderschön." },
137
- { role: "user", content: "The life is awesome." },
138
- { role: "assistant", content: "Das Leben ist einfach großartig." }
139
- ]
140
- },
141
- /* German (DE) to English (EN) translation */
142
- "de-en": {
143
- systemPrompt: "You are a translator.\n" +
144
- "Output only the requested text.\n" +
145
- "Do not use markdown.\n" +
146
- "Do not chat.\n" +
147
- "Do not show any explanations.\n" +
148
- "Do not show any introduction.\n" +
149
- "Do not show any preamble.\n" +
150
- "Do not show any prolog.\n" +
151
- "Do not show any epilog.\n" +
152
- "Get to the point.\n" +
153
- "Preserve the original meaning, tone, and nuance.\n" +
154
- "Directly translate text from German (DE) to fluent and natural English (EN) language.\n",
155
- chat: [
156
- { role: "user", content: "Ich liebe meine Frau." },
157
- { role: "assistant", content: "I love my wife." },
158
- { role: "user", content: "Das Wetter ist wunderschön." },
159
- { role: "assistant", content: "The weather is wonderful." },
160
- { role: "user", content: "Das Leben ist einfach großartig." },
161
- { role: "assistant", content: "The life is awesome." }
162
- ]
163
116
  }
164
117
  };
165
118
  /* construct node */
@@ -167,54 +120,47 @@ class SpeechFlowNodeT2TOpenAI extends speechflow_node_1.default {
167
120
  super(id, cfg, opts, args);
168
121
  /* declare node configuration parameters */
169
122
  this.configure({
170
- src: { type: "string", pos: 0, val: "de", match: /^(?:de|en)$/ },
171
- dst: { type: "string", pos: 1, val: "en", match: /^(?:de|en)$/ },
172
- key: { type: "string", val: process.env.SPEECHFLOW_OPENAI_KEY, match: /^.+$/ },
173
- api: { type: "string", val: "https://api.openai.com/v1", match: /^https?:\/\/.+/ },
174
- model: { type: "string", val: "gpt-5-mini", match: /^.+$/ }
123
+ lang: { type: "string", pos: 0, val: "en", match: /^(?:de|en)$/ },
124
+ provider: { type: "string", val: "ollama", match: /^(?:openai|anthropic|google|ollama|transformers)$/ },
125
+ api: { type: "string", val: "http://127.0.0.1:11434", match: /^https?:\/\/.+?(:\d+)?$/ },
126
+ model: { type: "string", val: "gemma3:4b-it-q4_K_M", match: /^.+$/ },
127
+ key: { type: "string", val: "", match: /^.*$/ }
175
128
  });
176
129
  /* tell effective mode */
177
- if (this.params.src === this.params.dst)
178
- this.log("info", `OpenAI: operation mode: spellchecking for language "${this.params.src}"`);
179
- else
180
- this.log("info", `OpenAI: operation mode: translation from language "${this.params.src}"` +
181
- ` to language "${this.params.dst}"`);
130
+ this.log("info", `spellchecking language "${this.params.lang}" ` +
131
+ `via ${this.params.provider} LLM (model: ${this.params.model})`);
182
132
  /* declare node input/output format */
183
133
  this.input = "text";
184
134
  this.output = "text";
185
135
  }
186
136
  /* open node */
187
137
  async open() {
188
- /* validate API key */
189
- if (!this.params.key)
190
- throw new Error("OpenAI API key is required");
191
- /* instantiate OpenAI API */
192
- this.openai = new openai_1.default({
193
- baseURL: this.params.api,
194
- apiKey: this.params.key,
195
- timeout: 30000
138
+ /* instantiate LLM */
139
+ this.llm = new speechflow_util_llm_1.LLM({
140
+ provider: this.params.provider,
141
+ api: this.params.api,
142
+ model: this.params.model,
143
+ key: this.params.key,
144
+ temperature: 0.7,
145
+ topP: 0.5
196
146
  });
197
- /* provide text-to-text translation */
198
- const translate = async (text) => {
199
- const key = `${this.params.src}-${this.params.dst}`;
200
- const cfg = this.setup[key];
201
- if (!this.openai)
202
- throw new Error("OpenAI client not available");
203
- const completion = await this.openai.chat.completions.create({
204
- model: this.params.model,
205
- temperature: this.params.model.endsWith("-mini") ? 1.0 : 0.7,
206
- messages: [
207
- { role: "system", content: cfg.systemPrompt },
208
- ...cfg.chat,
209
- { role: "user", content: text }
210
- ]
147
+ this.llm.on("log", (level, message) => {
148
+ this.log(level, message);
149
+ });
150
+ await this.llm.open();
151
+ /* provide text-to-text spellchecking */
152
+ const llm = this.llm;
153
+ const spellcheck = async (text) => {
154
+ const cfg = this.setup[this.params.lang];
155
+ if (!cfg)
156
+ throw new Error(`unsupported language: ${this.params.lang}`);
157
+ return llm.complete({
158
+ system: cfg.systemPrompt,
159
+ messages: cfg.chat,
160
+ prompt: text
211
161
  });
212
- const content = completion?.choices?.[0]?.message?.content;
213
- if (!content)
214
- throw new Error("OpenAI API returned empty content");
215
- return content;
216
162
  };
217
- /* establish a duplex stream and connect it to OpenAI */
163
+ /* establish a transform stream and connect it to LLM */
218
164
  this.stream = new node_stream_1.default.Transform({
219
165
  readableObjectMode: true,
220
166
  writableObjectMode: true,
@@ -228,7 +174,7 @@ class SpeechFlowNodeT2TOpenAI extends speechflow_node_1.default {
228
174
  callback();
229
175
  }
230
176
  else {
231
- translate(chunk.payload).then((payload) => {
177
+ spellcheck(chunk.payload).then((payload) => {
232
178
  const chunkNew = chunk.clone();
233
179
  chunkNew.payload = payload;
234
180
  this.push(chunkNew);
@@ -250,10 +196,12 @@ class SpeechFlowNodeT2TOpenAI extends speechflow_node_1.default {
250
196
  await util.destroyStream(this.stream);
251
197
  this.stream = null;
252
198
  }
253
- /* shutdown OpenAI */
254
- if (this.openai !== null)
255
- this.openai = null;
199
+ /* shutdown LLM */
200
+ if (this.llm !== null) {
201
+ await this.llm.close();
202
+ this.llm = null;
203
+ }
256
204
  }
257
205
  }
258
- exports.default = SpeechFlowNodeT2TOpenAI;
259
- //# sourceMappingURL=speechflow-node-t2t-openai.js.map
206
+ exports.default = SpeechFlowNodeT2TSpellcheck;
207
+ //# sourceMappingURL=speechflow-node-t2t-spellcheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speechflow-node-t2t-spellcheck.js","sourceRoot":"","sources":["../src/speechflow-node-t2t-spellcheck.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ const hapi_plugin_websocket_1 = __importDefault(require("hapi-plugin-websocket")
53
53
  /* internal dependencies */
54
54
  const speechflow_node_1 = __importStar(require("./speechflow-node"));
55
55
  const util = __importStar(require("./speechflow-util"));
56
- /* SpeechFlow node for subtitle (text-to-text) "translations" */
56
+ /* SpeechFlow node for subtitle (text-to-text) conversions */
57
57
  class SpeechFlowNodeT2TSubtitle extends speechflow_node_1.default {
58
58
  /* declare official node name */
59
59
  static name = "t2t-subtitle";
@@ -189,7 +189,7 @@ class SpeechFlowNodeT2TSubtitle extends speechflow_node_1.default {
189
189
  for (const block of blocks) {
190
190
  const lines = block.trim().split(/\r?\n/);
191
191
  if (lines.length < 2) {
192
- this.log("warning", "SRT block contains less than 2 lines");
192
+ this.log("warning", "SRT block contains fewer than 2 lines");
193
193
  continue;
194
194
  }
195
195
  /* skip optional sequence number line (first line) */
@@ -223,7 +223,7 @@ class SpeechFlowNodeT2TSubtitle extends speechflow_node_1.default {
223
223
  for (const block of blocks) {
224
224
  const lines = block.trim().split(/\r?\n/);
225
225
  if (lines.length < 1) {
226
- this.log("warning", "VTT block contains less than 1 line");
226
+ this.log("warning", "VTT block contains fewer than 1 line");
227
227
  continue;
228
228
  }
229
229
  /* skip optional cue identifier lines */
@@ -293,7 +293,7 @@ class SpeechFlowNodeT2TSubtitle extends speechflow_node_1.default {
293
293
  final(callback) {
294
294
  /* process any remaining buffer content */
295
295
  if (buffer.trim() !== "") {
296
- try {
296
+ util.shield(() => {
297
297
  /* parse entries */
298
298
  const entries = self.params.format === "srt" ? parseSRT(buffer) : parseVTT(buffer);
299
299
  /* emit parsed entries as individual chunks */
@@ -301,10 +301,7 @@ class SpeechFlowNodeT2TSubtitle extends speechflow_node_1.default {
301
301
  const chunkNew = new speechflow_node_1.SpeechFlowChunk(entry.start, entry.end, "final", "text", entry.text);
302
302
  this.push(chunkNew);
303
303
  }
304
- }
305
- catch (_error) {
306
- /* ignore parse errors on final flush */
307
- }
304
+ });
308
305
  }
309
306
  callback();
310
307
  }
@@ -376,13 +373,16 @@ class SpeechFlowNodeT2TSubtitle extends speechflow_node_1.default {
376
373
  },
377
374
  handler: (request, h) => h.response({}).code(204)
378
375
  });
376
+ /* start HAPI server */
379
377
  await this.hapi.start();
380
378
  this.log("info", `HAPI: started REST/WebSocket network service: http://${this.params.addr}:${this.params.port}`);
379
+ /* helper to emit chunks to WebSocket peers */
381
380
  const emit = (chunk) => {
382
381
  const data = JSON.stringify(chunk);
383
382
  for (const info of wsPeers.values())
384
383
  info.ws.send(data);
385
384
  };
385
+ /* establish writable stream */
386
386
  this.stream = new node_stream_1.default.Writable({
387
387
  objectMode: true,
388
388
  decodeStrings: false,
@@ -1 +1 @@
1
- {"version":3,"file":"speechflow-node-t2t-subtitle.js","sourceRoot":"","sources":["../src/speechflow-node-t2t-subtitle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speechflow-node-t2t-subtitle.js","sourceRoot":"","sources":["../src/speechflow-node-t2t-subtitle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import SpeechFlowNode from "./speechflow-node";
2
+ export default class SpeechFlowNodeT2TSummary extends SpeechFlowNode {
3
+ static name: string;
4
+ private llm;
5
+ private accumulatedText;
6
+ private sentencesSinceLastSummary;
7
+ private setup;
8
+ constructor(id: string, cfg: {
9
+ [id: string]: any;
10
+ }, opts: {
11
+ [id: string]: any;
12
+ }, args: any[]);
13
+ private countSentences;
14
+ open(): Promise<void>;
15
+ close(): Promise<void>;
16
+ }