惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
O
OpenAI News
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
云风的 BLOG
云风的 BLOG
罗磊的独立博客
S
SegmentFault 最新的问题
The Register - Security
The Register - Security
Hugging Face - Blog
Hugging Face - Blog
D
DataBreaches.Net
U
Unit 42
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
雷峰网
雷峰网
V
Visual Studio Blog
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Y
Y Combinator Blog
博客园 - 【当耐特】
G
Google Developers Blog
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
Martin Fowler
Martin Fowler
F
Fortinet All Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
AI
AI
Google Online Security Blog
Google Online Security Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园 - Franky
Blog — PlanetScale
Blog — PlanetScale
Webroot Blog
Webroot Blog
PCI Perspectives
PCI Perspectives
爱范儿
爱范儿
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org

Hacker News

randoFont GitHub - onehorizonai/silo-terminal: A dark phosphor Apple Terminal profile inspired by the sealed systems and green-blue screens of Silo. GitHub - unihosted/unifi-os-server-docker Show HN: Onboard-CLI–a fast developer tool built in Go uses AST and LLM Show HN: Finterm.ai Finance CLI for Claude Code and Codex Show HN: Codex Explorer,一款用于 Codex CLI 的本地会话管理器 Pylon — full-stack framework for coding agents GitHub - Corgea/Sighthound: Corgea's rule-based SAST scanner Kastra | Execution Governance for AI Systems devthropology.com Embersent — Know Exactly Who Read Your Document GodUI — UI Collection for Modern Interfaces Show HN: Reverse-engineering web apps into agent tools GitHub - Kuberwastaken/subagentmaxxing: Drive OpenAI Codex & Cursor CLI coding agents as subagents with the same ergonomics as native Claude Code subagents (grok-4.5, composer-2.5, gpt-5.5). Uniform run/fanout CLI + Claude Code skill. Aside Today I’m launching papercrane-cli: a BI tool built for Claude Code | Papercrane Blog Strata - Guess the City from a 3D Map a dark terminal Blocks.ai | Connect your agent to the world. Noticky — Sticky Notes & Always-on-Top Windows for Mac Make the hard day easier for the people you love CASHFLOW — Debt Network Optimizer 0 A.D.: Empires Ascendant FormGrid - Create Delightful Forms & Surveys for Free Codapult — Everything Your SaaS Needs, Already Wired Together LaTeX Diff Viewer - GitHub Marketplace LinguaGuessr analog.watch Estimania — Daily Estimation Game HyperSwitcher – Mac App & Window Switcher CLERC-DATA/epee · Datasets at Hugging Face GitHub - gladiaio/gladia-cli EvenKeel — your money coach BareMetalRT — Bare Metal AI Build a Second Brain That Actually Remembers Why It Changed Tokenstead - Find AI Models for Your Hardware Fideby - Standing by the people you trust, when you can rubber duck GitHub - forgedculture/legibility-field-kit GitHub - ronak-create/FableCut: Zero-dependency browser video editor that AI agents can drive — JSON timeline, MCP + REST, live-reloading UI GitHub - BuceaGeorgia/VIRENA: A minimal Vision-Language-Action model you can read: frozen CLIP + a tiny head on ManiSkill PickCube. Runs on a Mac, no GPU. Fehu - Apps on Google Play GitHub - fresswolf/Slopera: The browser for the slop era Release Kiyeovo 1.0.0 · Realman78/Kiyeovo Noema — AI Company Analysis GitHub - hamidi-dev/opentab: 📊 Browse your AI coding spend in the terminal — OpenCode, Claude Code, Codex & more GitHub - sgInnora/wc2026-prediction-ledger: Receipt-verified AI prediction ledger for World Cup 2026: pre-kickoff sha256-locked forecasts scored vs results, with calibration + market baselines. Live: goalpulse.io/open-data GitHub - michaelwrites67-ctrl/yogen: 予言 Yogen — a 500-agent AI swarm that debates your idea and predicts the outcome. Self-host free with your own Anthropic key. GitHub - teddytennant/wizard: Self-extending autonomous agent in one Rust binary. One-line install, any provider (OpenAI-compatible, Anthropic, xAI) or fully local via llama.cpp, live /evolve self-modification, MCP, messaging gateway, built-in bench arcaide.foo Show HN: Android Developer Verification Package blacklisted in Aurora Store OpenDescent: Private messaging for normal people GitHub - tarunlnmiit/autopilot-jobhunt: AI job agent: scans 130+ careers pages nightly, scores every role against your resume with an LLM (0–100), alerts you on Telegram, and drafts tailored cover letters + resumes. Free & open source. 18 Words - Daily Word Challenge The State of US Local Government Accessibility 2026 flow - Real-time network throughput dashboard for the terminal. - Terminal Trove Battle LLM Robots GitHub - robesris/ffvii-realtime: Speed up Final Fantasy VII (Rebirth / Remake / Revelation) Tactical Mode slow-motion so combat plays at real-time speed Agent Sessions - Local History for AI Coding Agents Scrutora — code, cloud & consent compliance in one platform SoulOS Tutorials GitHub - gaemi/agentic-fc: Open-source football management simulation played by AI agents through MCP and watched through a TUI console. GitHub - talalalrwas/ocr-grab: Flameshot clone that adds OCR. GitHub - JustVugg/colibri: Run GLM-5.2 (744B MoE) on a 25GB-RAM consumer machine — pure C, zero deps, experts streamed from disk. Tiny engine, immense model. 🐦 GitHub - saifmukhtar/kinetic figment computer linear.gratis - Free Linear Client Feedback Forms GitHub - atelier-ws/atelier: Runtime for coding agents. Models are getting smarter, but a model is only as capable as the environment supporting it. Atelier is that environment. https://atelier.ws Atlas · Tomesphere | Tomesphere Codenames Generator GitHub - lyfeninja/lyfeninja_blkseal_python_sdk: Lightweight Python client for signing and verifying digital content using lyfe.ninja's BlkSeal product powered by BlkBolt™. Designed for zero dependencies, simple integration, and exact content verification. DateTimeMate OpenScreenShot — Full-page screenshot & annotation tool for Chrome 38-0 — Build Your Premier League Dream Team Cyrinx — data over sound, measured GitHub - BhaveshThapar/mcp-audit HN Work GitHub - Northwood-Systems/foreman: Self-hosted LLM gateway. Cost effective, deterministic, and fast. Secure and private by default. A Visualization Language for the AI Era GitHub - weirdGuy/kastor: Declarative language and toolchain for AI agents: define agents, tools and prompts in HCL, then compile to frameworks or manage them on hosted platforms with plan/apply semantics. Abralo - Run multiple Claude Code agents in one window GitHub - mehranzand/repofleet: RepoFleet is an issue-centered CLI tool for managing Git workflows across multiple repositories. Pug — Open Source Product Analytics Chiptune Radio — Aleph Void, LLC Free Mermaid Live Editor & Diagram Maker GitHub - hirasso/html-obfuscator: Obfuscate emails, phone numbers, and other sensitive data in PHP. Invisible to humans, hidden from bots until they interact. Davit — a native macOS UI for Apple containers GitHub - rowboatlabs/rowboat: Open-source AI coworker, with memory Yamanote.fun PostgreSQL on AWS: Size & Benchmark EC2 Instances GitHub - Rodiun/frugon: Free, local, open-source LLM cost analyzer — see where your LLM bill leaks, on your machine. WhimFiles - Find Any File in Seconds Agent Draw: An agent draws while you talk, built on TLDraw Neil the Seal GitHub - animesh-94/Onboard-CLI: An AST-powered, local-first CLI that visualizes complex system architectures and enforces architectural boundaries via instant Git hooks. ridealong — live London trains Clusy | Agent-Native Notebook for ML and Data Science snowscroll · Instagram, without the spiral. GitHub - vishal-dehurdle/state-harness: Runtime safety net for LLM agents. Detects token spirals, kills doomed tasks early, tells you exactly why. Rust core, Python SDK. pip install state-harness GitHub - DO-SAY-GO/freelang: I love freelang
I Replaced Whisper with Parakeet on a $55/Month CPU Server. Here Is What Actually Happened.
Melvin Bucio · 2026-07-09 · via Hacker News

