Node.js
Read local files, uploads, S3/R2 objects, and other byte sources.
Convert WEBA files to GitHub-Flavored Markdown directly in your browser.
Your WEBA stays on your device. No upload. No account.
Starting local converter
$
npm install @mdgate/audio
// Register the callback your app already uses
import { create } from '@mdgate/core';
import { audio } from '@mdgate/audio';
const toMarkdown = create([
audio(yourCallback),
]);
const markdown = await toMarkdown(bytes);
Pure TypeScript, Node.js, Cloudflare Workers, Edge, Browser, No Python, No native addons, No WASM, Zero third-party runtime dependencies
Read local files, uploads, S3/R2 objects, and other byte sources.
Detect audio inside Workers, then call the transcription function you register.
Files stay in the browser. Transcription still needs the callback your application provides.
Run the same TypeScript converter in compatible Edge runtimes.
audio bytes → @mdgate/audio
your speech model → Markdown
@mdgate/audio does not silently send audio to a transcription service.
No separate processing service. The converter is TypeScript you can call from Node.js, Cloudflare Workers, Edge runtimes, and browsers.
Detection stays local. Model work happens only through a callback you register.
Recognizes WEBA files from their contents, not only the filename.
Format detection is deterministic. Any model output comes from the callback you supply.
No Python. No native addons. No WASM. No third-party runtime dependencies.
Turn WEBA files into content your agent can actually work with.
@mdgate/audio
@mdgate/core
+ @mdgate/audio
+ @mdgate/pdf
+ @mdgate/docx
@mdgate/converters
Files you drop on this page stay in the browser. WEBA conversion that needs a model still requires a callback in your application.
Yes. @mdgate/audio runs directly in Cloudflare Workers.
No.
No.
GitHub-Flavored Markdown.
Yes. Install @mdgate/audio instead of the complete converter set.
No. audio() is not in all(). Connect the speech model your application already uses.