# Handy – 무료 오픈소스 음성 인식 앱

> Clean Markdown view of GeekNews topic #25890. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25890](https://news.hada.io/topic?id=25890)
- GeekNews Markdown: [https://news.hada.io/topic/25890.md](https://news.hada.io/topic/25890.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-01-17T08:37:16+09:00
- Updated: 2026-01-17T08:37:16+09:00
- Original source: [github.com/cjpais](https://github.com/cjpais/Handy)
- Points: 2
- Comments: 1

## Topic Body

- **Handy**는 **완전 오프라인**으로 작동하는 **무료 오픈소스 음성-텍스트 변환 데스크톱 앱**으로, 개인 정보 보호 중심의 설계를 갖춤  
- **Tauri(Rust + React/TypeScript)** 기반으로 제작되어, 단축키를 눌러 말하면 음성이 바로 텍스트 필드에 입력되는 구조  
- **Whisper**와 **Parakeet V3** 모델을 지원하며, GPU 가속 또는 CPU 기반으로 **로컬에서 음성 인식**을 수행  
- Windows, macOS, Linux에서 모두 작동하며, **확장성과 포크 용이성**을 중시한 구조로 개발자 기여를 장려  
- 클라우드 전송 없이 로컬에서 처리되는 **프라이버시 중심 음성 입력 도구**로, 접근성과 커스터마이징 가능성이 높음  

---

### 개요
- Handy는 **무료·오픈소스·확장 가능한 음성 인식 애플리케이션**으로, 인터넷 연결 없이 완전 오프라인으로 작동  
- **Tauri 프레임워크**를 기반으로 하며, Rust 백엔드와 React/TypeScript 프론트엔드를 결합  
- 사용자는 단축키를 눌러 말하고, 손을 떼면 **Whisper** 또는 **Parakeet V3** 모델이 음성을 텍스트로 변환해 현재 앱에 붙여넣음  
- 모든 음성 데이터는 로컬에서 처리되어 **개인 정보 유출 위험이 없음**

### Handy의 철학
- **무료**: 접근성 도구는 누구나 사용할 수 있어야 함  
- **오픈소스**: 누구나 기능을 확장하고 개선 가능  
- **프라이버시 보장**: 음성 데이터가 클라우드로 전송되지 않음  
- **단순성**: 한 가지 목적, 즉 음성을 텍스트로 변환하는 기능에 집중  
- 목표는 “가장 완벽한” 앱이 아니라, “가장 포크하기 쉬운” 앱을 만드는 것임  

### 작동 방식
- 사용자는 **단축키**로 녹음을 시작·중지하거나 **푸시-투-토크 모드**를 사용할 수 있음  
- **Silero VAD**로 무음 구간을 필터링하고, **Whisper** 또는 **Parakeet V3** 모델로 음성을 변환  
  - Whisper 모델: Small, Medium, Turbo, Large 버전 제공, GPU 가속 지원  
  - Parakeet V3: CPU 최적화, 자동 언어 감지 기능 포함  
- 변환된 텍스트는 사용 중인 애플리케이션의 입력창에 자동 삽입  
- **Windows, macOS, Linux** 모두 지원  

### 아키텍처
- **프론트엔드**: React + TypeScript + Tailwind CSS  
- **백엔드**: Rust 기반, 오디오 처리 및 머신러닝 추론 담당  
- **핵심 라이브러리**  
  - `whisper-rs`: Whisper 모델 로컬 음성 인식  
  - `transcription-rs`: Parakeet 모델 CPU 인식  
  - `cpal`: 오디오 입출력  
  - `vad-rs`: 음성 활동 감지  
  - `rdev`: 전역 단축키 및 시스템 이벤트 처리  
  - `rubato`: 오디오 리샘플링  
- **디버그 모드**: `Cmd+Shift+D`(macOS) 또는 `Ctrl+Shift+D`(Windows/Linux)로 접근 가능  

### 알려진 문제 및 제한 사항
- **Whisper 모델 충돌**: 일부 Windows/Linux 환경에서 모델이 충돌하는 문제 존재  
- **Wayland 지원 제한**: Linux Wayland 환경에서는 `wtype` 또는 `dotool` 설치 필요  
- **텍스트 입력 도구**  
  - X11: `xdotool`  
  - Wayland: `wtype` 또는 `dotool`  
  - 도구 미설치 시 `enigo`로 대체되나 호환성 제한 있음  
- **Linux 오버레이 비활성화 기본 설정**: 포커스 충돌 방지를 위해 기본적으로 꺼져 있음  

### 시스템 요구사항
- **Whisper 모델용**  
  - macOS: M 시리즈 또는 Intel Mac  
  - Windows/Linux: Intel, AMD, NVIDIA GPU (Ubuntu 22.04/24.04 권장)  
- **Parakeet V3 모델용**  
  - CPU 전용, Intel Skylake(6세대) 이상 권장  
  - 중간급 하드웨어에서 실시간 대비 약 5배 속도  
  - 자동 언어 감지 기능 포함  

### 개발 로드맵
- **진행 중 기능**  
  - 디버그 로그 파일 추가  
  - macOS 단축키 개선 (Globe 키 지원, 전역 단축키 처리 재작성)  
  - **선택적 분석 기능**: 익명 사용 데이터 수집, 명시적 동의 기반  
  - 설정 시스템 리팩터링 및 추상화 개선  
  - **Tauri 명령 구조 정리** 및 타입 안정성 향상  

### 문제 해결 및 수동 모델 설치
- 네트워크 제한 환경에서는 모델을 **수동 다운로드 및 설치** 가능  
- 앱 데이터 디렉터리 내 `models` 폴더 생성 후 모델 파일 배치  
  - Whisper 모델: `.bin` 파일 직접 복사  
  - Parakeet 모델: `.tar.gz` 압축 해제 후 지정 폴더명 유지  
- 설치 후 앱 재시작 시 모델 자동 인식  

### 기여 방법
- GitHub 이슈 확인 후 포크 및 브랜치 생성  
- 대상 플랫폼에서 충분히 테스트 후 **Pull Request 제출**  
- 이메일(contact@handy.computer) 또는 Discord를 통한 커뮤니티 참여 가능  
- 목표는 **단순하고 잘 구조화된 코드베이스**를 통해 커뮤니티가 발전시킬 수 있는 기반 제공  

### 관련 프로젝트 및 라이선스
- **Handy CLI**: Python 기반 커맨드라인 버전  
- **handy.computer**: 공식 웹사이트 및 데모 제공  
- **MIT 라이선스**로 배포  
- **Whisper(OpenAI)** , **Silero**, **Tauri** 등 오픈소스 프로젝트에 기반  

### 인용 문구
- “**Handy는 완벽하기 때문이 아니라, 당신이 완벽하게 만들 수 있기 때문에** 음성 인식 도구 탐색을 끝낼 수 있다.”

## Comments



### Comment 49369

- Author: neo
- Created: 2026-01-17T08:37:16+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46628397) 
- 여러 STT 앱을 써봤지만 결국 **VoiceInk**(로컬, 일회 결제)에 정착했음  
  **Parakeet V3**와 함께 쓰면 거의 즉시 반응하고 정확도도 충분함  
  나는 CLI 에이전트에게 말을 걸고 “내 말을 어떻게 이해했는지 말해줘”라고 요청하는 루틴을 자주 씀  
  이렇게 하면 이해 확인도 되고 일종의 명세서 역할도 함  
  최근에는 **Handy + Parakeet v3** 조합도 써봤는데 아주 잘 작동해서 며칠간 이걸로 써볼 예정임  
  Cmd‑Shift‑D로 “debug” UI를 켜면 후처리(post‑processing)나 공백 추가 같은 추가 옵션도 볼 수 있음
  - 이런 모델 중 하나가 **프로그래밍에 특화**되어 있으면 좋겠음  
    “cd ~/projects”나 “git push --force” 같은 명령을 말로 하고 싶음
- 나는 **근긴장이상증(dystonia)** 이 있어서 팔이 굳을 때 키보드를 칠 수 없음  
  그래서 SuperWhisper 같은 TTS 앱이 큰 도움이 되었음  
  Handy도 비슷한 경험을 주길 기대함  
  다만 다음 단계로 발전하려면 단순히 음성을 텍스트로 옮기는 걸 넘어서 **맥락 기반 확장**이 필요하다고 생각함  
  예를 들어 IDE 안에서 코드를 말하면 실제 코드가 생성되는 식으로 말임  
  결국 TTS와 컴퓨터 사용을 결합하는 방향임
  - 나는 `ultraplan`이라는 CLI 툴을 만들었음  
    로컬 Whisper로 음성을 기록하고 스크린샷, 클립보드 내용 등을 **타임라인 형태로 저장**함  
    이후 Claude Code 같은 에이전트가 이 타임라인을 읽고 작업을 이어감  
    “marco”라고 말하면 스크린샷을 찍는 등 **핸즈프리 제어**도 가능함  
    원하면 깃허브에 정리해서 올릴 수 있음
  - 네 말에 공감함. 그래서 Handy를 **오픈소스로 공개**했음  
    작은 로컬 모델(moondream, qwen 등)을 이용해 컴퓨터 맥락을 파악하려는 실험도 있음  
    예전에 손가락이 부러졌을 때 단축키를 Handy에 매핑해서 간단한 맥락 제어를 구현해봤음
  - “음성으로 코딩하기”는 LLM 이전부터 연구가 많았음  
    예를 들어 [Using Voice to Code Faster than Keyboard](https://news.ycombinator.com/item?id=6203805) 같은 2013년 사례가 있음  
    최근 연구로는 [이 논문](https://dl.acm.org/doi/fullHtml/10.1145/3571884.3597130)도 있음
  - 말한 기능은 이미 가능함  
    STT 출력을 LLM에 입력하면 의도를 파악해 **명령 세트**를 생성할 수 있음  
    CLI에서는 음성 명령을 바로 쉘 명령으로 바꾸는 게 쉬움  
    GUI에서는 화면 상태를 알아야 해서 조금 복잡함  
    macOS의 **MacWhisper**는 받아쓴 텍스트를 OpenAI 호환 엔드포인트로 보낼 수 있음
- 여러 **음성 전사 앱**을 써본 간단한 후기임  
  **Superwhisper**는 유료지만 평생 구독 옵션이 있고 기능이 많음. 단일 개발자가 유지 중이라 가끔 버그가 있음  
  **Hex**는 가장 가볍고 깔끔한 무료 옵션임  
  **Fluid Voice**는 말하는 동안 실시간으로 텍스트를 보여주는 독특한 기능이 있음  
  **Handy**는 핑크색 UI가 귀엽고 히스토리 창이 마음에 듦. 클립보드 복원 설정이 약간 특이함  
  여러 앱을 번갈아 설치하니 충돌이 좀 있었음  
  **Nvidia가 Parakeet을 오픈소스로 공개**한 덕분에 모두 속도가 매우 빠름  
  나는 실시간 전사 스트리밍 기능을 선호함. 낮은 품질이라도 즉시 보고, 나중에 고품질 버전으로 교체되는 방식이 좋음
- 몇 주간 STT 앱을 찾다가 Handy를 발견했음  
  대부분 유료거나 구독형이라 직접 만들까 고민했는데, Handy는 **빠르고 단순하며 방해되지 않음**  
  게다가 꾸준히 업데이트되어 정말 만족스러움  
  후처리(post‑processing) 기능도 멋질 것 같음
- **Wispr Flow**를 쓰고 있는데, 전환하려면 자주 틀리는 단어(회사명, 사람 이름, 라이브러리명 등)를 위한 **사용자 사전 기능**이 필요함
  - “Custom Words”라는 기능이 있어서 그걸 말하는 것 같음. 아직 제대로 테스트는 못 해봄
  - 관련 **PR이 곧 병합될 예정**이라 미리 빌드해서 써볼 수도 있음
  - 일부 모델은 단어별 **확신도(confidence)** 를 표시함  
    수동으로 단어를 추가하는 것도 좋지만, 불확실한 단어를 표시해주면 보완하기 쉬울 것 같음
- 주의할 점이 있음  
  기본 단축키가 **Ctrl+Space**인데, 키를 떼는 순간 전사가 삽입됨  
  이때 Ctrl이 여전히 눌려 있으면 전사된 텍스트가 **Ctrl 문자로 처리**됨  
  테스트 환경은 Linux x64, X11, Emacs였음
- **Parakeet v3**와 함께 Handy를 쓰는데 정말 훌륭함  
  Monologue, Superwhisper, Aqua도 써봤지만 Handy는 **로컬 실행**되고 구독료도 없음  
  강력히 추천함
- [OpenWhispr](https://github.com/HeroTools/open-whispr)와 비교해본 사람이 있는지 궁금함  
  설명상 비슷해 보임. Handy는 2025년 6월 첫 릴리스, OpenWhispr는 한 달 뒤 출시  
  Handy는 GitHub 별 11k, OpenWhispr는 730개 정도임
  - 둘 다 써봤는데 Handy는 **macOS 앱으로 바로 설치**할 수 있어서 훨씬 간단했음  
    당시 OpenWhispr에는 Parakeet 모델이 없었고 UI도 매끄럽지 않았음  
    Handy는 **미니멀한 UI** 덕분에 사용이 직관적임  
    고급 기능은 부족하지만 두 달째 쓰는 중이고 다른 STT 앱을 찾을 생각이 없음
- 내 **MacBook M1 Air**에서 Handy가 매우 빠르고 macOS 기본 STT보다 정확함  
  설정도 적당히 단순해서 쓰기 편함  
  “discharging the model” 옵션이 뭔지 궁금했는데, RAM이나 CPU에는 영향이 없는 듯함
  - 모델을 **RAM에 상주**시켜 빠르게 접근하도록 하는 기능임  
    방전(discharge)하면 메모리에서 내려가서 시작 속도가 느려짐
- **Parakeet V3 모델**이 정말 훌륭함