Blog

By Melvin Bucio 8 min read


Six months ago I launched VidClean with faster-whisper running on a Railway CPU worker. It worked. Accuracy was decent for English, the cost was around $25/month, and users could get a transcription without signing up for anything.

Then NVIDIA released Parakeet TDT 0.6B v3 in August 2025 and I started seeing it in every ASR benchmark thread. The numbers looked almost too good: 6.34% average word error rate on the Open ASR Leaderboard, 3,333x realtime throughput on GPU, 25 European languages with automatic detection. All in a 600-million-parameter model.

I run a free tool that processes real user files. I care about accuracy, speed on CPU (no GPU budget), and a model that does not hallucinate silence into phantom words. So I ran the bakeoff.

Here is what I actually found, including the parts that were harder than expected.

THE SETUP

VidClean runs on Railway. The transcription worker is a single CPU replica, 2 vCPU, running in a 2GB container. No GPU. The whole backend costs about $55/month across six compute services plus Redis.

On CPU, "3,333x realtime" does not happen. That number is from GPU benchmarks. Parakeet on a 2-vCPU Railway worker is meaningfully faster than Whisper small on the same hardware, but the gap is nothing like the benchmark suggests. If you are reading this expecting sub-minute transcription on cheap CPU hardware, calibrate accordingly.

