ANI

Free Transcription with Speakr – KDnuggets

Transcribing meetings, interviews, and voice notes used to mean one of two things: paying for a subscription service or spending hours doing it by hand. There’s a third option that’s been picking up steam among data scientists, researchers, and privacy-conscious professionals: running your own transcription stack on your own hardware.

Speakr is a free, open-source, self-hosted transcription platform built by developer Murtaza Nasir. It turns audio recordings into organized, searchable, AI-summarized notes. For professionals who regularly handle sensitive interviews, NDA-covered discussions, or confidential meetings, keeping audio off third-party servers is a big deal.

Before going further, one important clarification on cost: Speakr itself is free and open-source. However, most of its transcription backends rely on external APIs (OpenAI, AssemblyAI, Deepgram) that charge per-minute usage fees. The only configuration that eliminates API costs entirely is the self-hosted WhisperX backend, which runs locally but requires a GPU. This roadmap will help you understand those trade-offs and choose the right setup for your situation.

This roadmap covers what Speakr is, how it compares to commercial alternatives, how to get it running, and how to build practical workflows around it. Whether you’re a data scientist transcribing research interviews, a machine learning engineer documenting team standups, or a graduate student capturing lecture notes, this guide takes you from setup to proficiency in seven steps.

Step 1: Understanding What Speakr Is and Why It Exists

Before installing anything, it helps to understand the problem Speakr solves and why self-hosting is worth the extra setup effort.

Commercial transcription tools like Otter.ai work well, but they come with trade-offs. Otter.ai’s free tier limits users to 300 transcription minutes per month, and its Pro plan costs $16.99 per user per month. More importantly, your audio is processed and stored on external servers. For journalists, researchers, and professionals working under non-disclosure agreements, that’s often a non-starter.

Speakr avoids those constraints. Because it runs on your own infrastructure, there are no monthly minute caps beyond what your hardware can handle. And when using a self-hosted backend like WhisperX, your audio never leaves your machine.

Speakr is a multi-backend platform, not a single-engine tool. It supports several transcription providers, including the open-source OpenAI Whisper model family, OpenAI’s hosted API, Deepgram, AssemblyAI, and others. The Whisper model family is the same speech recognition technology behind many commercial transcription products, so accuracy is on par with paid services rather than a downgrade.

The tool isn’t Windows-only either. It deploys via Docker and Docker Compose, so it runs on Linux, macOS, and Windows equally well. A mobile-friendly Progressive Web App (PWA) interface lets you access it from a phone browser too.

Key Concepts to Understand at This Stage

  • Self-hosted vs. cloud-hosted transcription trade-offs, including the privacy and cost implications of each
  • What the Whisper model family is and why its accuracy matters
  • Docker as a deployment mechanism (you don’t need deep Docker knowledge to use Speakr)
  • The AGPLv3 open-source license under which Speakr is released

Recommended Reading

Step 2: Setting Up Your Environment

Speakr’s primary dependency is Docker. If you’ve never used Docker before, this step introduces just enough to get the tool running without requiring you to become a container expert.

Start by installing Docker Desktop for your operating system. Docker Desktop includes both Docker Engine and Docker Compose, which are the two tools Speakr’s quick start relies on.

Once Docker is running, the installation process follows these steps:

mkdir speakr && cd speakr
wget  -O docker-compose.yml
wget  -O .env

This downloads Speakr’s configuration files into a local directory. Next, open the .env file to configure your setup:

nano .env

At minimum, you need to set admin credentials and your API keys. The official docs flag admin credentials as a required step before first launch:

ADMIN_USERNAME=your-username
[email protected]
ADMIN_PASSWORD=a-strong-password
TRANSCRIPTION_API_KEY=sk-your-openai-key
TEXT_MODEL_API_KEY=your-openrouter-or-openai-key

Don’t skip the admin credentials. The defaults (admin / changeme) are a security risk, especially on any machine accessible over a network.

Then launch the application:

docker compose up -d

Speakr will be accessible at once the containers start. The full installation guide lives at the official Speakr documentation site.

Note for users on bandwidth-constrained connections: Speakr offers a lightweight image (learnedmachine/speakr:lite) that is roughly 725 MB instead of 4.4 GB. All core features work normally; the only difference is that the semantic search in Inquire Mode falls back to basic text search. You may notice the Docker image is published under the learnedmachine namespace on Docker Hub while the source code lives under murtaza-nasir on GitHub. This is intentional: both are the official Speakr project, and the namespace difference simply reflects the developer’s chosen Docker Hub organization name.

Choosing Your Transcription Backend

Speakr’s connector-based architecture lets you swap transcription engines without changing how you use the rest of the application. Your choice of backend affects privacy, cost, and accuracy, so it’s worth understanding the options before committing to a configuration.

 

Backend Setup Required Cost Speaker Diarization Voice Profiles
OpenAI Transcribe API key only Pay-per-use Yes No
WhisperX (self-hosted) GPU + container Free after hardware Yes, best quality Yes
AssemblyAI API key only Pay-per-use (free credits) Yes No
Deepgram API key only Pay-per-use Yes No

 

WhisperX is the only self-hosted option here. It requires a GPU and eliminates ongoing API costs once deployed, making it the setup that delivers both full data privacy and zero runtime cost.

For most users starting out, the OpenAI connector is the simplest path. Configure it in your .env file like this:

TRANSCRIPTION_API_KEY=sk-your-openai-key
TRANSCRIPTION_MODEL=gpt-4o-transcribe-diarize

One thing to note about that model string: gpt-4o-transcribe-diarize is a Speakr-internal alias, not a model name you’ll find in OpenAI’s standard API documentation. Speakr’s connector handles the mapping to the correct underlying API call, so don’t go looking for it in OpenAI’s model catalog.

If you want the highest possible accuracy and complete privacy, the WhisperX ASR Service backend is the way to go. Beyond best-in-class diarization, WhisperX enables voice profiles, meaning Speakr can recognize the same speaker across different recordings. This works by extracting and storing speaker embeddings (vector representations of each voice), which persist in the database between sessions. It requires more compute than standard transcription; plan on an Nvidia GPU with at least 6 to 8 GB of VRAM to avoid out-of-memory errors.

AssemblyAI is worth noting as a cloud-based alternative: it handles multi-hour, multi-speaker files in a single job, and new accounts receive free credits without requiring a credit card.

The connector is auto-detected from your configuration, so switching between backends later means updating a few lines in your .env file, not reinstalling anything.

Recording, Uploading, and Transcribing

With Speakr running, this step covers the three main ways to get audio into the system and what happens once it’s there.

Option A: Recording Directly in the Browser

Speakr’s web interface includes an in-browser recorder that captures from your microphone, your computer’s system audio, or both mixed together. This is useful for transcribing live meetings or capturing both sides of a call. A per-OS setup guide surfaces the right virtual audio device for your platform: BlackHole on macOS, VB-Cable or Stereo Mix on Windows, and PulseAudio monitors on Linux.

Option B: Uploading Existing Files

Drag and drop audio or video files directly into the interface. Speakr handles format conversion internally via FFmpeg, so most common audio and video formats work without pre-processing.

Option C: Auto-Importing via a Watched Folder

Drop files into a designated folder on your server and Speakr picks them up and processes them automatically. This comes in handy for batch workflows, like processing a week’s worth of recorded calls overnight.

Once a recording is processed, Speakr produces:

  • A full transcript with clickable timestamps (click any line to jump to that moment in the audio)
  • An AI-generated summary with bullet points, key takeaways, and next steps
  • Speaker-labeled turns if diarization is enabled
  • An automatically generated title

Suggested Projects at This Stage

  • Transcribe three different recording types (a meeting, an interview, and a voice note) and compare accuracy.
  • Experiment with the diarization feature on a two-person conversation.
  • Try the bulk upload path with a folder of existing audio files.

Organizing Your Transcription Library

As your library of transcripts grows, Speakr’s organizational features become more important. This step covers the tools available for keeping recordings structured and findable.

Folders and tags are the two primary organizational layers. Folders work as expected. Tags go further: each tag can carry its own AI prompt and transcription settings, so applying a tag changes how Speakr processes and summarizes recordings in that category.

For example, a “Research Interview” tag might instruct the AI to extract methodology, key findings, and participant quotes in its summary. A “Team Standup” tag might extract blockers, decisions, and action items instead. Tags can also stack:

"Client Meeting" + "Legal Review" = client requirements plus legal implications highlighted in the same summary

Retention policies let you set automatic deletion schedules per tag or folder, useful for routine recordings you don’t need to keep indefinitely. Individual recordings can be protected from cleanup when needed.

Inquire Mode is Speakr’s semantic search feature. It lets you ask natural-language questions across your entire library at once, rather than searching for keywords. This is especially valuable for researchers who want to surface relevant passages across dozens of interviews without manually reviewing each transcript.

Suggested Projects at This Stage

  • Create two or three tags with custom AI prompts tailored to your most common recording types.
  • Set a retention policy on a folder of routine meeting recordings.
  • Run a semantic search query across at least five transcripts in Inquire Mode.

Collaborating and Sharing

Speakr supports multi-user setups, making it viable for small teams and research groups, not just individual use.

