Skip to main content

A simple, privacy-focused speech-to-text CLI tool

Project description

hns - A simple, privacy-focused speech-to-text CLI tool

A simple, privacy-focused speech-to-text CLI tool that records your voice, transcribes it locally using faster-whisper, and copies the transcription to your clipboard. Perfect for interacting with Claude Code, VS Code, Slack, or any application where native dictation falls short.

demo

Highlights

  • 100% Local & Private: Audio is processed entirely on your local machine. No data leaves your device
  • Works Offline: After the initial model download, no internet connection is required
  • Instant Clipboard: Transcribed text is automatically copied to your clipboard for immediate pasting
  • Multi-Language Support: Transcribe in any language supported by Whisper
  • Configurable: Choose models and languages via environment variables
  • Focused - Does one thing well: speech → clipboard
  • Open Source - MIT licensed, fully transparent

Use Cases

  • Claude Code & AI Assistants: Perfect for Claude Code or any AI interface without native dictation. Run hns, speak your prompt, then paste into Claude Code.
  • Brain Dump → Structured Output: Ramble your scattered thoughts, then paste into an LLM to organize:
    hns  # "So I'm thinking about the refactor... we need to handle auth, but also consider caching..."
    # Paste to LLM: "Create a structured plan from these thoughts:"
    
  • Communication: Compose Slack messages, emails, or chat responses hands-free.
  • Note-Taking: Quickly capture thoughts and ideas without switching from the keyboard.
  • Accessibility: Helpful for users who find typing difficult or painful.

Installation

Install via uv (recommended):

uv tool install hns

or pipx:

pipx install hns

or pip:

pip install --user hns

The first time you run hns, it will download the default Whisper model (base). This requires an internet connection and may take a few moments. Subsequent runs can be fully offline.

Usage

Basic Transcription

  1. Run the command in your terminal:
    hns
    
  2. The tool will display 🎤 Recording.... Speak into your microphone.
  3. Press Enter when you have finished.
  4. The transcribed text is automatically copied to your clipboard and printed to the console.

Configuration

Listing Models

To see all available transcription models:

hns --list-models

Setting the Model

Select a model by setting the HNS_WHISPER_MODEL environment variable. The default is base. For higher accuracy, use a larger model like medium or large-v3.

# Use the 'small' model for the current session
export HNS_WHISPER_MODEL="small"
hns

To make the change permanent, add export HNS_WHISPER_MODEL="<model_name>" to your shell profile (.zshrc, .bash_profile, etc.).

Setting the Language

By default, Whisper auto-detects the language. To force a specific language, set the HNS_LANG environment variable.

# Use an environment variable for Japanese
export HNS_LANG="ja"
hns

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hns-1.0.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hns-1.0.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file hns-1.0.0.tar.gz.

File metadata

  • Download URL: hns-1.0.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.6

File hashes

Hashes for hns-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d1ab6893aeeec2dc9b3bb2ed6b42312a34a5ebcb627fc8bec248eaf1aee9bdcc
MD5 3b209cfc231aee7958a70de49fd414d1
BLAKE2b-256 ea981fd4a94970d36ba059570e7fcb820d6d20956833523e3964e1915299ef1d

See more details on using hashes here.

File details

Details for the file hns-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: hns-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.6

File hashes

Hashes for hns-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f6d81ddc8bf8e96447fd77297b1c01f47f8f61111d00ade2e304025db58c660
MD5 7f7b4a4eaaf1210b3695036ad1bb8c46
BLAKE2b-256 e6cbcf6a98854a5d3e1a62e2f7a1c0d2dc60af73cc7673d4a535c7d0348b593e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page