<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aaron Abrams</title>
    <description>The latest articles on DEV Community by Aaron Abrams (@astonwilliams).</description>
    <link>https://dev.to/astonwilliams</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3934286%2F0a4ec958-23bc-4686-a48e-f999898b9f02.jpeg</url>
      <title>DEV Community: Aaron Abrams</title>
      <link>https://dev.to/astonwilliams</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/astonwilliams"/>
    <language>en</language>
    <item>
      <title>SpeakShift: A Fully Local Desktop App Powered by Whisper.cpp + NLLB + FFmpeg</title>
      <dc:creator>Aaron Abrams</dc:creator>
      <pubDate>Sat, 16 May 2026 06:23:21 +0000</pubDate>
      <link>https://dev.to/astonwilliams/speakshift-a-fully-local-desktop-app-powered-by-whispercpp-nllb-ffmpeg-ko5</link>
      <guid>https://dev.to/astonwilliams/speakshift-a-fully-local-desktop-app-powered-by-whispercpp-nllb-ffmpeg-ko5</guid>
      <description>&lt;h1&gt;
  
  
  SpeakShift: Fully Local Whisper.cpp + NLLB Translation + FFmpeg Media Converter
&lt;/h1&gt;

&lt;p&gt;Hi DEV Community 👋&lt;/p&gt;

&lt;p&gt;Like many of you, I spend a lot of time working with audio and video — podcasts, meetings, lectures, interviews, and content creation. I wanted a &lt;strong&gt;fast, private, and fully offline&lt;/strong&gt; workflow, but kept jumping between different tools for media conversion, transcription, and translation.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;SpeakShift&lt;/strong&gt; — a clean, focused desktop application that brings everything together using battle-tested local technologies.&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Technologies
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Whisper.cpp&lt;/strong&gt; — Blazing fast local speech-to-text (supports tiny, base, small, medium, large-v3, and large-v3-turbo models)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NLLB&lt;/strong&gt; — Neural Machine Translation for high-quality multilingual translation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FFmpeg&lt;/strong&gt; — Powerful backend for media conversion and processing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What SpeakShift Does
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Convert media files (video → audio, format changes, trimming, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fujx0zp93dvcm4br2xgv8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fujx0zp93dvcm4br2xgv8.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transcribe audio/video locally with high accuracy&lt;/li&gt;
&lt;li&gt;Translate transcripts&lt;/li&gt;
&lt;li&gt;Organize your files and transcripts in a clean library&lt;/li&gt;
&lt;li&gt;Export in multiple formats (TXT, SRT, JSON, etc.)&lt;/li&gt;
&lt;li&gt;Speaker diarization (up to 4 speakers in Pro version)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcvu55trxm6spdm75oix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcvu55trxm6spdm75oix.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Everything runs 100% locally&lt;/strong&gt; — no cloud, no API keys, no data leaving your machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Platforms &amp;amp; Performance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;macOS&lt;/strong&gt; (Apple Silicon optimized)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fat32i6hyjfo5bcqje7c0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fat32i6hyjfo5bcqje7c0.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It works great even on modest hardware, and flies on machines with decent CPUs or GPUs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb85lrbymoqatjai0w99o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb85lrbymoqatjai0w99o.jpg" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz3o2yz0q4o7sn9kq2rp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz3o2yz0q4o7sn9kq2rp.jpg" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Pricing (Transparent &amp;amp; Fair)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Free version&lt;/strong&gt; — Fully functional for media conversion + basic transcription. This will stay free forever.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro (one-time purchase)&lt;/strong&gt; — Unlocks batch processing, speaker diarization, advanced translation, priority support, and future features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Try the Free Version:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://usefulthings.gumroad.com/l/bzris" rel="noopener noreferrer"&gt;https://usefulthings.gumroad.com/l/bzris&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full Product Page:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://usefulthings.gumroad.com/l/speakshift" rel="noopener noreferrer"&gt;https://usefulthings.gumroad.com/l/speakshift&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why I Built This
&lt;/h3&gt;

&lt;p&gt;The LocalLLM community has shown that many developers and power users want control, privacy, and speed without monthly subscriptions. SpeakShift was built with that mindset.&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What Whisper model do you use most?&lt;/li&gt;
&lt;li&gt;What features are missing for your workflow?&lt;/li&gt;
&lt;li&gt;Any pain points with current local transcription tools?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback, bug reports, and feature requests are more than welcome.&lt;/p&gt;

&lt;p&gt;If you work with audio, content, research, or local AI tools, give it a try and let me know how it goes.&lt;/p&gt;

</description>
      <category>localllm</category>
      <category>whisper</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