Groups let you create a shared workspace where recordings tagged with a group tag are automatically visible to every group member. A research team could use this to share interview transcripts as they’re processed, without any manual sharing step.

Granular sharing gives you more control for external collaborators: you can share individual recordings with view-only or edit permissions, and generate secure public links for parties who don’t have a Speakr account.

Single Sign-On (SSO) is available for teams already using an identity provider. Speakr integrates with any OpenID Connect (OIDC) provider, including Keycloak, Azure Active Directory, Google, and Auth0.

For teams that want to connect Speakr to other tools, a REST API with a Swagger UI documentation interface is built in. Signed webhooks let you trigger external workflows when a recording finishes processing, which opens up integrations with automation platforms like n8n, Zapier, or Make.

A practical example: a webhook fires when a meeting recording finishes, triggering an n8n workflow that extracts the action items from the summary and creates tasks in your project management tool automatically.

Suggested Projects at This Stage

  • Set up a group workspace for a two-person research collaboration.
  • Build a simple webhook integration that posts a Slack notification when a recording finishes.
  • Explore the REST API documentation at /api/docs on your Speakr instance.

Advanced Configurations and Long-Term Workflows

Once you’re comfortable with the core features, several advanced configurations expand what Speakr can do.

Custom vocabulary and hotwords let you bias the transcription model toward names, technical terms, and acronyms it might otherwise mishear. This is configurable globally or per tag and folder. For data scientists and machine learning engineers, this means you can steer Speakr toward correctly transcribing domain-specific terms like “BLEU score,” “gradient descent,” or specific model names that generic speech models often mangle.

Automated export writes completed transcripts to a template file in a location of your choosing. Map the export target to your note-taking application’s vault folder (such as Obsidian or Logseq) and transcripts appear there automatically when processing completes, with no manual export step required.

S3-compatible storage is available for teams who want transcripts and audio stored in cloud object storage rather than on local disk. Speakr supports AWS S3, MinIO, Backblaze B2, Cloudflare R2, and Wasabi. Local storage remains the default; this is an opt-in configuration.

Usage budgets let administrators cap how many language model tokens and transcription minutes each user can consume per period, useful for small teams sharing API costs.

Voice profiles, available with the WhisperX backend, persist across sessions using speaker embeddings stored in Speakr’s database. Once the system has processed a speaker’s voice in one recording, it can identify that person automatically in future recordings, eliminating the need to manually label speakers in transcripts of recurring meetings. Keep in mind this feature requires the full WhisperX container with GPU support, not the lite image.

A note on security for multi-user deployments: keep Speakr updated to the latest release. Recent versions have addressed several security patches, including fixes for stored cross-site scripting, webhook server-side request forgery, and a bundled FFmpeg vulnerability (CVE-2026-8461). Staying current matters more here than with most self-hosted tools because Speakr accepts untrusted audio uploads in team configurations.

Suggested Projects at This Stage

  • Configure hotwords for the five most commonly mispronounced terms in your domain.
  • Set up automated export to your note-taking workflow.
  • If you have GPU access, deploy the WhisperX backend and compare its diarization quality against the OpenAI connector.

Recommended Learning Resources

Official Documentation and Source

Background Reading

For Docker Setup

Final Thoughts

Speakr is a capable transcription platform that happens to be free and open source, not a free tool with features stripped down to push you toward a paid tier. With over 3,700 GitHub stars and more than 300 forks as of mid-2026, it’s built a real user base quickly.

The setup investment is real. If “Docker container” is an unfamiliar term, expect to spend an hour or two getting comfortable before things click. The cost picture is also worth thinking through honestly: if you use the OpenAI or AssemblyAI connectors, you’re trading the Otter.ai subscription for API usage fees, which may or may not be cheaper depending on your volume. The economics shift in Speakr’s favor once you have a GPU and run WhisperX locally, at which point transcription costs drop to near zero.

For data scientists and machine learning professionals, Speakr also doubles as an instructive example of applied AI architecture: a modular backend with swappable inference engines, a REST API, webhook-based event handling, and a semantic search layer built on embeddings. Using it well means understanding those components, so the learning here goes both ways.

Start with the Docker quick start, process a handful of your own recordings, and let the tool prove itself before investing time in the advanced configurations. The path from first transcript to a working workflow is shorter than it looks.
 
 

Vinod Chugani is an AI and data science educator who bridges the gap between emerging AI technologies and practical application for working professionals. His focus areas include agentic AI, machine learning applications, and automation workflows. Through his work as a technical mentor and instructor, Vinod has supported data professionals through skill development and career transitions. He brings analytical expertise from quantitative finance to his hands-on teaching approach. His content emphasizes actionable strategies and frameworks that professionals can apply immediately.

Source link

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button