Transcribe Local Audio Files: MP3, M4A & Voice Memos to Timecoded Markdown

By Erwin Wu · Updated 2026-10-19

Upload MP3, M4A, WAV, FLAC, OGG, OPUS, or AAC recordings directly in the workspace:

Turn voice memos, in-person interviews, and lecture recordings (up to 100 MB and 120 minutes) into complete, timecoded transcripts in Markdown, TXT, SRT, or VTT — with immediate physical file deletion upon completion.

Upload Audio File in Workspace →

120 free Credits on signup (120 minutes of audio) · ~50x real-time speed · Audio physically deleted after transcription

Why local audio recordings need a pay-as-you-go, privacy-first workflow

Whether you record university lectures on a digital voice recorder, capture field interviews as iPhone Voice Memos (.m4a), or save podcast raw tracks as .mp3 or .wav, turning local audio files into usable text usually hits three roadblocks:

  • Forced monthly subscriptions — Most commercial speech-to-text services (such as meeting-bot platforms) lock file uploads behind $16–$30/month recurring subscriptions, even when you only need to transcribe two or three recordings a month.
  • Permanent cloud retention — Many platforms keep your uploaded voice recordings stored indefinitely on their servers unless you manually hunt down and purge audio archives.
  • Slow processing & messy output — Waiting 10 minutes for a 45-minute recording only to receive an unformatted wall of text without timestamps makes reviewing quotes painful.

Supported audio formats, container inspection, and file limits

VideoScript accepts pure-audio files directly from your computer or phone:

  • Supported extensions & codecs — .mp3, .m4a (including Apple Voice Memos), .aac, .wav, .ogg, .opus, and .flac.
  • FFprobe stream verification — Voice recorders and mobile apps frequently save AAC or Opus audio inside misnamed file extensions (such as an M4A container named recording.mp3). VideoScript inspects the actual acoustic container with FFprobe before segmentation so valid audio files process cleanly instead of failing on extension mismatches.
  • Size & duration bounds — Each upload supports up to 100 MB and up to 120 minutes (2 hours) of audio. Billing is measured strictly from the file's real acoustic duration (1 Credit = 1 minute, rounded up to the next whole minute).
  • Why video containers are rejected — VideoScript intentionally rejects video files (.mp4, .mov, .mkv, .avi) at upload intake. Video streams are 90%+ pixel data that speech recognition discards anyway; rejecting video containers upfront prevents slow multi-gigabyte uploads. If your video is hosted on YouTube or Bilibili, simply paste the public link instead.

Zero audio retention: immediate physical deletion

Personal recordings require strict data hygiene. VideoScript enforces a deterministic, two-layer deletion contract for every uploaded audio file:

  1. Private temporary staging — When you upload a file, it streams directly to an isolated, non-public Cloudflare R2 staging object scoped exclusively to that single transcription job.
  2. Immediate physical purge at terminal state — The instant your transcription job reaches completed or failed, the API Worker issues an immediate physical DELETE against the R2 object. Only your text transcript remains in your private library.
  3. 24-hour hard bucket failsafe — Even if an unexpected network interruption occurs before submission completes, an automated bucket lifecycle rule purges any orphaned staging object within 24 hours.

Comparison: VideoScript vs. monthly transcription subscriptions

FeatureTypical Meeting-Bot SubscriptionVideoScript
Billing model$16.99–$30/month recurring auto-renewal120 free mins on signup; non-expiring packs from $9.99 (18 hrs)
Processing speedOften 5–15 minutes per hour of audio~50x real-time (~60–90 seconds per hour of audio)
Uploaded audio retentionRetained on cloud servers until manually deletedPhysically deleted immediately when transcription finishes
URL + file support in one balanceUsually files & Zoom/Meet calls onlyAudio files + YouTube, Apple Podcasts, Spotify, Bilibili, Xiaoyuzhou

Export formats for notes, AI prompts, and subtitles

  • Markdown (.md) — Structured text with compact [MM:SS] timestamps, ready to drop into Obsidian, Notion, Logseq, or Claude's 200k context window.
  • Plain Text (.txt) — Clean sentences for word processors, quoting, and rapid reading.
  • Subtitles (.srt / .vtt) — Time-aligned subtitle tracks for syncing with video timelines in Premiere Pro, Final Cut, or DaVinci Resolve.

Transcribe your MP3 or M4A recording now

Start with 120 free Credits upon signup — no credit card required, and failed tasks never deduct Credits.

Open Audio Uploader →

Related guides

Using your recordings for university study or research? Read our guides on turning recorded lectures into Obsidian & Notion notes, feeding transcripts into Claude & ChatGPT, and how per-minute Credit pricing works.

Frequently asked questions

  • How do I transcribe an iPhone Voice Memo (.m4a) to text?
    In the Voice Memos app on iPhone or Mac, share or save the recording (which exports as an .m4a file), open the VideoScript workspace, switch to Upload Audio, and select your file. Within a minute or two, you can export the full timecoded Markdown or TXT transcript.
  • What happens to my uploaded audio file after transcription finishes?
    It is physically deleted from our cloud storage immediately when the job completes or fails. VideoScript never keeps copies of your uploaded audio recordings.
  • Can I upload a local MP4 video file?
    No — VideoScript only accepts pure-audio containers (MP3, M4A, AAC, WAV, OGG, OPUS, FLAC) up to 100 MB and 120 minutes. If you have a local video file, extract its audio track to MP3/M4A first (e.g., via QuickTime or FFmpeg) or paste its public URL if it is hosted on YouTube or Bilibili.
  • Does VideoScript separate speakers (speaker diarization) on uploaded audio?
    No. VideoScript focuses on fast, verbatim, timestamped speech-to-text ([MM:SS] on every segment) rather than automated speaker labeling.