I'm Urav. I build things with code.
This section auto-updates daily. It features one of my recent commits, or something interesting from my network, or a random gem from the wild. The commit gets roasted by an opinionated AI and rendered as a strange attractor.
Last updated: 2026-04-19
Commit: microsoft/VibeVoice by @voidborne-d · eb86187
Message: "feat(asr): add MPS/Apple Silicon support to Gradio ASR demo (#344)
- feat(asr): add MPS/Apple Silicon support to Gradio ASR demo
The Gradio ASR demo only detected CUDA and fell back to CPU, ignoring Apple Metal Performance Shaders entirely. On Apple Silicon Macs the demo was essentially unusable—model inference ran on CPU at extreme slowness.
Changes:
-
Add _detect_device_and_attn() helper that auto-detects the best available device (CUDA > MPS > CPU) and picks a compatible attention implementation (flash_attention_2 for CUDA when available, sdpa otherwise). This mirrors the pattern already used in the TTS demo (realtime_model_inference_from_file.py).
-
Update VibeVoiceASRInference.init to handle MPS device loading: load model on CPU first then move to MPS, since device_map='mps' is not supported by Accelerate.
-
Update initialize_model() to use float32 for MPS (and CPU), matching the file inference script's dtype selection.
-
Add --device CLI argument (auto|cuda|mps|xpu|cpu) with sensible auto default, and change --attn_implementation default from flash_attention_2 to auto.
-
Add 14 regression tests covering auto-detection, explicit device selection, MPS-unavailable fallback, attention implementation resolution, dtype selection, and CLI argument parsing.
Refs #339
- chore: remove test file per reviewer request
Drop tests/test_gradio_asr_device_detection.py to keep PR scope to the Gradio demo changes only.
Co-authored-by: voidborne-d voidborne-d@users.noreply.github.com Co-authored-by: d 🔹 258577966+voidborne-d@users.noreply.github.com"
Review: A vital improvement, rescuing Apple Silicon users from the purgatory of CPU-bound ASR in the demo. The meticulous device auto-detection, the nuanced handling of mps loading quirks, and the addition of robust testing collectively signify a genuinely well-engineered and considerate update.
Chaos: 68% · Mood: #00CC99
What is this?
The Pipeline:
- A GitHub Action runs daily and picks a commit (my own → network → starred repos → fallback)
- The commit diff is fed to Gemini, which produces a witty critique, a chaos score (0-100), and a mood color
- A Lorenz attractor is rendered using these parameters:
- Chaos score → modulates ρ (rho), affecting how chaotic the butterfly looks
- Mood color → tints the gradient from black → color → white
- Commit hash → seeds the initial conditions, so every commit is unique
The Math:
The Lorenz system is a set of differential equations that exhibit deterministic chaos. Small changes in initial conditions produce wildly different trajectories. It's the "butterfly effect", fitting for visualizing commits.
Links:

