Skip to content
/ DBAT Public

Fast batch audio transcription powered by Deepgram Nova-3. Upload multiple MP3 files and get accurate transcriptions with concurrent processing.

License

Notifications You must be signed in to change notification settings

bsisduck/DBAT

Repository files navigation

DBAT - Deepgram Batch Audio Transcription 🎙️

Fast batch audio transcription powered by Deepgram Nova-3. Upload multiple MP3 files and get accurate transcriptions with concurrent processing.

Features

  • Batch Processing - Upload unlimited files, processed in batches of 10
  • Concurrent Transcription - 10 files transcribed simultaneously for 10x speed
  • Multi-Language Support - English, Polish, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Japanese, Korean
  • Customizable Options - Toggle smart formatting and punctuation
  • Download as ZIP - Get all transcriptions in one convenient file
  • Simple Web UI - Clean Streamlit interface, no coding required

Quick Start

Prerequisites

macOS Setup

If you don't have Python installed on macOS:

# Using Homebrew (install if needed: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")
brew install python3

# Verify installation
python3 --version

Windows Setup

If you don't have Python installed on Windows:

  1. Download Python from python.org
  2. Run the installer and check "Add Python to PATH" during installation
  3. Verify installation in Command Prompt or PowerShell:
python --version

Installation

  1. Clone the repository:
git clone https://github.com/bsisduck/DBAT.git
cd DBAT
  1. Create virtual environment:

macOS/Linux:

python3 -m venv venv
source venv/bin/activate

Windows:

python -m venv venv
venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Usage

  1. Start the application:
streamlit run app.py
  1. Open your browser at http://localhost:8501

  2. Enter your Deepgram API key in the sidebar

  3. Select your language and options

  4. Upload MP3 files and click "Transcribe All"

  5. Download the ZIP file with all transcriptions

Configuration

Transcription Options

  • Smart Format: Improves readability with proper formatting
  • Punctuation: Adds punctuation marks to transcriptions
  • Language: Select the language of your audio files

API Key

You can provide your API key in two ways:

  1. Enter it in the sidebar UI (recommended)
  2. Set DEEPGRAM_API_KEY in .env file

How It Works

  1. Files are split into batches of 10
  2. Each batch processes 10 files concurrently using threading
  3. Deepgram Nova-3 API transcribes the audio
  4. Transcriptions are saved as .txt files
  5. All files are packaged into a timestamped ZIP

Performance

  • Sequential: 28 files × 1 min = ~28 minutes
  • Concurrent (10 at once): 3 batches × 1 min = ~3 minutes

Processing time depends on audio length and API response time.

Requirements

streamlit==1.28.1
deepgram-sdk==3.5.0
python-dotenv==1.0.0

Project Structure

DBat/
├── app.py                    # Main Streamlit application
├── transcription_service.py  # Deepgram API wrapper
├── batch_processor.py        # Concurrent batch processing
├── zip_utils.py             # ZIP file creation
├── requirements.txt         # Python dependencies
├── .env.example            # Environment template
├── LICENSE                 # MIT License
└── README.md               # This file

Supported Languages

English, Polish, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Japanese, Korean

More languages available - check Deepgram docs

Troubleshooting

API key not working?

Files not uploading?

  • Only MP3 files are supported
  • Max file size: 2000 MB per file
  • Ensure stable internet connection

Slow processing?

  • Processing time depends on audio length
  • Check your Deepgram plan limits
  • Longer files take proportionally longer

License

MIT License - see LICENSE file for details

Credits

Contributing

Contributions welcome! Please open an issue or submit a pull request.

Support

About

Fast batch audio transcription powered by Deepgram Nova-3. Upload multiple MP3 files and get accurate transcriptions with concurrent processing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages