Code Monkey home page Code Monkey logo

recorded-call-transcription's Introduction

Transcribing Recorded Calls using Deepgram

Remix on Glitch

The wealth of knowledge in the conversations that happen during your sales and support calls can be left untapped without automatic transcription. This app aims to demonstrate how to use Deepgram API to transcribe a phone call recorded through Twilio.

Prerequisites

You will need:

Getting started

You can run this application by remixing it on Glitch or by running it on your local computer.

Remix on Glitch

Glitch comes with an online editor, so you'll have all the necessary tools to explore your own app instance. Actions taken in Glitch are subject to Glitch’s Terms of Service and Privacy Policy and are not covered by any Deepgram agreements.

To remix this application on Glitch, go to the following URL:

https://glitch.com/edit/#!/remix/dg-uc-recorded-call-transcription

When accessing this URL in your browser, the project will be forked and deployed.

Configure the settings

Your application will need to know more about you before it can run successfully. Edit the environment variables (.env) to reflect the settings you want to use:

  • YOUR_TWILIO_ACCOUNT_SID: The Account SID from your Twilio Account Dashboard.
  • YOUR_TWILIO_AUTH_TOKEN: The Auth Token from your Twilio Account Dashboard.
  • DG_KEY: The API Key you created earlier in this tutorial.

Once these variables are set, the application should run automatically.

Run on localhost

You can also run this project on your local computer. To do so, you will need to clone the repository, configure the settings, install the dependencies, and start the server. Optionally, you may also want to create a virtual environment.

Clone the repository

Either clone or download the repository to your local machine in a new directory:

# Clone this repo
git clone https://github.com/deepgram-devs/recorded-call-transcription.git

# Move to the created directory
cd recorded-call-transcription

Configure the settings

Your application will need to know more about you before it can run. Copy the .env-example file into a new file named .env, and edit the new file to reflect the settings you want to use:

  • YOUR_TWILIO_ACCOUNT_SID: The Account SID from your Twilio Account Dashboard
  • YOUR_TWILIO_AUTH_TOKEN: The Auth Token from your Twilio Account Dashboard
  • DG_KEY: The Deepgram API key you created earlier in this tutorial.

Create a virtual environment (optional)

Create a virtual Python environment to run the server in isolation and prevent version collisions with other projects. (You can skip this part if you don't mind installing things system-wide.)

# Create the virtual environment
# (Must be run only once.)
python3 -m venv dg-twilio-ve

# Activate the virtual environment
# (Must be run every time you open a new terminal.)
source dg-twilio-ve/bin/activate
# Your prompt should start with `(dg-twilio-ve)`.

# python3 and pip3 will now run in this virtual environment.
# If you want to deactivate this environment, type `deactivate`.

Install the dependencies

In the directory where you downloaded the code, run the following command to bring in the dependencies needed for this project:

pip3 install -r requirements.txt

Start the server

Now that you have configured your application and put the dependencies in place, your application is ready to go! Run it with:

FLASK_APP=server.py FLASK_ENV=development flask run

Development and contributing

Interested in contributing? We ❤️ pull requests!

To make sure our community is safe for all, be sure to review and agree to our Code of Conduct. Then see the Contribution guidelines for more information.

Getting help

We love to hear from you, so if you have questions or comments, or find a bug in the project, let us know! You can either:

Further reading

Check out the Developer Documentation at https://developers.deepgram.com/.

recorded-call-transcription's People

Contributors

ambergeldar avatar frumsdotxyz avatar michaeljolley avatar sebsheep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

recorded-call-transcription's Issues

Need async in /transcribe endpoint

In the /transcribe endpoint, the server doesn't await the result from DG leading to a 500.

We'd need to add Flask[async] and turn the transcribe function into an async one.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.