Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,9 @@
# Marked as generated/vendored so CodeQL and diff views skip them.
static/utility-apps/**/*.js linguist-generated=true linguist-vendored=true
static/utility-apps/**/*.mjs linguist-generated=true linguist-vendored=true
# Compiled WebAssembly runtimes (e.g. ONNX Runtime Web) are binary artifacts.
static/utility-apps/**/*.wasm binary linguist-generated=true linguist-vendored=true

# The transcriber artifact ships a manifest of SHA-256 checksums, so its files
# must round-trip byte-for-byte — no end-of-line normalization.
static/utility-apps/whisper-transcriber/** -text
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ npm run serve
| **Batch File Renamer** | Bulk rename with find/replace, prefixes, numbering, ZIP export | React |
| **Folder Structure Builder** | Design folder trees, export bash/PowerShell scripts | React + JSZip |
| **Business Calendar Generator** | Generate yearly calendars with holidays, export PDF/PNG | React + PDF |
| **Whisper Transcriber** | Transcribe audio/video or microphone input to text and subtitles, fully on-device | Transformers.js + WASM/WebGPU |

---

Expand Down Expand Up @@ -285,6 +286,7 @@ by mirroring files under `i18n/<locale>/docusaurus-plugin-content-*/`.
| `npm run lint` | Run ESLint over src, api and scripts |
| `npm run sitemap:sections` | Generate sectioned sitemaps |
| `npm run sync:webstep-viewer` | Sync WebSTEP viewer embed |
| `npm run sync:whisper-transcriber` | Build and republish the Whisper Transcriber artifact |

---

Expand Down Expand Up @@ -324,9 +326,17 @@ AUTH_REDIRECT_URL=http://localhost:3000/auth/callback
### Adding a New Utility

1. Add utility metadata to `src/data/utilities.ts`
2. Create page route in `src/pages/utilities/`
3. Add documentation in `docs/utilities/`
4. Place standalone build assets in `static/utility-apps/<slug>/` if needed
2. Add the slug and shell config to `src/data/utilityShellPages.tsx`
3. Create page route in `src/pages/utilities/`
4. Add documentation in `docs/utilities/` plus the five `i18n/<locale>/…/utilities/` mirrors, and list it in `sidebars.ts` and `utilities/overview.mdx`
5. Add the catalog name/description to all six `src/i18n/locales/*.ts` dictionaries
6. Place standalone build assets in `static/utility-apps/<slug>/` if needed

Device capabilities (camera, microphone) are delegated **per utility** through the
`iframeAllow` field of `UtilityPageConfig`, paired with a path-scoped
`Permissions-Policy` rule in `vercel.json`. Never widen the global policy: the
site default stays `microphone=()`, and only the routes of the utility that
needs a device relax it. See `whisper-transcriber` for the reference wiring.

---

Expand Down
1 change: 1 addition & 0 deletions docs/utilities/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Each calculator below launches the same standalone page machinists already use.
- [Busbar Calculator](./busbar-calculator.mdx)
- [Gear Pair Calculator](./gear-pair-calculator.mdx)
- [WIKA Log Analyzer](./wikalog-analyzer.mdx)
- [Whisper Transcriber](./whisper-transcriber.mdx)
- [Tube Sheet Generator](./tube-sheet-generator.mdx)
- [WebSTEP Viewer](./webstep-viewer.mdx)
- [Engineering Prompt Catalog](./engineering-prompt-catalog.mdx)
Expand Down
130 changes: 130 additions & 0 deletions docs/utilities/whisper-transcriber.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
title: Whisper Transcriber
description: Transcribe audio and video files or microphone recordings to editable text with Whisper running entirely in your browser, then export TXT, SRT, or WebVTT.
slug: /utilities/whisper-transcriber
image: /img/og/utilities/whisper-transcriber.png
keywords:
- whisper transcriber
- browser speech to text
- offline transcription
- meeting notes
- subtitle generator
- srt webvtt export
- webgpu wasm inference
---

import Head from '@docusaurus/Head';

# Whisper Transcriber

Turn recordings into editable text without sending them anywhere. Audio is decoded, resampled, and transcribed by a Whisper model that runs inside a Web Worker in your own browser — there is no transcription server behind this utility.

![Whisper Transcriber overview card](/img/og/utilities/whisper-transcriber.webp)

<a className="button button--primary" href="/utilities/whisper-transcriber/" data-nobrokenlinkcheck>Open utility</a>

<Head>
<link rel="canonical" href="https://cadautoscript.com/utilities/whisper-transcriber/" />
<script type="application/ld+json">{`{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Whisper Transcriber",
"applicationCategory": "MultimediaApplication",
"operatingSystem": "Web",
"description": "Transcribe audio and video files or microphone recordings to editable text with Whisper running entirely in the browser, then export TXT, SRT, or WebVTT.",
"url": "https://cadautoscript.com/utilities/whisper-transcriber/",
"image": "https://cadautoscript.com/img/og/utilities/whisper-transcriber.png",
"featureList": [
"Audio and video file transcription",
"Record-then-transcribe microphone workflow",
"Automatic language detection with English and Russian modes",
"WebGPU acceleration with WASM fallback",
"Timestamped segments",
"TXT, SRT, and WebVTT export"
],
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"author": {
"@type": "Organization",
"name": "CAD AutoScript"
}
}`}</script>
</Head>

## What it does

Whisper Transcriber converts speech into text on your own machine. You give it an audio or video file — or record straight from the microphone — and it produces a full transcript plus timestamped segments you can edit and export as TXT, SRT, or WebVTT subtitles.

Everything happens in the browser tab: the media is decoded and downmixed to mono 16 kHz, the OpenAI Whisper model runs through Transformers.js on ONNX Runtime Web, and the result never leaves the page. Nothing is uploaded, queued, or stored on a server.

The app is built as a standalone micro-application under `static/utility-apps/whisper-transcriber`. The CAD AutoScript shell embeds it in a same-origin iframe, so the transcriber can evolve in its own repository while sharing this site's catalog, article, reactions, comments, and access layer.

## First run: the model download

The first time you press **Transcribe**, the browser downloads the multilingual Whisper Tiny weights (about 77 MB) from the Hugging Face Hub and caches them. This is the only network traffic the utility generates, and it carries no audio — only the model files.

- Later runs start from that cache and need no network at all.
- Clearing site data, using a private window, or browser storage pressure can evict the cache and trigger a fresh download.
- The model revision is pinned to a fixed commit, so the same version is fetched every time.

## When to use it

- Writing up meeting, supplier-call, or design-review notes from a recording.
- Turning site walkthrough and inspection videos into searchable text.
- Dictating punch lists or QA observations instead of typing them on site.
- Producing SRT or WebVTT subtitles for internal training and handover videos.
- Transcribing material you are not allowed to upload to a third-party service.

## Workflow

1. Drop an audio or video file into the drop zone, or press **Record microphone** and stop when you are done.
2. Wait for the status line to report the media as ready — it shows duration, and whether the windowed pipeline will be used.
3. Choose language, timestamps, and runtime if the defaults do not suit the recording.
4. Press **Transcribe**. On the first run, the progress bar shows the model download; after that it goes straight to inference.
5. Correct the transcript in place — the text area is editable.
6. Copy the text, or export TXT, SRT, or WebVTT.
7. Press **Clear session** to drop the media, transcript, and loaded model from memory.

## Settings

| Setting | Options | What it changes |
| --- | --- | --- |
| Model | Whisper Tiny (multilingual, ~77 MB) | The weights used for recognition and the size of the first download. |
| Language | Automatic, English, Russian | Automatic lets Whisper detect the language; picking one explicitly is more reliable on short or noisy clips. |
| Timestamps | Segment, Off | Segment produces the timestamped list that SRT and WebVTT export needs. Off returns plain text only. |
| Runtime | Auto (WebGPU → WASM), WASM only, WebGPU preferred | Auto uses the GPU when the browser exposes WebGPU and silently falls back to WASM. WASM only is the slower but most compatible path. |

## Long recordings

Short clips are decoded in one pass. Longer media is probed first and then run through a conveyor of roughly 30-second mono windows with 5 seconds of overlap, so only one window of audio sits in memory at a time while the model stays loaded between windows. The transcript fills in window by window, and **Cancel** stops the run without losing what has already been produced.

## Privacy

- Audio, video, filenames, transcript text, and your edits stay in the page. They are never sent to CAD AutoScript, to analytics, or to any transcription API.
- The only outbound requests are the pinned model files from the Hugging Face Hub.
- The microphone is only accessed after you press **Record microphone**, and this is the only utility on the site that is granted microphone permission at all.
- **Clear session** releases the microphone stream, the audio buffers, and the loaded model. Closing the tab does the same.
- Nothing is written to your account, and no transcript history is kept — save or export anything you want to keep before you leave the page.

## Requirements and limits

- A current Chromium, Firefox, or Safari release with WebAssembly support. WebGPU is optional and only adds speed.
- Roughly 77 MB of free browser cache for the model, plus working memory proportional to the recording length.
- Whisper Tiny favours speed over accuracy: expect to proofread technical vocabulary, part numbers, and proper names.
- Heavy accents, crosstalk, and noisy site audio degrade the result — a closer microphone helps far more than any setting here.
- Speaker diarization ("who said what"), live rolling transcription, and larger Whisper models are not part of this version.
- ⚠️ Transcripts are a drafting aid. Verify them against the recording before quoting them in a report, a minute of meeting, or any contractual document.

## Related tools

- [WIKA CPG1500 Log Analyzer](./wikalog-analyzer.mdx)
- [PDF Number Extractor](./pdf-number-extractor.mdx)
- [Focus Planner](./focus-planner.mdx)

## Feedback / bug report

- [Open a GitHub issue](https://github.com/YurMil/cadautoscript.com/issues)
- Email or DM with the slug `whisper-transcriber` so we can reproduce the issue.
2 changes: 1 addition & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ export default tseslint.config(
},
{
// The logger wrapper and build scripts are allowed to use the console.
files: ['src/lib/logger.ts', 'scripts/**/*.js', 'api/**/*.ts'],
files: ['src/lib/logger.ts', 'scripts/**/*.{js,mjs}', 'api/**/*.ts'],
rules: {
'no-console': 'off',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Jedes unten aufgeführte Dienstprogramm startet dieselbe eigenständige Seite, d
- [Busbar Calculator](./busbar-calculator.mdx)
- [Gear Pair Calculator](../gear-pair-calculator/)
- [WIKA Log Analyzer](./wikalog-analyzer.mdx)
- [Whisper Transcriber](./whisper-transcriber.mdx)
- [Tube Sheet Generator](./tube-sheet-generator.mdx)
- [WebSTEP Viewer](./webstep-viewer.mdx)
- [Engineering Prompt Catalog](./engineering-prompt-catalog.mdx)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
title: Whisper Transcriber
description: Audio- und Videodateien oder Mikrofonaufnahmen mit Whisper vollständig im Browser in bearbeitbaren Text transkribieren und als TXT, SRT oder WebVTT exportieren.
slug: /utilities/whisper-transcriber
image: /img/og/utilities/whisper-transcriber.png
keywords:
- whisper transkription
- spracherkennung im browser
- offline transkription
- besprechungsprotokoll
- untertitel generator
- srt webvtt export
- webgpu wasm inferenz
---

import Head from '@docusaurus/Head';

# Whisper Transcriber

Verwandeln Sie Aufnahmen in bearbeitbaren Text, ohne sie irgendwohin zu senden. Das Audio wird dekodiert, umgerechnet und von einem Whisper-Modell in einem Web Worker in Ihrem eigenen Browser transkribiert — hinter diesem Werkzeug steht kein Transkriptionsserver.

![Übersichtskarte Whisper Transcriber](/img/og/utilities/whisper-transcriber.webp)

<a className="button button--primary" href="/utilities/whisper-transcriber/" data-nobrokenlinkcheck>Utility öffnen</a>

<Head>
<link rel="canonical" href="https://cadautoscript.com/utilities/whisper-transcriber/" />
<script type="application/ld+json">{`{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Whisper Transcriber",
"applicationCategory": "MultimediaApplication",
"operatingSystem": "Web",
"description": "Audio- und Videodateien oder Mikrofonaufnahmen mit Whisper vollständig im Browser in bearbeitbaren Text transkribieren und als TXT, SRT oder WebVTT exportieren.",
"url": "https://cadautoscript.com/utilities/whisper-transcriber/",
Comment on lines +27 to +35

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The canonical link and schema URL point to the English version of the page (https://cadautoscript.com/utilities/whisper-transcriber/). For localized pages, they should point to the localized URL (https://cadautoscript.com/de/utilities/whisper-transcriber/) to ensure search engines index the translated content correctly.

  <link rel="canonical" href="https://cadautoscript.com/de/utilities/whisper-transcriber/" />
  <script type="application/ld+json">{`{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Whisper Transcriber",
  "applicationCategory": "MultimediaApplication",
  "operatingSystem": "Web",
  "description": "Audio- und Videodateien oder Mikrofonaufnahmen mit Whisper vollständig im Browser in bearbeitbaren Text transkribieren und als TXT, SRT oder WebVTT exportieren.",
  "url": "https://cadautoscript.com/de/utilities/whisper-transcriber/",

"image": "https://cadautoscript.com/img/og/utilities/whisper-transcriber.png",
"featureList": [
"Transkription von Audio- und Videodateien",
"Aufnehmen und anschließend transkribieren über das Mikrofon",
"Automatische Spracherkennung sowie Modi für Englisch und Russisch",
"WebGPU-Beschleunigung mit WASM-Fallback",
"Segmente mit Zeitstempeln",
"Export als TXT, SRT und WebVTT"
],
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"author": {
"@type": "Organization",
"name": "CAD AutoScript"
}
}`}</script>
</Head>

## Was das Werkzeug leistet

Whisper Transcriber wandelt Sprache auf Ihrem eigenen Rechner in Text um. Sie übergeben eine Audio- oder Videodatei — oder nehmen direkt über das Mikrofon auf — und erhalten ein vollständiges Transkript samt Segmenten mit Zeitstempeln, die Sie bearbeiten und als TXT, SRT oder WebVTT exportieren können.

Alles läuft im Browser-Tab: Die Medien werden dekodiert und auf Mono 16 kHz gemischt, das OpenAI-Whisper-Modell läuft über Transformers.js auf ONNX Runtime Web, und das Ergebnis verlässt die Seite nicht. Nichts wird hochgeladen, in eine Warteschlange gestellt oder auf einem Server gespeichert.

Die Anwendung ist als eigenständige Mikroanwendung unter `static/utility-apps/whisper-transcriber` aufgebaut. Die CAD-AutoScript-Shell bettet sie in einem Same-Origin-iframe ein, sodass der Transcriber sich in seinem eigenen Repository weiterentwickeln kann und zugleich Katalog, Artikel, Reaktionen, Kommentare und Zugriffsschicht dieser Website nutzt.

## Erster Start: der Modell-Download

Beim ersten Klick auf **Transcribe** lädt der Browser die Gewichte des mehrsprachigen Whisper-Tiny-Modells (rund 77 MB) vom Hugging Face Hub und legt sie im Cache ab. Das ist der einzige Netzwerkverkehr dieses Werkzeugs, und er enthält kein Audio — nur die Modelldateien.

- Spätere Läufe greifen auf den Cache zu und benötigen überhaupt kein Netz.
- Das Löschen der Websitedaten, ein privates Fenster oder Speicherdruck im Browser können den Cache verdrängen und einen erneuten Download auslösen.
- Die Modellrevision ist auf einen festen Commit gepinnt, sodass jedes Mal dieselbe Version geladen wird.

## Wann Sie es einsetzen

- Protokolle von Besprechungen, Lieferantengesprächen oder Design-Reviews aus einer Aufnahme erstellen.
- Videobegehungen und Inspektionen in durchsuchbaren Text überführen.
- Mängellisten und QA-Beobachtungen vor Ort diktieren statt tippen.
- SRT- oder WebVTT-Untertitel für interne Schulungs- und Übergabevideos erzeugen.
- Material transkribieren, das nicht zu einem Drittanbieterdienst hochgeladen werden darf.

## Arbeitsablauf

1. Ziehen Sie eine Audio- oder Videodatei in die Ablagefläche oder drücken Sie **Record microphone** und stoppen Sie, wenn Sie fertig sind.
2. Warten Sie, bis die Statuszeile die Medien als bereit meldet — sie zeigt die Dauer und ob die Fensterpipeline verwendet wird.
3. Passen Sie Sprache, Zeitstempel und Runtime an, falls die Voreinstellungen zur Aufnahme nicht passen.
4. Drücken Sie **Transcribe**. Beim ersten Lauf zeigt der Fortschrittsbalken den Modell-Download, danach geht es direkt zur Inferenz.
5. Korrigieren Sie das Transkript direkt — das Textfeld ist editierbar.
6. Kopieren Sie den Text oder exportieren Sie TXT, SRT oder WebVTT.
7. Mit **Clear session** werden Medien, Transkript und geladenes Modell aus dem Speicher entfernt.

## Einstellungen

| Einstellung | Optionen | Wirkung |
| --- | --- | --- |
| Model | Whisper Tiny (mehrsprachig, ~77 MB) | Die Gewichte für die Erkennung und der Umfang des ersten Downloads. |
| Language | Automatic, English, Russian | Automatic lässt Whisper die Sprache erkennen; eine explizite Wahl ist bei kurzen oder verrauschten Clips zuverlässiger. |
| Timestamps | Segment, Off | Segment erzeugt die Liste mit Zeitstempeln, die der SRT- und WebVTT-Export benötigt. Off liefert nur reinen Text. |
| Runtime | Auto (WebGPU → WASM), WASM only, WebGPU preferred | Auto nutzt die GPU, wenn der Browser WebGPU bereitstellt, und fällt still auf WASM zurück. WASM only ist langsamer, aber am kompatibelsten. |

## Lange Aufnahmen

Kurze Clips werden in einem Durchgang dekodiert. Längere Medien werden zunächst geprüft und dann durch ein Fließband aus etwa 30-Sekunden-Fenstern mit 5 Sekunden Überlappung geführt: Es liegt immer nur ein Fenster im Speicher, während das Modell zwischen den Fenstern geladen bleibt. Das Transkript füllt sich Fenster für Fenster, und **Cancel** stoppt den Lauf, ohne das bereits Erzeugte zu verlieren.

## Datenschutz

- Audio, Video, Dateinamen, Transkripttext und Ihre Änderungen bleiben auf der Seite. Sie werden weder an CAD AutoScript noch an Analytics oder eine Transkriptions-API gesendet.
- Die einzigen ausgehenden Anfragen sind die gepinnten Modelldateien vom Hugging Face Hub.
- Auf das Mikrofon wird erst nach dem Klick auf **Record microphone** zugegriffen, und dies ist die einzige Utility der Website, der überhaupt eine Mikrofonberechtigung erteilt wird.
- **Clear session** gibt den Mikrofon-Stream, die Audiopuffer und das geladene Modell frei. Das Schließen des Tabs bewirkt dasselbe.
- Es wird nichts in Ihrem Konto gespeichert und keine Transkript-Historie geführt — sichern oder exportieren Sie alles Wichtige, bevor Sie die Seite verlassen.

## Voraussetzungen und Grenzen

- Eine aktuelle Chromium-, Firefox- oder Safari-Version mit WebAssembly-Unterstützung. WebGPU ist optional und bringt nur Geschwindigkeit.
- Rund 77 MB freier Browser-Cache für das Modell sowie Arbeitsspeicher proportional zur Aufnahmelänge.
- Whisper Tiny bevorzugt Geschwindigkeit vor Genauigkeit: Fachbegriffe, Teilenummern und Eigennamen sollten Sie nachlesen.
- Starke Akzente, Durcheinanderreden und Baustellenlärm verschlechtern das Ergebnis — ein näheres Mikrofon hilft weit mehr als jede Einstellung hier.
- Sprechertrennung, laufende Live-Transkription und größere Whisper-Modelle sind nicht Teil dieser Version.
- ⚠️ Transkripte sind eine Entwurfshilfe. Prüfen Sie sie gegen die Aufnahme, bevor Sie daraus in einem Bericht, Protokoll oder vertraglichen Dokument zitieren.

## Verwandte Werkzeuge

- [WIKA CPG1500 Log Analyzer](./wikalog-analyzer.mdx)
- [PDF Number Extractor](./pdf-number-extractor.mdx)
- [Focus Planner](./focus-planner.mdx)

## Feedback / Fehlermeldung

- [Issue auf GitHub eröffnen](https://github.com/YurMil/cadautoscript.com/issues)
- Schreiben Sie uns mit dem Slug `whisper-transcriber`, damit wir das Problem nachstellen können.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Cada calculadora a continuación lanza la misma página independiente que los ma
- [Busbar Calculator](./busbar-calculator.mdx)
- [Gear Pair Calculator](../gear-pair-calculator/)
- [WIKA Log Analyzer](./wikalog-analyzer.mdx)
- [Whisper Transcriber](./whisper-transcriber.mdx)
- [Generador de placas de tubos](./tube-sheet-generator.mdx)
- [Visor WebSTEP](./webstep-viewer.mdx)
- [Catálogo de prompts de ingeniería](./engineering-prompt-catalog.mdx)
Expand Down
Loading
Loading