speechstate 2.2.0 → 2.4.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/dist/asr.d.ts CHANGED
@@ -49,14 +49,21 @@ interface ASRInit {
49
49
  locale: string;
50
50
  audioContext: AudioContext;
51
51
  azureCredentials: string | AzureSpeechCredentials;
52
+ azureRegion: string;
52
53
  speechRecognitionEndpointId?: string;
53
54
  azureLanguageCredentials?: AzureLanguageCredentials;
54
55
  }
56
+ interface ASRPonyfillInput {
57
+ audioContext: AudioContext;
58
+ azureAuthorizationToken: string;
59
+ azureRegion: string;
60
+ speechRecognitionEndpointId?: string;
61
+ }
55
62
  export declare const asrMachine: import("xstate").StateMachine<ASRContext, ASREvent, {
56
- [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{}>, import("xstate").EventObject, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").PromiseSnapshot<string, any>, {
63
+ [x: string]: import("xstate").ActorRef<import("xstate").PromiseSnapshot<string, any>, {
57
64
  [k: string]: unknown;
58
65
  type: string;
59
- }, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").CallbackSnapshot<any>, import("xstate").EventObject, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").PromiseSnapshot<any, AzureLanguageCredentials & {
66
+ }, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").CallbackSnapshot<ASRPonyfillInput>, null, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").CallbackSnapshot<any>, import("xstate").EventObject, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").PromiseSnapshot<any, AzureLanguageCredentials & {
60
67
  query: string;
61
68
  }>, {
62
69
  [k: string]: unknown;
@@ -70,7 +77,7 @@ export declare const asrMachine: import("xstate").StateMachine<ASRContext, ASREv
70
77
  };
71
78
  ponyfill: {
72
79
  src: "ponyfill";
73
- logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, {}>;
80
+ logic: import("xstate").CallbackActorLogic<null, ASRPonyfillInput>;
74
81
  id: string;
75
82
  };
76
83
  recStart: {
@@ -98,7 +105,7 @@ export declare const asrMachine: import("xstate").StateMachine<ASRContext, ASREv
98
105
  };
99
106
  ponyfill: {
100
107
  src: "ponyfill";
101
- logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, {}>;
108
+ logic: import("xstate").CallbackActorLogic<null, ASRPonyfillInput>;
102
109
  id: string;
103
110
  };
104
111
  recStart: {
package/dist/asr.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"asr.d.ts","sourceRoot":"","sources":["../src/asr.ts"],"names":[],"mappings":";AAcA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,YAAO;CACR;AACD,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,YAAO;CACR;AAED,KAAK,QAAQ,GACT;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,MAAM,EAAE,mBAAmB,CAAC;QAC5B,cAAc,EAAE,mBAAmB,CAAC;KACrC,CAAC;CACH,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE;QAAE,cAAc,EAAE,mBAAmB,CAAA;KAAE,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAE5C,UAAU,UAAW,SAAQ,OAAO;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,UAAU,OAAO;IACf,yBAAyB,EAAE,MAAM,CAAC;IAClC,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAClD,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED,eAAO,MAAM,UAAU;;;;;eAiF8C,MAAM;;;;;;;;;;;;;;;;;;;;;;;;mBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAN,MAAM;;;;;;;uDA6RzE,CAAC"}
1
+ {"version":3,"file":"asr.d.ts","sourceRoot":"","sources":["../src/asr.ts"],"names":[],"mappings":";AAaA,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,YAAO;CACR;AACD,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,YAAO;CACR;AAED,KAAK,QAAQ,GACT;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,MAAM,EAAE,mBAAmB,CAAC;QAC5B,cAAc,EAAE,mBAAmB,CAAC;KACrC,CAAC;CACH,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE;QAAE,cAAc,EAAE,mBAAmB,CAAA;KAAE,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAE5C,UAAU,UAAW,SAAQ,OAAO;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,UAAU,OAAO;IACf,yBAAyB,EAAE,MAAM,CAAC;IAClC,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED,UAAU,gBAAgB;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,UAAU;;;;;eAgF8C,MAAM;;;;;;;;;;;;;;;;;;;;;;;;mBAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAN,MAAM;;;;;;;uDA+RzE,CAAC"}
package/dist/asr.js CHANGED
@@ -13,7 +13,6 @@ exports.asrMachine = void 0;
13
13
  const xstate_1 = require("xstate");