My previous stack: faster-whisper with the small model for production and large-v2 for quality-sensitive jobs. The tradeoff was painful. Small dropped noticeably on accented English, Spanish, and Portuguese. Large-v2 on CPU was too slow for production on longer files.

For Parakeet I use onnx-asr with an int8-quantized ONNX export of the v3 weights, loaded via ONNX Runtime. Not the NeMo toolkit. The int8 ONNX is significantly smaller than the full-precision checkpoint and stays within the 2GB container budget with careful memory management.

WHAT I TESTED

I ran 40 files through both stacks:

  • 12 English podcast clips (various accents, 2-15 minutes each)
  • 10 Spanish YouTube videos (Mexican, Spanish, Colombian accents)
  • 8 Portuguese files (Brazilian Portuguese, mixed quality)
  • 6 heavily accented English files (Indian, Filipino, French accents)
  • 4 noisy files (background music, cafe noise, wind)

I measured word error rate against manual transcription on a subset, relative processing time, and hallucination behavior on silence.

ACCURACY

English: Parakeet and Whisper small are close on clean native-accent English. Parakeet edges it slightly. On accented English the gap widens: Parakeet handles Indian and Filipino accents noticeably better.

Spanish: Parakeet is clearly better. Whisper small was trained predominantly on English and its Spanish performance drops on non-standard accents. Parakeet v3 was trained on 670,000+ hours of multilingual audio, and the improvement on Mexican and Colombian Spanish is audible when you compare outputs side by side.

Portuguese: Same story as Spanish, maybe more pronounced. Whisper small produces noticeably more errors on Brazilian Portuguese. One caveat from NVIDIA's own model card: their training data uses European Portuguese, so Brazilian Portuguese gets a slight disadvantage. In practice on everyday creator content this has not been a meaningful issue.

Noisy audio: Neither model is great here. Parakeet degrades more gracefully. Whisper hallucinates more on noisy silence.

THE HALLUCINATION PROBLEM

This was the primary reason I wanted to switch.

Whisper has a well-documented issue where it hallucinates text during silence or low-signal audio. "Thank you for watching" repeated at the end of a clip. Random phrases inserted during pauses. For a transcription tool used by real people on real content, this is not acceptable.

Parakeet does not do this. On every silent segment I tested, Parakeet returns nothing. The Token-and-Duration Transducer architecture handles silence differently at a fundamental level.

I had a post-processing step in my Whisper pipeline that tried to detect and strip common hallucinations. I removed it entirely after switching to Parakeet.

THE HYBRID ARCHITECTURE

Parakeet covers 25 European languages. A user uploading audio in Arabic, Chinese, Japanese, or Hindi gets routed elsewhere.

The routing works like this: a Whisper pre-pass on the first 30 seconds of audio detects the language. Parakeet does not expose its own detected language externally, so Whisper handles detection for both paths. The detected language is checked against Parakeet's 25-language set. If it matches, Parakeet handles the full transcription. If not, Whisper small takes the job.

