Skip to main content

Transcribe meeting audio and generate structured notes using OpenAI APIs

Project description

smart-transcriber

Transcribe meeting audio and generate structured notes using OpenAI APIs.

Install

pip install smart-transcriber

Quick Start

export OPENAI_API_KEY="sk-..."
transcribe meeting.mp3

This produces meeting.md with a summary, decisions, action items, speaker-labeled transcript, and more.

Requirements

  • Python 3.11+
  • OpenAI API key — set OPENAI_API_KEY environment variable
  • ffmpeg — required for audio files larger than 25 MB (auto-detected)

Install ffmpeg: https://ffmpeg.org/download.html

Usage

transcribe <audio_file> [options]

Examples

# Basic transcription with summary
transcribe meeting.mp3

# Specify output path
transcribe meeting.mp3 --out notes.md --json-out notes.json

# Outline style instead of report
transcribe meeting.wav --style outline

# Use a different analysis model
transcribe meeting.m4a --analysis-model gpt-5-mini

# Transcription only (no summary/analysis)
transcribe meeting.mp3 --no-analysis

# Re-analyze a saved transcript
transcribe --analysis-only --transcript-input raw.json --out notes.md

# Render wall-clock timestamps
transcribe meeting.mp3 --start-time 09:30

# Provide hints for better results
transcribe meeting.mp3 --num-speakers 4 --prompt "Acme Corp, Project Phoenix"

Options

Option Default Description
audio_file Path to audio file (extension auto-detected)
--out <audio_stem>.md Markdown output path
--json-out JSON output (analysis + transcript)
--transcript-json Save raw transcription JSON
--transcribe-model whisper-1 Transcription model
--analysis-model gpt-5.2 Analysis/summary model
--language en Language hint for transcription
--num-speakers Speaker count hint
--prompt Transcription prompt (names, jargon)
--style report Output style: report or outline
--include-metadata off Show metadata in outline style
--disclaimer Disclaimer text at top of notes
--no-analysis off Skip analysis, transcribe only
--analysis-only off Skip transcription, analyze saved JSON
--transcript-input JSON input for --analysis-only
--chunk-seconds 600 Chunk length for large files
--merge-gap-seconds 2 Max gap to merge same-speaker segments
--max-merge-seconds 45 Max duration per merged line
--max-merge-words 80 Max words per merged line
--start-time Render wall-clock timestamps (HH:MM or HH:MM:SS)

How It Works

The tool makes two OpenAI API calls per file:

  1. Transcription — audio → text with timestamps (Whisper API)
  2. Analysis — text → structured summary, speaker labels, decisions, action items (Chat API)

For large files (>25 MB), audio is automatically split into chunks using ffmpeg, transcribed separately, and merged.

Performance

Expect processing time to scale with audio duration. For faster results:

# Use a smaller analysis model
transcribe meeting.mp3 --analysis-model gpt-5-mini

# Skip analysis entirely
transcribe meeting.mp3 --no-analysis

License

MPL 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smart_transcriber-0.2.0.tar.gz (161.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smart_transcriber-0.2.0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file smart_transcriber-0.2.0.tar.gz.

File metadata

  • Download URL: smart_transcriber-0.2.0.tar.gz
  • Upload date:
  • Size: 161.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for smart_transcriber-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f574b5da65ba7042ba7f77f7a595171477034a7eb429e653c39c0ba69ef7686c
MD5 bf40bca68a4a18312b75dd7f5890170b
BLAKE2b-256 e01d8d66d43cf456454cbc182fa9672de7d6ed3b76767f18947769ee72f1e7c9

See more details on using hashes here.

File details

Details for the file smart_transcriber-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for smart_transcriber-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32d9a4365647dc419e0dbd60c583217d5760bdf3ee1e0e30f9cbc9fe7180a576
MD5 77ff851d01e98ecd6d3f03418f80821c
BLAKE2b-256 fe3170d3024a62056a2dc52877cac3865f357074fd180f5a5f1f7c7ad0d5846f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page