14
14
  const getToken_1 = require("./getToken");
15
15
  const SpeechToText_1 = require("web-speech-cognitive-services/lib/SpeechServices/SpeechToText");
16
- const REGION = "northeurope";
17
16
  exports.asrMachine = (0, xstate_1.setup)({
18
17
  types: {
19
18
  context: {},
@@ -31,10 +30,9 @@ exports.asrMachine = (0, xstate_1.setup)({
31
30
  ponyfill: (0, xstate_1.fromCallback)(({ sendBack, input }) => {
32
31
  const { SpeechGrammarList, SpeechRecognition } = (0, SpeechToText_1.default)({
33
32
  audioContext: input.audioContext,
34
- speechRecognitionEndpointId: input
35
- .speechRecognitionEndpointId,
33
+ speechRecognitionEndpointId: input.speechRecognitionEndpointId,
36
34
  credentials: {
37
- region: REGION, // TODO
35
+ region: input.azureRegion,
38
36
  authorizationToken: input.azureAuthorizationToken,
39
37
  },
40
38
  });
@@ -126,6 +124,7 @@ exports.asrMachine = (0, xstate_1.setup)({
126
124
  locale: input.locale || "en-US",
127
125
  audioContext: input.audioContext,
128
126
  azureCredentials: input.azureCredentials,
127
+ azureRegion: input.azureRegion,
129
128
  azureLanguageCredentials: input.azureLanguageCredentials,
130
129
  speechRecognitionEndpointId: input.speechRecognitionEndpointId,
131
130
  }),
@@ -343,6 +342,7 @@ exports.asrMachine = (0, xstate_1.setup)({
343
342
  id: "ponyASR",
344
343
  src: "ponyfill",
345
344
  input: ({ context }) => ({
345
+ azureRegion: context.azureRegion,
346
346
  audioContext: context.audioContext,
347
347
  azureAuthorizationToken: context.azureAuthorizationToken,
348
348
  locale: context.locale,
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { speechstate } from "./speechstate";
2
2
  export { AzureCredentials, Settings, Hypothesis, Agenda, RecogniseParameters, } from "./types";
3
+ export type { SpeechStateExternalEvent } from "./types";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
@@ -1,48 +1,10 @@
1
- import { Settings, Agenda, Hypothesis, RecogniseParameters } from "./types";
1
+ import { Settings, SpeechStateEvent } from "./types";
2
2
  interface SSContext {
3
3
  settings: Settings;
4
4
  audioContext?: AudioContext;
5
5
  asrRef?: any;
6
6
  ttsRef?: any;
7
7
  }
8
- /** events sent to the spawned `speechstate` machine **/
9
- type SSEventExtIn = {
10
- type: "PREPARE";
11
- } | {
12
- type: "CONTROL";
13
- } | {
14
- type: "STOP";
15
- } | {
16
- type: "SPEAK";
17
- value: Agenda;
18
- } | {
19
- type: "LISTEN";
20
- value: RecogniseParameters;
21
- };
22
- /** for sendParent, not type-checked */
23
- type SSEventExtOut = {
24
- type: "ASR_NOINPUT";
25
- } | {
26
- type: "ASRTTS_READY";
27
- } | {
28
- type: "ASR_STARTED";
29
- } | {
30
- type: "TTS_STARTED";
31
- } | {
32
- type: "SPEAK_COMPLETE";
33
- } | {
34
- type: "RECOGNISED";
35
- value: Hypothesis[];
36
- nluValue?: any;
37
- };
38
- type SSEventIntIn = {
39
- type: "TTS_READY";
40
- } | {
41
- type: "ASR_READY";
42
- } | {
43
- type: "TTS_ERROR";
44
- };
45
- type SSEvent = SSEventIntIn | SSEventExtIn | SSEventExtOut;
46
- declare const speechstate: import("xstate").StateMachine<SSContext, SSEvent, Record<string, import("xstate").AnyActorRef>, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, string, import("xstate").StateValue, string, Settings, {}, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, SSEvent, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, string, string, import("xstate").EventObject>>;
8
+ declare const speechstate: import("xstate").StateMachine<SSContext, SpeechStateEvent, Record<string, import("xstate").AnyActorRef>, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, string, import("xstate").StateValue, string, Settings, {}, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, SpeechStateEvent, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, string, string, import("xstate").EventObject>>;
47
9
  export { speechstate };
48
10
  //# sourceMappingURL=speechstate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"speechstate.d.ts","sourceRoot":"","sources":["../src/speechstate.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC5E,UAAU,SAAS;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,wDAAwD;AACxD,KAAK,YAAY,GACb;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEnD,uCAAuC;AACvC,KAAK,aAAa,GACd;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAEhE,KAAK,YAAY,GACb;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1B,KAAK,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC;AAE3D,QAAA,MAAM,WAAW,ghBAiWhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"speechstate.d.ts","sourceRoot":"","sources":["../src/speechstate.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,UAAU,SAAS;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,QAAA,MAAM,WAAW,kiBAmWhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -55,6 +55,7 @@ const speechstate = (0, xstate_1.createMachine)({
55
55
  ttsLexicon: context.settings.ttsLexicon,
56
56
  audioContext: context.audioContext,
57
57
  azureCredentials: context.settings.azureCredentials,
58
+ azureRegion: context.settings.azureRegion,
58
59
  },
59
60
  });
60
61
  },
@@ -69,6 +70,7 @@ const speechstate = (0, xstate_1.createMachine)({
69
70
  locale: context.settings.locale,
70
71
  audioContext: context.audioContext,
71
72
  azureCredentials: context.settings.azureCredentials,
73
+ azureRegion: context.settings.azureRegion,
72
74
  azureLanguageCredentials: context.settings.azureLanguageCredentials,
73
75
  speechRecognitionEndpointId: context.settings.speechRecognitionEndpointId,
74
76
  },
package/dist/tts.d.ts CHANGED
@@ -5,6 +5,7 @@ interface MySpeechSynthesisUtterance extends SpeechSynthesisUtterance {
5
5
  interface TTSInit {
6
6
  audioContext: AudioContext;
7
7
  azureCredentials: string | AzureSpeechCredentials;
8
+ azureRegion: string;
8
9
  ttsDefaultVoice: string;
9
10
  ttsLexicon?: string;
10
11
  }
@@ -15,8 +16,14 @@ interface TTSContext extends TTSInit {
15
16
  wsaUtt?: MySpeechSynthesisUtterance;
16
17
  agenda?: Agenda;
17
18
  buffer?: string;
19
+ currentVoice?: string;
18
20
  utteranceFromStream?: string;
19
21
  }
22
+ interface TTSPonyfillInput {
23
+ audioContext: AudioContext;
24
+ azureRegion: string;
25
+ azureAuthorizationToken: string;
26
+ }
20
27
  type TTSEvent = {
21
28
  type: "PREPARE";
22
29
  } | {
@@ -39,6 +46,9 @@ type TTSEvent = {
39
46
  } | {
40
47
  type: "STREAMING_CHUNK";
41
48
  value: string;
49
+ } | {
50
+ type: "STREAMING_SET_VOICE";
51
+ value: string;
42
52
  } | {
43
53
  type: "STREAMING_DONE";
44
54
  } | {
@@ -48,7 +58,7 @@ export declare const ttsMachine: import("xstate").StateMachine<TTSContext, TTSEv
48
58
  [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{}>, import("xstate").EventObject, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").PromiseSnapshot<string, any>, {
49
59
  [k: string]: unknown;
50
60
  type: string;
51
- }, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").CallbackSnapshot<Agenda>, import("xstate").EventObject, import("xstate").EventObject>;
61
+ }, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").CallbackSnapshot<Agenda>, import("xstate").EventObject, import("xstate").EventObject> | import("xstate").ActorRef<import("xstate").CallbackSnapshot<TTSPonyfillInput>, null, import("xstate").EventObject>;
52
62
  }, import("xstate").Values<{
53
63
  getToken: {
54
64
  src: "getToken";
@@ -62,7 +72,7 @@ export declare const ttsMachine: import("xstate").StateMachine<TTSContext, TTSEv
62
72
  };
63
73
  ponyfill: {
64
74
  src: "ponyfill";
65
- logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, {}>;
75
+ logic: import("xstate").CallbackActorLogic<null, TTSPonyfillInput>;
66
76
  id: string;
67
77
  };
68
78
  start: {
@@ -79,6 +89,10 @@ export declare const ttsMachine: import("xstate").StateMachine<TTSContext, TTSEv
79
89
  type: "addFiller";
80
90
  params: {};
81
91
  };
92
+ assignCurrentVoice: {
93
+ type: "assignCurrentVoice";
94
+ params: {};
95
+ };
82
96
  }>, import("xstate").Values<{
83
97
  bufferContainsUtterancePartReadyToBeSpoken: {
84
98
  type: "bufferContainsUtterancePartReadyToBeSpoken";
@@ -111,7 +125,7 @@ export declare const ttsMachine: import("xstate").StateMachine<TTSContext, TTSEv
111
125
  };
112
126
  ponyfill: {
113
127
  src: "ponyfill";
114
- logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, {}>;
128
+ logic: import("xstate").CallbackActorLogic<null, TTSPonyfillInput>;
115
129
  id: string;
116
130
  };
117
131
  start: {
@@ -128,6 +142,10 @@ export declare const ttsMachine: import("xstate").StateMachine<TTSContext, TTSEv
128
142
  type: "addFiller";
129
143
  params: {};
130
144
  };
145
+ assignCurrentVoice: {
146
+ type: "assignCurrentVoice";
147
+ params: {};
148
+ };
131
149
  }>, import("xstate").Values<{
132
150
  bufferContainsUtterancePartReadyToBeSpoken: {
133
151
  type: "bufferContainsUtterancePartReadyToBeSpoken";
package/dist/tts.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../src/tts.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEzD,UAAU,0BAA2B,SAAQ,wBAAwB;IACnE,KAAK,CAAC,EAAE,MAAM,OAAE;CACjB;AAED,UAAU,OAAO;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,UAAW,SAAQ,OAAO;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,KAAK,QAAQ,GACT;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,0BAA0B,CAAC;KACpC,CAAC;CACH,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAI/B,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DA8arB,CAAC"}
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../src/tts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEzD,UAAU,0BAA2B,SAAQ,wBAAwB;IACnE,KAAK,CAAC,EAAE,MAAM,OAAE;CACjB;AAED,UAAU,OAAO;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,UAAW,SAAQ,OAAO;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,KAAK,QAAQ,GACT;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE,0BAA0B,CAAC;KACpC,CAAC;CACH,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAI/B,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAscrB,CAAC"}
package/dist/tts.js CHANGED
@@ -4,7 +4,6 @@ exports.ttsMachine = void 0;
4
4
  const xstate_1 = require("xstate");
5
5
  const getToken_1 = require("./getToken");
6
6
  const TextToSpeech_1 = require("web-speech-cognitive-services/lib/SpeechServices/TextToSpeech");
7
- const REGION = "northeurope";
8
7
  const UTTERANCE_CHUNK_REGEX = /(^.*([!?]+|([.,]+\s)))/;
9
8
  exports.ttsMachine = (0, xstate_1.setup)({
10
9
  types: {},
@@ -20,6 +19,11 @@ exports.ttsMachine = (0, xstate_1.setup)({
20
19
  context.buffer.substring(spaceIndex),
21
20
  };
22
21
  }),
22
+ assignCurrentVoice: (0, xstate_1.assign)(({ event, }) => {
23
+ return {
24
+ currentVoice: event.value,
25
+ };
26
+ }),
23
27
  },
24
28
  actors: {
25
29
  getToken: getToken_1.getToken,
@@ -37,12 +41,16 @@ exports.ttsMachine = (0, xstate_1.setup)({
37
41
  console.log("received streaming chunk:", event);
38
42
  sendBack({ type: "STREAMING_CHUNK", value: event.data });
39
43
  });
44
+ eventSource.addEventListener("STREAMING_SET_VOICE", (event) => {
45
+ console.log("received streaming voice set command:", event);
46
+ sendBack({ type: "STREAMING_SET_VOICE", value: event.data });
47
+ });
40
48
  }),
41
49
  ponyfill: (0, xstate_1.fromCallback)(({ sendBack, input }) => {
42
50
  const ponyfill = (0, TextToSpeech_1.default)({
43
51
  audioContext: input.audioContext,
44
52
  credentials: {
45
- region: REGION, // TODO
53
+ region: input.azureRegion,
46
54
  authorizationToken: input.azureAuthorizationToken,
47
55
  },
48
56
  });
@@ -106,6 +114,7 @@ exports.ttsMachine = (0, xstate_1.setup)({
106
114
  ttsLexicon: input.ttsLexicon,
107
115
  audioContext: input.audioContext,
108
116
  azureCredentials: input.azureCredentials,
117
+ azureRegion: input.azureRegion,
109
118
  buffer: "",
110
119
  }),
111
120
  initial: "GetToken",
@@ -167,6 +176,11 @@ exports.ttsMachine = (0, xstate_1.setup)({
167
176
  states: {
168
177
  Buffer: {
169
178
  initial: "BufferIdle",
179
+ on: {
180
+ STREAMING_SET_VOICE: {
181
+ actions: "assignCurrentVoice",
182
+ },
183
+ },
170
184
  states: {
171
185
  BufferIdle: {
172
186
  id: "BufferIdle",
@@ -302,7 +316,9 @@ exports.ttsMachine = (0, xstate_1.setup)({
302
316
  wsaTTS: context.wsaTTS,
303
317
  wsaUtt: context.wsaUtt,
304
318
  ttsLexicon: context.ttsLexicon,
305
- voice: context.agenda.voice || context.ttsDefaultVoice,
319
+ voice: context.currentVoice ||
320
+ context.agenda.voice ||
321
+ context.ttsDefaultVoice,
306
322
  utterance: context.utteranceFromStream,
307
323
  }),
308
324
  },
@@ -392,6 +408,7 @@ exports.ttsMachine = (0, xstate_1.setup)({
392
408
  input: ({ context }) => ({
393
409
  audioContext: context.audioContext,
394
410
  azureAuthorizationToken: context.azureAuthorizationToken,
411
+ azureRegion: context.azureRegion,
395
412
  }),
396
413
  },
397
414
  },
package/dist/types.d.ts CHANGED
@@ -16,6 +16,7 @@ export interface AzureLanguageCredentials {
16
16
  export interface Settings {
17
17
  locale?: string;
18
18
  azureCredentials: string | AzureCredentials | AzureSpeechCredentials;
19
+ azureRegion: string;
19
20
  azureLanguageCredentials?: AzureLanguageCredentials;
20
21
  asrDefaultCompleteTimeout?: number;
21
22
  asrDefaultNoInputTimeout?: number;
@@ -40,4 +41,44 @@ export interface RecogniseParameters {
40
41
  hints?: string[];
41
42
  nlu?: boolean | AzureLanguageCredentials;
42
43
  }
44
+ /** events sent to the spawned `speechstate` machine **/
45
+ type SSEventExtIn = {
46
+ type: "PREPARE";
47
+ } | {
48
+ type: "CONTROL";
49
+ } | {
50
+ type: "STOP";
51
+ } | {
52
+ type: "SPEAK";
53
+ value: Agenda;
54
+ } | {
55
+ type: "LISTEN";
56
+ value: RecogniseParameters;
57
+ };
58
+ /** for sendParent, not type-checked */
59
+ type SSEventExtOut = {
60
+ type: "ASR_NOINPUT";
61
+ } | {
62
+ type: "ASRTTS_READY";
63
+ } | {
64
+ type: "ASR_STARTED";
65
+ } | {
66
+ type: "TTS_STARTED";
67
+ } | {
68
+ type: "SPEAK_COMPLETE";
69
+ } | {
70
+ type: "RECOGNISED";
71
+ value: Hypothesis[];
72
+ nluValue?: any;
73
+ };
74
+ type SSEventIntIn = {
75
+ type: "TTS_READY";
76
+ } | {
77
+ type: "ASR_READY";
78
+ } | {
79
+ type: "TTS_ERROR";
80
+ };
81
+ export type SpeechStateExternalEvent = SSEventExtIn | SSEventExtOut;
82
+ export type SpeechStateEvent = SSEventIntIn | SpeechStateExternalEvent;
83
+ export {};
43
84
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;CAAG;AAEnE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,GAAG,sBAAsB,CAAC;IACrE,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG,wBAAwB,CAAC;CAC1C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;CAAG;AAEnE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,GAAG,sBAAsB,CAAC;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG,wBAAwB,CAAC;CAC1C;AAED,wDAAwD;AACxD,KAAK,YAAY,GACb;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEnD,uCAAuC;AACvC,KAAK,aAAa,GACd;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAEhE,KAAK,YAAY,GACb;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1B,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,aAAa,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speechstate",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "license": "GPL-3.0",
5
5
  "homepage": "http://localhost/speechstate",
6
6
  "main": "./dist/index.js",