The 25 languages include all major EU official languages: English, Spanish, Portuguese, French, German, Italian, Polish, and others including Maltese. Norwegian is notably absent. Russian and Ukrainian are included. Arabic, Chinese, Hindi, and most Asian languages fall to Whisper.

There is also a kill switch: setting TRANSCRIBE_ENGINE=whisper as a Railway service variable routes every job to Whisper instantly, no redeploy required. This was the safety net that made the migration low-risk to ship.

THE HARD PART: FITTING PARAKEET IN 2GB

This is the part most posts skip. Getting Parakeet to run reliably in a 2GB CPU container required real engineering work.

The main constraints:

ONNX Runtime memory arena must be disabled. With the default arena enabled, steady-state RSS grows by roughly 520MB over the course of a session and eventually busts the container. The fix is one line:

import onnxruntime as rt
import onnx_asr

so = rt.SessionOptions()
so.intra_op_num_threads = 2   # matches 2-vCPU allocation
so.inter_op_num_threads = 1
so.enable_cpu_mem_arena = False  # arena-on costs ~520MB RSS

model = onnx_asr.load_model(
    "nemo-parakeet-tdt-0.6b-v3",
    quantization="int8",
    sess_options=so,
    providers=["CPUExecutionProvider"],
)

Windowed transcription, not full-file loading. Parakeet's ONNX export rejects inputs longer than roughly 200 seconds due to relative positional attention table limits. Inference buffer memory also scales with window length: a 60-second window peaks at about 1.65GB, a 30-second window at about 1.16GB. I settled on 20-second windows after measuring that 30-second windows hit 1,804MB, which is 4MB over the 1,800MB budget for a 2GB container.

ffmpeg splits the input into overlapping windows before inference. Only one window is ever resident at a time. This is what makes 90-minute files possible in a 2GB container, not RAM headroom.

Additional memory containment: MALLOC_ARENA_MAX=2 caps glibc malloc arenas and OMP_NUM_THREADS=2 caps the OpenMP thread pool. Both are set in the Dockerfile and Procfile.

Weights baked into the Docker image: The model weights are downloaded at build time, not at container startup. A restart loads from local disk in seconds.

THE LANGUAGE DETECTION TAX

Every auto-language job pays a Whisper pre-pass on the first 30 seconds of audio, even when the file ends up going through Parakeet. This adds 1-2 seconds per job.

If the user explicitly specifies a language at upload time, the pre-pass is skipped entirely and the job routes directly.

ONE FEATURE THAT ONLY WORKS ON PARAKEET

Filler word removal (removing "um," "uh," "you know" from transcripts) only works on the Parakeet path. It reconstructs whole words from Parakeet's token stream. The Whisper path returns empty word boundaries, so filler removal falls back silently. Users on non-European languages who go through Whisper do not get filler word removal.

RESULTS IN PRODUCTION

VidClean has processed over 1,000 transcription jobs since the migration.

Accuracy complaints dropped to near zero. With Whisper small I received occasional complaints about wrong words, particularly from Spanish and Portuguese users. Since switching I have not received a single accuracy complaint.

The hallucination problem is gone. No more phantom phrases appended to transcripts. The post-processing step is deleted.

Processing time improved on longer files. Parakeet is meaningfully faster than Whisper small on CPU. The improvement is most noticeable on files over 10 minutes. Exact numbers vary by audio complexity but the improvement is real.

The 2GB container holds. Hundreds of jobs in production with the arena disabled, windowed inference, and memory-containment env vars. No OOMs since the tuning landed.

SHOULD YOU USE PARAKEET ON CPU?

If your users are on European languages and accuracy on non-English matters, yes. The accuracy improvement over Whisper small is real and noticeable on Spanish and Portuguese. The hallucination elimination is practically valuable.

The caveats:

  • Use onnx-asr and ONNX Runtime, not the NeMo toolkit (easier for CPU deployment)
  • Memory management is not optional: arena-off and windowed inference are requirements, not optimizations
  • The language detection pre-pass adds overhead on every auto-language job
  • Non-European languages still go through Whisper, so you need both stacks
  • Speed on CPU is better than Whisper small but nothing like the GPU benchmarks

The migration took a weekend, most of it on the memory constraints rather than the model swap itself. If you are running a tight CPU container, the 4MB-over-budget window tuning story is probably the most useful thing in this post.