@neosapience/n8n-nodes-typecast 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -8
- package/credentials/TypecastApi.credentials.ts +37 -36
- package/dist/credentials/TypecastApi.credentials.js.map +1 -1
- package/dist/nodes/Typecast/Typecast.node.d.ts +6 -1
- package/dist/nodes/Typecast/Typecast.node.js +345 -20
- package/dist/nodes/Typecast/Typecast.node.js.map +1 -1
- package/dist/nodes/Typecast/resources/speech/index.js +430 -59
- package/dist/nodes/Typecast/resources/speech/index.js.map +1 -1
- package/dist/nodes/Typecast/resources/subscription/index.d.ts +2 -0
- package/dist/nodes/Typecast/resources/subscription/index.js +27 -0
- package/dist/nodes/Typecast/resources/subscription/index.js.map +1 -0
- package/dist/nodes/Typecast/resources/voice/index.js +162 -37
- package/dist/nodes/Typecast/resources/voice/index.js.map +1 -1
- package/dist/nodes/Typecast/shared/transport.d.ts +2 -2
- package/dist/nodes/Typecast/shared/transport.js +20 -6
- package/dist/nodes/Typecast/shared/transport.js.map +1 -1
- package/dist/package.json +8 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/nodes/Typecast/Typecast.node.ts +689 -199
- package/nodes/Typecast/resources/speech/index.ts +631 -228
- package/nodes/Typecast/resources/subscription/index.ts +27 -0
- package/nodes/Typecast/resources/voice/index.ts +213 -88
- package/nodes/Typecast/shared/transport.ts +72 -44
- package/package.json +8 -7
|
@@ -20,23 +20,60 @@ exports.speechDescription = [
|
|
|
20
20
|
description: 'Convert text to speech using a specified voice',
|
|
21
21
|
action: 'Convert text to speech',
|
|
22
22
|
},
|
|
23
|
+
{
|
|
24
|
+
name: 'Text to Speech (Streaming)',
|
|
25
|
+
value: 'textToSpeechStream',
|
|
26
|
+
description: 'Convert text to speech via the streaming endpoint for low-latency chunked audio delivery',
|
|
27
|
+
action: 'Convert text to speech streaming',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Text to Speech with Timestamps',
|
|
31
|
+
value: 'textToSpeechWithTimestamps',
|
|
32
|
+
description: 'Convert text to speech and return word/character-level timestamp alignment for caption generation',
|
|
33
|
+
action: 'Convert text to speech with timestamps',
|
|
34
|
+
},
|
|
23
35
|
],
|
|
24
36
|
default: 'textToSpeech',
|
|
25
37
|
},
|
|
26
38
|
{
|
|
27
39
|
displayName: 'Voice ID',
|
|
28
40
|
name: 'voiceId',
|
|
29
|
-
type: '
|
|
41
|
+
type: 'resourceLocator',
|
|
30
42
|
required: true,
|
|
31
43
|
displayOptions: {
|
|
32
44
|
show: {
|
|
33
45
|
resource: ['speech'],
|
|
34
|
-
operation: ['textToSpeech'],
|
|
46
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
35
47
|
},
|
|
36
48
|
},
|
|
37
|
-
default: '
|
|
38
|
-
description: '
|
|
39
|
-
|
|
49
|
+
default: { mode: 'list', value: '' },
|
|
50
|
+
description: 'Select a voice from the list or enter a Voice ID directly',
|
|
51
|
+
modes: [
|
|
52
|
+
{
|
|
53
|
+
displayName: 'From List',
|
|
54
|
+
name: 'list',
|
|
55
|
+
type: 'list',
|
|
56
|
+
typeOptions: {
|
|
57
|
+
searchListMethod: 'searchVoices',
|
|
58
|
+
searchable: true,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
displayName: 'By ID',
|
|
63
|
+
name: 'id',
|
|
64
|
+
type: 'string',
|
|
65
|
+
placeholder: 'e.g., tc_60e5426de8b95f1d3000d7b5',
|
|
66
|
+
validation: [
|
|
67
|
+
{
|
|
68
|
+
type: 'regex',
|
|
69
|
+
properties: {
|
|
70
|
+
regex: '^tc_[a-f0-9]+$',
|
|
71
|
+
errorMessage: 'Voice ID must start with "tc_" followed by hexadecimal characters',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
],
|
|
40
77
|
},
|
|
41
78
|
{
|
|
42
79
|
displayName: 'Text',
|
|
@@ -46,34 +83,267 @@ exports.speechDescription = [
|
|
|
46
83
|
displayOptions: {
|
|
47
84
|
show: {
|
|
48
85
|
resource: ['speech'],
|
|
49
|
-
operation: ['textToSpeech'],
|
|
86
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
50
87
|
},
|
|
51
88
|
},
|
|
52
|
-
default: '',
|
|
89
|
+
default: 'Hello! Welcome to Typecast text to speech. This is a sample voice generation.',
|
|
53
90
|
typeOptions: {
|
|
54
91
|
rows: 4,
|
|
55
92
|
},
|
|
56
|
-
description: 'Text to convert to speech',
|
|
57
|
-
placeholder: '
|
|
93
|
+
description: 'Text to convert to speech (1-2000 characters) Credits consumed based on text length. Supports multiple languages including English, Korean, Japanese, and Chinese. Special characters and punctuation are handled automatically.',
|
|
94
|
+
placeholder: "Everything is so incredibly perfect that I feel like I'm dreaming.",
|
|
58
95
|
},
|
|
59
96
|
{
|
|
60
97
|
displayName: 'Model',
|
|
61
98
|
name: 'model',
|
|
62
99
|
type: 'options',
|
|
100
|
+
required: true,
|
|
63
101
|
displayOptions: {
|
|
64
102
|
show: {
|
|
65
103
|
resource: ['speech'],
|
|
66
|
-
operation: ['textToSpeech'],
|
|
104
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
67
105
|
},
|
|
68
106
|
},
|
|
69
107
|
options: [
|
|
108
|
+
{
|
|
109
|
+
name: 'SSFM-V30 (Latest)',
|
|
110
|
+
value: 'ssfm-v30',
|
|
111
|
+
description: 'Latest model with improved prosody, Smart Emotion, and 37 language support (recommended)',
|
|
112
|
+
},
|
|
70
113
|
{
|
|
71
114
|
name: 'SSFM-V21',
|
|
72
115
|
value: 'ssfm-v21',
|
|
116
|
+
description: 'Stable production model with reliable quality and 27 language support',
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
default: 'ssfm-v30',
|
|
120
|
+
description: 'Voice model to use for speech synthesis ssfm-v30 is recommended for best quality and Smart Emotion features',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
displayName: 'Emotion Type',
|
|
124
|
+
name: 'emotionType',
|
|
125
|
+
type: 'options',
|
|
126
|
+
displayOptions: {
|
|
127
|
+
show: {
|
|
128
|
+
resource: ['speech'],
|
|
129
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
130
|
+
model: ['ssfm-v30'],
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
options: [
|
|
134
|
+
{
|
|
135
|
+
name: 'Smart (Auto-Detect From Context)',
|
|
136
|
+
value: 'smart',
|
|
137
|
+
description: 'AI automatically infers emotion from text context - best for dialogue and storytelling',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: 'Preset (Manual Selection)',
|
|
141
|
+
value: 'preset',
|
|
142
|
+
description: 'Manually select emotion preset and intensity - best for precise control',
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
default: 'smart',
|
|
146
|
+
description: 'How to control emotional expression (ssfm-v30 only) Smart: AI detects emotion automatically from context. Preset: Manual selection with 7 emotion options.',
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
displayName: 'Previous Text',
|
|
150
|
+
name: 'previousText',
|
|
151
|
+
type: 'string',
|
|
152
|
+
displayOptions: {
|
|
153
|
+
show: {
|
|
154
|
+
resource: ['speech'],
|
|
155
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
156
|
+
model: ['ssfm-v30'],
|
|
157
|
+
emotionType: ['smart'],
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
default: '',
|
|
161
|
+
typeOptions: {
|
|
162
|
+
rows: 2,
|
|
163
|
+
},
|
|
164
|
+
description: 'Text that comes BEFORE the main text Provides context for AI to infer appropriate emotion. Optional but helps improve emotional accuracy (max 2000 characters).',
|
|
165
|
+
placeholder: "I feel like I'm walking on air and I just want to scream with joy!",
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
displayName: 'Next Text',
|
|
169
|
+
name: 'nextText',
|
|
170
|
+
type: 'string',
|
|
171
|
+
displayOptions: {
|
|
172
|
+
show: {
|
|
173
|
+
resource: ['speech'],
|
|
174
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
175
|
+
model: ['ssfm-v30'],
|
|
176
|
+
emotionType: ['smart'],
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
default: '',
|
|
180
|
+
typeOptions: {
|
|
181
|
+
rows: 2,
|
|
182
|
+
},
|
|
183
|
+
description: 'Text that comes AFTER the main text Provides context for AI to infer appropriate emotion. Optional but helps improve emotional accuracy (max 2000 characters).',
|
|
184
|
+
placeholder: 'I am literally bursting with happiness and I never want this feeling to end!',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
displayName: 'Emotion Preset',
|
|
188
|
+
name: 'emotionPreset',
|
|
189
|
+
type: 'options',
|
|
190
|
+
displayOptions: {
|
|
191
|
+
show: {
|
|
192
|
+
resource: ['speech'],
|
|
193
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
194
|
+
model: ['ssfm-v30'],
|
|
195
|
+
emotionType: ['preset'],
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
options: [
|
|
199
|
+
{
|
|
200
|
+
name: 'Angry',
|
|
201
|
+
value: 'angry',
|
|
202
|
+
description: 'Intense, forceful expression',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: 'Happy',
|
|
206
|
+
value: 'happy',
|
|
207
|
+
description: 'Joyful, cheerful expression',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: 'Normal',
|
|
211
|
+
value: 'normal',
|
|
212
|
+
description: 'Neutral, standard tone',
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
name: 'Sad',
|
|
216
|
+
value: 'sad',
|
|
217
|
+
description: 'Melancholic, somber tone',
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
name: 'Tone Down',
|
|
221
|
+
value: 'tonedown',
|
|
222
|
+
description: 'Calm, subdued delivery',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'Tone Up',
|
|
226
|
+
value: 'toneup',
|
|
227
|
+
description: 'Energetic, upbeat delivery',
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: 'Whisper',
|
|
231
|
+
value: 'whisper',
|
|
232
|
+
description: 'Soft, intimate speaking style',
|
|
73
233
|
},
|
|
74
234
|
],
|
|
75
|
-
default: '
|
|
76
|
-
description: '
|
|
235
|
+
default: 'normal',
|
|
236
|
+
description: 'Emotion preset to apply to the generated speech All 7 emotions are available across all voices. Check specific voice characteristics via the Voices resource.',
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
displayName: 'Emotion Intensity',
|
|
240
|
+
name: 'emotionIntensity',
|
|
241
|
+
type: 'number',
|
|
242
|
+
displayOptions: {
|
|
243
|
+
show: {
|
|
244
|
+
resource: ['speech'],
|
|
245
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
246
|
+
model: ['ssfm-v30'],
|
|
247
|
+
emotionType: ['preset'],
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
typeOptions: {
|
|
251
|
+
minValue: 0,
|
|
252
|
+
maxValue: 2,
|
|
253
|
+
numberPrecision: 1,
|
|
254
|
+
},
|
|
255
|
+
default: 1,
|
|
256
|
+
description: 'Controls the strength of emotional expression (0.0 - 2.0) 0.0=completely neutral (no emotion), 0.5=subtle hints, 1.0=standard expression (default), 1.5=strong emphasis, 2.0=maximum intensity (highly expressive)',
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
displayName: 'Emotion Preset',
|
|
260
|
+
name: 'emotionPresetV21',
|
|
261
|
+
type: 'options',
|
|
262
|
+
displayOptions: {
|
|
263
|
+
show: {
|
|
264
|
+
resource: ['speech'],
|
|
265
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
266
|
+
model: ['ssfm-v21'],
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
options: [
|
|
270
|
+
{
|
|
271
|
+
name: 'Normal',
|
|
272
|
+
value: 'normal',
|
|
273
|
+
description: 'Neutral, standard tone',
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
name: 'Happy',
|
|
277
|
+
value: 'happy',
|
|
278
|
+
description: 'Joyful, cheerful expression',
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: 'Sad',
|
|
282
|
+
value: 'sad',
|
|
283
|
+
description: 'Melancholic, somber tone',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: 'Angry',
|
|
287
|
+
value: 'angry',
|
|
288
|
+
description: 'Intense, forceful expression',
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
default: 'normal',
|
|
292
|
+
description: 'Emotion preset to apply (ssfm-v21) Supported emotions: normal, happy, sad, angry. Check available emotions for each voice through the /voices API.',
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
displayName: 'Emotion Intensity',
|
|
296
|
+
name: 'emotionIntensityV21',
|
|
297
|
+
type: 'number',
|
|
298
|
+
displayOptions: {
|
|
299
|
+
show: {
|
|
300
|
+
resource: ['speech'],
|
|
301
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
302
|
+
model: ['ssfm-v21'],
|
|
303
|
+
},
|
|
304
|
+
},
|
|
305
|
+
typeOptions: {
|
|
306
|
+
minValue: 0,
|
|
307
|
+
maxValue: 2,
|
|
308
|
+
numberPrecision: 1,
|
|
309
|
+
},
|
|
310
|
+
default: 1,
|
|
311
|
+
description: 'Controls the strength of emotional expression (0.0 - 2.0) 0.0=completely neutral, 1.0=standard expression (default), 2.0=maximum intensity',
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
displayName: 'Granularity',
|
|
315
|
+
name: 'granularity',
|
|
316
|
+
type: 'options',
|
|
317
|
+
displayOptions: {
|
|
318
|
+
show: {
|
|
319
|
+
resource: ['speech'],
|
|
320
|
+
operation: ['textToSpeechWithTimestamps'],
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
options: [
|
|
324
|
+
{
|
|
325
|
+
name: 'Default (Server Picks)',
|
|
326
|
+
value: '',
|
|
327
|
+
description: 'Use the server default (word). For jpn/zho text, prefer Character or Both instead.',
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
name: 'Word',
|
|
331
|
+
value: 'word',
|
|
332
|
+
description: 'Word-level alignment only',
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
name: 'Character',
|
|
336
|
+
value: 'char',
|
|
337
|
+
description: 'Character-level alignment only. Required for non-whitespace languages (jpn, zho).',
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
name: 'Both',
|
|
341
|
+
value: 'both',
|
|
342
|
+
description: 'Return both word- and character-level alignment',
|
|
343
|
+
},
|
|
344
|
+
],
|
|
345
|
+
default: '',
|
|
346
|
+
description: 'Alignment granularity. The server collapses an entire sentence into a single word segment for non-whitespace languages, so pick Character or Both for jpn/zho.',
|
|
77
347
|
},
|
|
78
348
|
{
|
|
79
349
|
displayName: 'Additional Options',
|
|
@@ -84,7 +354,7 @@ exports.speechDescription = [
|
|
|
84
354
|
displayOptions: {
|
|
85
355
|
show: {
|
|
86
356
|
resource: ['speech'],
|
|
87
|
-
operation: ['textToSpeech'],
|
|
357
|
+
operation: ['textToSpeech', 'textToSpeechStream', 'textToSpeechWithTimestamps'],
|
|
88
358
|
},
|
|
89
359
|
},
|
|
90
360
|
options: [
|
|
@@ -96,14 +366,16 @@ exports.speechDescription = [
|
|
|
96
366
|
{
|
|
97
367
|
name: 'MP3',
|
|
98
368
|
value: 'mp3',
|
|
369
|
+
description: 'MPEG Layer III, 320 kbps, smaller file size - ideal for web streaming',
|
|
99
370
|
},
|
|
100
371
|
{
|
|
101
372
|
name: 'WAV',
|
|
102
373
|
value: 'wav',
|
|
374
|
+
description: 'PCM Uncompressed, 16-bit, higher quality - suitable for professional production',
|
|
103
375
|
},
|
|
104
376
|
],
|
|
105
377
|
default: 'wav',
|
|
106
|
-
description: 'Output audio format',
|
|
378
|
+
description: 'Output audio format WAV: uncompressed 16-bit PCM, mono, 44.1kHz. MP3: 320 kbps, mono, 44.1kHz.',
|
|
107
379
|
},
|
|
108
380
|
{
|
|
109
381
|
displayName: 'Audio Pitch',
|
|
@@ -114,7 +386,7 @@ exports.speechDescription = [
|
|
|
114
386
|
maxValue: 12,
|
|
115
387
|
},
|
|
116
388
|
default: 0,
|
|
117
|
-
description: 'Pitch adjustment in semitones (-12 to +12)',
|
|
389
|
+
description: 'Pitch adjustment in semitones (-12 to +12) -12 (one octave down) to +12 (one octave up). Default: 0 (no adjustment).',
|
|
118
390
|
},
|
|
119
391
|
{
|
|
120
392
|
displayName: 'Audio Tempo',
|
|
@@ -126,77 +398,96 @@ exports.speechDescription = [
|
|
|
126
398
|
numberPrecision: 1,
|
|
127
399
|
},
|
|
128
400
|
default: 1,
|
|
129
|
-
description: 'Speed of speech (0.5x to 2.0x)',
|
|
401
|
+
description: 'Speed of speech playback (0.5x to 2.0x) 0.5x (half speed) to 2.0x (double speed). Default: 1.0 (normal speed).',
|
|
130
402
|
},
|
|
131
403
|
{
|
|
132
404
|
displayName: 'Binary Property',
|
|
133
405
|
name: 'binaryProperty',
|
|
134
406
|
type: 'string',
|
|
135
407
|
default: 'data',
|
|
136
|
-
description: 'Name of the binary property to store the audio file',
|
|
408
|
+
description: 'Name of the binary property to store the generated audio file Default: "data" (recommended for most cases). Use this name to reference the audio in subsequent nodes (e.g., Save to File, Send Email). Only change if you need to handle multiple audio files in the same workflow (e.g., "narration", "background_music").',
|
|
137
409
|
},
|
|
138
410
|
{
|
|
139
|
-
displayName: '
|
|
140
|
-
name: '
|
|
141
|
-
type: 'number',
|
|
142
|
-
typeOptions: {
|
|
143
|
-
minValue: 0,
|
|
144
|
-
maxValue: 2,
|
|
145
|
-
numberPrecision: 1,
|
|
146
|
-
},
|
|
147
|
-
default: 1,
|
|
148
|
-
description: 'Intensity of emotion (0.0 to 2.0)',
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
displayName: 'Emotion Preset',
|
|
152
|
-
name: 'emotionPreset',
|
|
411
|
+
displayName: 'Language',
|
|
412
|
+
name: 'language',
|
|
153
413
|
type: 'options',
|
|
154
414
|
options: [
|
|
155
415
|
{
|
|
156
|
-
name: '
|
|
157
|
-
value: '
|
|
416
|
+
name: 'Arabic',
|
|
417
|
+
value: 'ara',
|
|
158
418
|
},
|
|
159
419
|
{
|
|
160
|
-
name: '
|
|
161
|
-
value: '
|
|
420
|
+
name: 'Auto-Detect',
|
|
421
|
+
value: '',
|
|
162
422
|
},
|
|
163
423
|
{
|
|
164
|
-
name: '
|
|
165
|
-
value: '
|
|
424
|
+
name: 'Bengali',
|
|
425
|
+
value: 'ben',
|
|
166
426
|
},
|
|
167
427
|
{
|
|
168
|
-
name: '
|
|
169
|
-
value: '
|
|
428
|
+
name: 'Bulgarian',
|
|
429
|
+
value: 'bul',
|
|
170
430
|
},
|
|
171
431
|
{
|
|
172
|
-
name: '
|
|
173
|
-
value: '
|
|
432
|
+
name: 'Cantonese',
|
|
433
|
+
value: 'yue',
|
|
174
434
|
},
|
|
175
435
|
{
|
|
176
|
-
name: '
|
|
177
|
-
value: '
|
|
436
|
+
name: 'Chinese (Mandarin)',
|
|
437
|
+
value: 'zho',
|
|
178
438
|
},
|
|
179
|
-
],
|
|
180
|
-
default: 'normal',
|
|
181
|
-
description: 'Emotion type for the generated speech',
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
displayName: 'Language',
|
|
185
|
-
name: 'language',
|
|
186
|
-
type: 'options',
|
|
187
|
-
options: [
|
|
188
439
|
{
|
|
189
|
-
name: '
|
|
190
|
-
value: '',
|
|
440
|
+
name: 'Croatian',
|
|
441
|
+
value: 'hrv',
|
|
191
442
|
},
|
|
192
443
|
{
|
|
193
|
-
name: '
|
|
194
|
-
value: '
|
|
444
|
+
name: 'Czech',
|
|
445
|
+
value: 'ces',
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
name: 'Danish',
|
|
449
|
+
value: 'dan',
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
name: 'Dutch',
|
|
453
|
+
value: 'nld',
|
|
195
454
|
},
|
|
196
455
|
{
|
|
197
456
|
name: 'English',
|
|
198
457
|
value: 'eng',
|
|
199
458
|
},
|
|
459
|
+
{
|
|
460
|
+
name: 'Finnish',
|
|
461
|
+
value: 'fin',
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
name: 'French',
|
|
465
|
+
value: 'fra',
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
name: 'German',
|
|
469
|
+
value: 'deu',
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
name: 'Greek',
|
|
473
|
+
value: 'ell',
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
name: 'Hindi',
|
|
477
|
+
value: 'hin',
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
name: 'Hungarian',
|
|
481
|
+
value: 'hun',
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
name: 'Indonesian',
|
|
485
|
+
value: 'ind',
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
name: 'Italian',
|
|
489
|
+
value: 'ita',
|
|
490
|
+
},
|
|
200
491
|
{
|
|
201
492
|
name: 'Japanese',
|
|
202
493
|
value: 'jpn',
|
|
@@ -205,16 +496,96 @@ exports.speechDescription = [
|
|
|
205
496
|
name: 'Korean',
|
|
206
497
|
value: 'kor',
|
|
207
498
|
},
|
|
499
|
+
{
|
|
500
|
+
name: 'Malay',
|
|
501
|
+
value: 'msa',
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
name: 'Min Nan',
|
|
505
|
+
value: 'nan',
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
name: 'Norwegian',
|
|
509
|
+
value: 'nor',
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
name: 'Polish',
|
|
513
|
+
value: 'pol',
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
name: 'Portuguese',
|
|
517
|
+
value: 'por',
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
name: 'Punjabi',
|
|
521
|
+
value: 'pan',
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
name: 'Romanian',
|
|
525
|
+
value: 'ron',
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
name: 'Russian',
|
|
529
|
+
value: 'rus',
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
name: 'Slovak',
|
|
533
|
+
value: 'slk',
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
name: 'Spanish',
|
|
537
|
+
value: 'spa',
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
name: 'Swedish',
|
|
541
|
+
value: 'swe',
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
name: 'Tagalog',
|
|
545
|
+
value: 'tgl',
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
name: 'Tamil',
|
|
549
|
+
value: 'tam',
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
name: 'Thai',
|
|
553
|
+
value: 'tha',
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
name: 'Turkish',
|
|
557
|
+
value: 'tur',
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
name: 'Ukrainian',
|
|
561
|
+
value: 'ukr',
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
name: 'Vietnamese',
|
|
565
|
+
value: 'vie',
|
|
566
|
+
},
|
|
208
567
|
],
|
|
209
568
|
default: '',
|
|
210
|
-
description: 'Language code
|
|
569
|
+
description: 'Language code following ISO 639-3 standard Case-insensitive (both "ENG" and "eng" are accepted). If not provided, language will be auto-detected based on text content. ssfm-v30 supports 37 languages, ssfm-v21 supports 27 languages.',
|
|
211
570
|
},
|
|
212
571
|
{
|
|
213
572
|
displayName: 'Seed',
|
|
214
573
|
name: 'seed',
|
|
215
574
|
type: 'number',
|
|
216
575
|
default: 42,
|
|
217
|
-
description: 'Random seed for
|
|
576
|
+
description: 'Random seed for controlling speech generation variations Use any integer value. Using the same seed with identical parameters will produce consistent results, useful for reproducibility.',
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
displayName: 'Target LUFS',
|
|
580
|
+
name: 'targetLufs',
|
|
581
|
+
type: 'number',
|
|
582
|
+
typeOptions: {
|
|
583
|
+
minValue: -70,
|
|
584
|
+
maxValue: 0,
|
|
585
|
+
numberPrecision: 1,
|
|
586
|
+
},
|
|
587
|
+
default: -14,
|
|
588
|
+
description: 'Absolute loudness normalization target in LUFS (-70.0 to 0.0). Set when you want the server to normalize output loudness (e.g. -14 LUFS for podcast / streaming standards). Mutually exclusive with Volume on the non-streaming endpoint; not accepted at all by streaming TTS.',
|
|
218
589
|
},
|
|
219
590
|
{
|
|
220
591
|
displayName: 'Volume',
|
|
@@ -225,7 +596,7 @@ exports.speechDescription = [
|
|
|
225
596
|
maxValue: 200,
|
|
226
597
|
},
|
|
227
598
|
default: 100,
|
|
228
|
-
description: 'Audio volume (0-200)',
|
|
599
|
+
description: 'Audio output volume level (0 - 200) 0 (silent) to 200 (maximum). Default: 100 (normal volume). Mutually exclusive with Target LUFS on the non-streaming endpoint, and not accepted at all by streaming TTS.',
|
|
229
600
|
},
|
|
230
601
|
],
|
|
231
602
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Typecast/resources/speech/index.ts"],"names":[],"mappings":";;;AAEA,MAAM,iBAAiB,GAAG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Typecast/resources/speech/index.ts"],"names":[],"mappings":"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"}
|