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.1.0.tar.gz (20.6 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.1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smart_transcriber-0.1.0.tar.gz
  • Upload date:
  • Size: 20.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 7b87fc5598ea595f15dd3460c06d84fb094a13573a9cc43d38e4646bcfc29c95
MD5 e3a955a0a99d0ab04ed6e916c147ca9b
BLAKE2b-256 b6f859c1a343fc99554b52ab020bc9ab5cb2199eb5ab1d943f34e52a5b7d096e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for smart_transcriber-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4fad287e9f6a3b34e6c54c7f2430d7276b5fead12b22c674380052e227d5025
MD5 eb36b117e9ea8d5347b3e8a3c84c5499
BLAKE2b-256 6a2241ccf6d206245a7a7173ddb5a9e334ed97372467898f7d499fb701940724

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