/deepgram-conferencing-server

Conferencing application with Deepgram integration for transcribing speakers

Primary LanguageJavaScript

deepgram-conferencing-server Build Status

An audio conferencing application that integrates with Deepgram to provide transcriptions of conference audio. The application also records conference audio and includes a simple web GUI and REST provisioning api.

Installation

The application requires a mysql database with the provided schema used to create a database named 'deepgram'.

The application also requires a drachtio server and Freeswitch (built using this ansible role or equivalent).

For simplicity of installation, a terraform script is provided that deploys a server in an AWS VPC with all needed dependencies configured, using AWS Aurora to deploy a serverless mysql database. This terraform script utilizes an AWS AMI built from this packer script.

Configuration

The application requires these environment variables to be set (note: these are all set automatically when the terraform script is used):

  • DEEPGRAM_USERNAME: the username needed to access the deepgram transcription endpoint
  • DEEPGRAM_PASSWORD: the username needed to access the deepgram transcription endpoint
  • DEEPGRAM_MYSQL_HOST: mysql hostname
  • DEEPGRAM_MYSQL_USER: mysql username
  • DEEPGRAM_MYSQL_PASSWORD: mysql password

Tests

To run the included test suite for the REST provisioning api, you will need to have a mysql server installed on your laptop/server. You will need to set the MYSQL_ROOT_PASSWORD env variable to the mysql root password before running the tests. The test suite creates a database and user in your mysql server to run the tests against, and removes it when done. The database, user, and password are specified in config/local-test.json.

MYSQL_ROOT_PASSWORD=foobar npm test