cd /news/artificial-intelligence/building-a-portuguese-pt-br-audio-vi… · home › topics › artificial-intelligence › article
[ARTICLE · art-163565] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

Building a Portuguese (PT-BR) Audio & Video Transcription Pipeline with Whisper Large-v3, Pyannote Speaker Diarization, and MCP

A developer built Transcreva, a browser-accessible PT-BR transcription and subtitle platform that pairs Whisper Large-v3 speech-to-text with Pyannote speaker diarization to produce speaker-labeled transcripts with word-level timestamps, plus SRT/VTT subtitle export. The workflow is also exposed to AI coding assistants such as Cursor, Claude Desktop and Windsurf through an open-source Model Context Protocol server, transcreva-mcp, installable via npx.

by read1 min views1 publishedNov 4, 2026

Transcribing multi-speaker audio and video in Brazilian Portuguese (PT-BR) comes with unique acoustic challenges: regional accents, colloquial expressions, overlapping speech in interviews, and low-bitrate voice notes (such as .opus / .ogg files from WhatsApp).

In this guide, we walk through how we architected Transcreva — a fast, browser-accessible AI transcription and subtitle generation platform with automatic speaker diarization — and how we exposed its workflow to AI coding agents using the Model Context Protocol (MCP).

When you run standard speech-to-text on a 45-minute podcast or academic interview, a wall of unsegmented text is hard to read. To produce dialogue-ready transcripts with Speaker 1, Speaker 2 labels and word-level timestamps, we combine two stages:

interface TranscriptSegment {
  id: string;
  speaker: string; // e.g., "Speaker 1"
  startTime: number; // seconds
  endTime: number;
  text: string;
}

export function formatSrtTimestamp(seconds: number): string {
  const hrs = Math.floor(seconds / 3600);
  const mins = Math.floor((seconds % 3600) / 60);
  const secs = Math.floor(seconds % 60);
  const ms = Math.round((seconds % 1) * 1000);
  return `${String(hrs).padStart(2, "0")}:${String(mins).padStart(2, "0")}:${String(secs).padStart(2, "0")},${String(ms).padStart(3, "0")}`;
}

.opus / .ogg) and Video Subtitles (.srt / .vtt) Two of the most common real-world workflows for Brazilian journalists, researchers, and creators are:

transcreva-mcp) To bring transcription utilities directly into AI coding assistants (Cursor, Claude Desktop, Windsurf), we also built an open-source Model Context Protocol server: transcreva-mcp.

You can add it to your MCP configuration in seconds:

{
  "mcpServers": {
    "transcreva": {
      "command": "npx",
      "args": ["-y", "transcreva-mcp"]
    }
  }
}
── more in #artificial-intelligence 4 stories · sorted by recency
── more on @transcreva 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/building-a-portugues…] indexed:0 read:1min 2026-11-04 · —