Skip to content
This repository was archived by the owner on May 6, 2022. It is now read-only.

Commit b1e6676

Browse files
committed
docs: regenerate docs to include Spokestack ASR functions
1 parent cbd76ba commit b1e6676

File tree

3 files changed

+134
-49
lines changed

3 files changed

+134
-49
lines changed

README.md

Lines changed: 131 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,124 @@ If you'd prefer to use Google ASR, follow these [instructions for setting up Goo
2828

2929
## Convenience functions for Node.js servers
3030

31+
### asrSocketServer
32+
33+
**asrSocketServer**(`server`: Server): void
34+
35+
_Defined in [server/socketServer.ts:24](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/server/socketServer.ts#L24)_
36+
37+
Adds a web socket server to the given HTTP server
38+
to stream ASR using Spokestack ASR.
39+
This uses the "ws" node package for the socket server.
40+
41+
```js
42+
import { createServer } from 'http'
43+
const port = parseInt(process.env.PORT || '3000', 10)
44+
const server = createServer() // or express()
45+
// Attach the websocket server to the HTTP server
46+
asrSocketServer(server)
47+
server.listen(port, () => {
48+
console.log(`Listening at http://localhost:${port}`)
49+
})
50+
```
51+
52+
#### Parameters:
53+
54+
| Name | Type |
55+
| -------- | ------ |
56+
| `server` | Server |
57+
58+
**Returns:** void
59+
60+
---
61+
62+
### googleASRSocketServer
63+
64+
**googleASRSocketServer**(`server`: Server): void
65+
66+
_Defined in [server/socketServer.ts:99](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/server/socketServer.ts#L99)_
67+
68+
Adds a web socket server to the given HTTP server
69+
to stream ASR using Google Speech.
70+
This uses the "ws" node package for the socket server.
71+
72+
```js
73+
import { createServer } from 'http'
74+
const port = parseInt(process.env.PORT || '3000', 10)
75+
const server = createServer() // or express()
76+
// Attach the websocket server to the HTTP server
77+
googleASRSocketServer(server)
78+
server.listen(port, () => {
79+
console.log(`Listening at http://localhost:${port}`)
80+
})
81+
```
82+
83+
#### Parameters:
84+
85+
| Name | Type |
86+
| -------- | ------ |
87+
| `server` | Server |
88+
89+
**Returns:** void
90+
91+
### asr
92+
93+
**asr**(`content`: string \| Uint8Array, `sampleRate`: number): Promise\<string \| null>
94+
95+
_Defined in [server/asr.ts:43](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/server/asr.ts#L43)_
96+
97+
A one-off method for processing speech to text
98+
using Spokestack ASR.
99+
100+
```js
101+
import fileUpload from 'express-fileupload'
102+
import { asr } from 'spokestack'
103+
import express from 'express'
104+
105+
const expressApp = express()
106+
107+
expressApp.post('/asr', fileUpload(), (req, res) => {
108+
const sampleRate = Number(req.body.sampleRate)
109+
const audio = req.files.audio
110+
if (isNaN(sampleRate)) {
111+
res.status(400)
112+
res.send('Parameter required: "sampleRate"')
113+
return
114+
}
115+
if (!audio) {
116+
res.status(400)
117+
res.send('Parameter required: "audio"')
118+
return
119+
}
120+
asr(Buffer.from(audio.data.buffer), sampleRate)
121+
.then((text) => {
122+
res.status(200)
123+
res.json({ text })
124+
})
125+
.catch((error: Error) => {
126+
console.error(error)
127+
res.status(500)
128+
res.send('Unknown error during speech recognition. Check server logs.')
129+
})
130+
})
131+
```
132+
133+
#### Parameters:
134+
135+
| Name | Type |
136+
| ------------ | -------------------- |
137+
| `content` | string \| Uint8Array |
138+
| `sampleRate` | number |
139+
140+
**Returns:** Promise\<string \| null>
141+
142+
---
143+
31144
### googleASR
32145

33146
**googleASR**(`content`: string \| Uint8Array, `sampleRate`: number): Promise\<string \| null>
34147

35-
_Defined in [server/asr.ts:42](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/server/asr.ts#L42)_
148+
_Defined in [server/asr.ts:97](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/server/asr.ts#L97)_
36149

37150
A one-off method for processing speech to text
38151
using Google Speech.
@@ -83,7 +196,7 @@ expressApp.post('/asr', fileUpload(), (req, res) => {
83196

84197
**spokestackMiddleware**(): function
85198

86-
_Defined in [server/express-spokestack-middleware.ts:36](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/server/express-spokestack-middleware.ts#L36)_
199+
_Defined in [server/expressMiddleware.ts:37](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/server/expressMiddleware.ts#L37)_
87200

88201
Express middleware for adding a proxy to the Spokestack GraphQL API.
89202
A proxy is necessary to avoid exposing your Spokestack token secret on the client.
@@ -116,47 +229,19 @@ const graphQLFetcher = (graphQLParams) =>
116229

117230
**Returns:** function
118231

119-
### googleASRSocketServer
120-
121-
**googleASRSocketServer**(`server`: Server): void
122-
123-
_Defined in [server/spokestack-socket-server.ts:22](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/server/spokestack-socket-server.ts#L22)_
124-
125-
Adds a web socket server to the given HTTP server
126-
to stream ASR using Google Speech.
127-
This uses the "ws" node package for the socket server.
128-
129-
```js
130-
import { createServer } from 'http'
131-
const port = parseInt(process.env.PORT || '3000', 10)
132-
const server = createServer() // Optionally pass an express app
133-
googleASRSocketServer(server)
134-
server.listen(port, () => {
135-
console.log(`Listening at http://localhost:${port}`)
136-
})
137-
```
138-
139-
#### Parameters:
140-
141-
| Name | Type |
142-
| -------- | ------ |
143-
| `server` | Server |
144-
145-
**Returns:** void
146-
147232
### encryptSecret
148233

149234
**encryptSecret**(`body`: string): string
150235

151-
_Defined in [server/encryptSecret.ts:13](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/server/encryptSecret.ts#L13)_
236+
_Defined in [server/encryptSecret.ts:13](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/server/encryptSecret.ts#L13)_
152237

153238
This is a convenience method for properly authorizing
154239
requests to the Spokestack graphql API.
155240

156241
**Note:** Do not to expose your key's secret on the client.
157242
This should only be done on the server.
158243

159-
See <a href="https://github.com/spokestack/node-spokestack/blob/develop/src/server/express-spokestack-middleware.ts">server/express-spokestack-middleware.ts</a>
244+
See <a href="https://github.com/spokestack/node-spokestack/blob/develop/src/server/expressMiddleware.ts">server/expressMiddleware.ts</a>
160245
for example usage.
161246

162247
#### Parameters:
@@ -175,9 +260,9 @@ These functions are available exports from `spokestack/client`.
175260

176261
### record
177262

178-
**record**(`config`: RecordConfig): Promise\<AudioBuffer>
263+
**record**(`config?`: RecordConfig): Promise\<AudioBuffer>
179264

180-
_Defined in [client/record.ts:84](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/record.ts#L84)_
265+
_Defined in [client/record.ts:84](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/record.ts#L84)_
181266

182267
A method to record audio for a given number of seconds
183268

@@ -257,31 +342,31 @@ fetch('/asr', {
257342

258343
`Optional` **onProgress**: undefined \| (remaining: number) => void
259344

260-
_Defined in [client/record.ts:16](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/record.ts#L16)_
345+
_Defined in [client/record.ts:16](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/record.ts#L16)_
261346

262347
A callback function to be called each second of recording.
263348

264349
##### onStart
265350

266351
`Optional` **onStart**: undefined \| () => void
267352

268-
_Defined in [client/record.ts:14](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/record.ts#L14)_
353+
_Defined in [client/record.ts:14](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/record.ts#L14)_
269354

270355
A callback function to be called when recording starts
271356

272357
##### time
273358

274359
`Optional` **time**: undefined \| number
275360

276-
_Defined in [client/record.ts:12](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/record.ts#L12)_
361+
_Defined in [client/record.ts:12](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/record.ts#L12)_
277362

278363
The total time to record. Default: 3
279364

280365
### startStream
281366

282367
**startStream**(`isPlaying`: () => boolean): Promise\<WebSocket>
283368

284-
_Defined in [client/recordStream.ts:29](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/recordStream.ts#L29)_
369+
_Defined in [client/recordStream.ts:29](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/recordStream.ts#L29)_
285370

286371
Returns a function to start recording using a native WebSocket.
287372
This assumes the socket is hosted on the current server.
@@ -314,7 +399,7 @@ try {
314399

315400
**stopStream**(): void
316401

317-
_Defined in [client/recordStream.ts:72](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/recordStream.ts#L72)_
402+
_Defined in [client/recordStream.ts:79](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/recordStream.ts#L79)_
318403

319404
Stop the current recording stream if one exists.
320405

@@ -329,7 +414,7 @@ stopStream()
329414

330415
**convertFloat32ToInt16**(`fp32Samples`: Float32Array): Int16Array
331416

332-
_Defined in [client/convertFloat32ToInt16.ts:16](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/convertFloat32ToInt16.ts#L16)_
417+
_Defined in [client/convertFloat32ToInt16.ts:16](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/convertFloat32ToInt16.ts#L16)_
333418

334419
A utility method to convert Float32Array audio
335420
to an Int16Array to be passed directly to Speech APIs
@@ -360,7 +445,7 @@ These are low-level functions for working with your own processors, available fr
360445

361446
**startProcessor**(): Promise\<Error] \| [null, [ProcessorReturnValue]>
362447

363-
_Defined in [client/processor.ts:32](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/processor.ts#L32)_
448+
_Defined in [client/processor.ts:32](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/processor.ts#L32)_
364449

365450
Underlying utility method for recording audio,
366451
used by the `record` and `recordStream` methods.
@@ -379,7 +464,7 @@ We'll switch to AudioWorklet when it does.
379464

380465
**stopProcessor**(): void
381466

382-
_Defined in [client/processor.ts:60](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/processor.ts#L60)_
467+
_Defined in [client/processor.ts:60](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/processor.ts#L60)_
383468

384469
Underlying utility method to stop the current processor
385470
if it exists and disconnect the microphone.
@@ -392,19 +477,19 @@ if it exists and disconnect the microphone.
392477

393478
**context**: AudioContext
394479

395-
_Defined in [client/processor.ts:18](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/processor.ts#L18)_
480+
_Defined in [client/processor.ts:18](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/processor.ts#L18)_
396481

397482
##### processor
398483

399484
**processor**: ScriptProcessorNode
400485

401-
_Defined in [client/processor.ts:19](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/processor.ts#L19)_
486+
_Defined in [client/processor.ts:19](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/processor.ts#L19)_
402487

403488
### concatenateAudioBuffers
404489

405490
**concatenateAudioBuffers**(`buffer1`: AudioBuffer, `buffer2`: AudioBuffer, `context`: AudioContext): null \| AudioBuffer
406491

407-
_Defined in [client/concatenateAudioBuffers.ts:4](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/concatenateAudioBuffers.ts#L4)_
492+
_Defined in [client/concatenateAudioBuffers.ts:4](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/concatenateAudioBuffers.ts#L4)_
408493

409494
A utility method to concatenate two AudioBuffers
410495

@@ -422,7 +507,7 @@ A utility method to concatenate two AudioBuffers
422507

423508
**countdown**(`time`: number, `progress`: (remaining: number) => void, `complete`: () => void): void
424509

425-
_Defined in [client/countdown.ts:7](https://github.com/spokestack/node-spokestack/blob/8b22e98/src/client/countdown.ts#L7)_
510+
_Defined in [client/countdown.ts:7](https://github.com/spokestack/node-spokestack/blob/d0640e3/src/client/countdown.ts#L7)_
426511

427512
Countdown a number of seconds
428513

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tasks/docs.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ function getInterfaceContent(filename, name) {
3434
}
3535

3636
;[
37+
'_server_socketserver_.md',
3738
'_server_asr_.md',
38-
'_server_express_spokestack_middleware_.md',
39-
'_server_spokestack_socket_server_.md',
39+
'_server_expressmiddleware_.md',
4040
'_server_encryptsecret_.md'
4141
].forEach((filename) => {
4242
data += getModuleContent(filename)

0 commit comments

Comments
 (0)