Show HN: Chirp – 실행 파일 없이 ParakeetV3를 사용하는 로컬 Windows 받아쓰기
요약
Chirp는 ParakeetV3 모델을 사용하여 Windows 환경에서 실행 파일 없이 로컬로 작동하는 고성능 받아쓰기 앱입니다. GPU 없이 CPU만으로도 Whisper 모델 대비 매우 빠른 속도와 높은 정확도를 제공하며, 기업 환경에서도 보안 제약 없이 사용 가능합니다.
핵심 포인트
- ParakeetV3를 활용해 Whisper 대비 17배 빠른 속도 구현
- GPU 없이 CPU만으로 구동 가능한 로컬 우선 설계
- 실행 파일(.exe) 없이 Python과 uv로 관리되는 보안 친화적 구조
- 글로벌 핫키, 클립보드 주입, 스타일 프롬프팅 등 편의 기능 제공
Chirp는 ParakeetV3 STT를 사용하여 완전히 로컬에서 실행되며, uv를 통해 엔드 투 엔드(end-to-end)로 관리되는 Windows 받아쓰기 앱입니다. Chirp는 Windows에서 실행 파일(.exe 등)을 실행할 수 있는 권한을 요구하지 않습니다. 사용자의 머신에서 Python을 실행할 수 있다면 Chirp를 실행할 수 있도록 설계되었습니다.
ParakeetV3는 Whisper-large-V3와 구별할 수 없는 정확도(다국어 WER 4.91 대 5.05)를 제공하지만, 17배 더 빠르며 CPU만 필요로 합니다. 반면 비슷한 정확도를 가진 Whisper 모델들은 GPU가 필요합니다.
-
Windows에서 빠르고 신뢰할 수 있는 로컬 우선(local-first) 받아쓰기 제공.
-
GPU가 필요하지 않으며 원하지도 않습니다.
-
기업 환경 친화적 - 새로운 실행 파일(.exe)이 필요하지 않습니다. Python을 실행할 수 있다면 Chirp를 실행할 수 있습니다.
-
선택적 int8 양자화(quantization)를 포함한 Parakeet TDT 0.6B v3를 통한 로컬 STT.
-
캡처 전환을 위한 글로벌 핫키(Global hotkey), 클립보드 붙여넣기 주입, 그리고 설정 가능한 단어 오버라이드(word overrides).
-
선택적인 오디오 피드백 신호 및 후처리된 텍스트를 위한 스타일 프롬프팅(style prompting).
-
기본적으로 CPU를 지원하며, 사용 가능한 경우 선택적인 GPU 프로바이더(provider) 지원.
src/chirp/main.py
— CLI 엔트리포인트(entrypoint) 및 애플리케이션 루프.
src/chirp/config_manager.py
— 설정 로딩 및 Windows 전용 경로 관리.
src/chirp/parakeet_manager.py
— Parakeet 백엔드 통합 및 프로바이더 처리.
src/chirp/setup.py
— 로컬 모델 자산을 준비하는 일회성 설정 루틴.
저장소를 사용자 폴더로 클론(Clone)하세요:
cd ~
git clone https://github.com/Whamp/chirp.git chirp-stt
cd chirp-stt
uv run python -m chirp.setup # 일회성 설정 및 모델 다운로드
(선택 사항) 편의를 위해 chirp 명령어를 PATH에 추가하세요:
이 저장소에는 단순히 chirp를 입력하는 것만으로 어디에서나 Chirp를 실행할 수 있게 해주는 chirp.bat 파일이 포함되어 있습니다. 이는 PowerShell 스크립트 대신 배치(batch) 파일을 사용하므로, 서명되지 않은 스크립트를 차단하는 기업용 시스템에서도 작동합니다. 이를 활성화하려면:
- 시스템 속성(System Properties) → **환경 변수(Environment Variables)**를 엽니다 (시작 메뉴에서 "environment" 검색) - 사용자 변수(User variables) 아래에서
Path를 선택하세요.
그리고 **Edit (편집)**을 클릭하세요 - **New (새로 만들기)**를 클릭하고 다음을 추가합니다:
%USERPROFILE%\chirp-stt
- **OK (확인)**를 클릭하여 저장한 다음, 새 터미널을 엽니다.
이제 어느 디렉토리에서든 다음과 같이 입력할 수 있습니다:
chirp
-
만약 PATH 별칭(alias)을 설정했다면:
chirp --verbose
chirp --help -
또는 chirp-stt 디렉토리에서 직접 실행하려면:
uv run python -m chirp.main -
상세/디버그 로깅 (Verbose/debug logging):
uv run python -m chirp.main -- --verbose -
CLI 도움말 및 옵션:
uv run python -m chirp.main -- --help -
config.toml에는 합리적인 기본값이 설정되어 있지만, 완전히 사용자 정의가 가능합니다. -
config.toml은 또한 단어 오버라이드(word_overrides), 즉 'parra keet'를 'parakeet'로 바꾸는 등의 설정도 허용합니다.config.toml예시:
primary_shortcut = "ctrl+shift" # 녹음을 전환하는 단축키; `keyboard` 라이브러리에서 지원하는 모든 조합이 작동합니다 (예: "ctrl+shift+space").
stt_backend = "parakeet" # 현재는 "parakeet"만 포함되어 있지만, 이 키를 유지함으로써 나중에 필요할 경우 더 많은 백엔드(backend)를 추가할 수 있습니다.
parakeet_model = "nemo-parakeet-tdt-0.6b-v3" # 배포된 ONNX 번들 이름; 새 모델이 추가되지 않는 한 그대로 유지하세요.
...
- 클론(cloned)한
chirp디렉토리를 삭제하세요. - 이상입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기