Handles speech synthesis and recognition within ScaleReach with multilanguage support
- Recognition: Uses websockets to streams raw audio data in opus codecs in mpeg containers for live transcription
- Synthesis: Uses simple HTTP requests to obtain streamable audio data in aac codecs
To startup a development server,
npm i
npm start
Alternatively, you may use pnpm as a drop-in replacement for npm
Lightweight server with no build processes
Configuration for frontend
.invokeOrigin: (string) URL address of ScaleReach's frontend (e.g. "http://localhost:8000", no trailing forward slash), used to establish CORS policy for web sockets establishment
DEEPGRAM_API_KEY: (string) DeepGram's supplied API keyPORT: (number) port number the Speech Service server will run on (defined in/Dockerfile)
express.js: NodeJS web frameworksocket.IO: NodeJS web socket libraryDeepgram JS SDK: JS SDK to interact with Deepgram's API
Ensure .env file exists within /src folder (e.g. /src/.env)
- Upload certificates (.pem and .key) into /certs (
./certs/scalereach.team.pemand./certs/scalereach.team.key) docker build -t transcriber .docker run -p 6733:6733 --env-file ./src/.env transcriber