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

3 weeks ago 9

  • Handy완전 오프라인으로 작동하는 무료 오픈소스 음성-텍스트 변환 데스크톱 앱으로, 개인 정보 보호 중심의 설계를 갖춤
  • Tauri(Rust + React/TypeScript) 기반으로 제작되어, 단축키를 눌러 말하면 음성이 바로 텍스트 필드에 입력되는 구조
  • WhisperParakeet 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는 완벽하기 때문이 아니라, 당신이 완벽하게 만들 수 있기 때문에 음성 인식 도구 탐색을 끝낼 수 있다.”

Read Entire Article