프로젝트 소개
Inkwell은 음성을 사용자의 컴퓨터에서 직접 텍스트로 변환하는 무료 오픈소스 로컬 우선 데스크톱 받아쓰기 애플리케이션입니다. 개인정보 보호를 위해 설계되었습니다. 오디오는 캡처되고 리샘플링된 후 CPU 기반 음성 인식을 사용해 로컬에서 전사되며, 절대 업로드되지 않습니다. 계정도, 텔레메트리도, 분석도 없습니다. 전사 내용은 로컬 SQLite 데이터베이스에 저장됩니다.
주요 기능은 다음과 같습니다.
- **어디서나 받아쓰기**: 전역 단축키(누르고 말하기 또는 토글)로 녹음하면, 전사된 텍스트가 현재 포커스된 애플리케이션에 붙여넣어집니다.
- **로컬 음성 인식**: sherpa-onnx를 통한 5개 모델이 있으며, 각각 언어, 정확도, 리소스 사용량에 맞게 최적화되어 있습니다. 모델은 처음 사용할 때 다운로드되며 앱에서 전환할 수 있습니다.
- **스타일 포맷**: Formal, Casual, Relaxed 스타일 중에서 선택해 모델에 영향을 주지 않고 대소문자와 구두점을 제어할 수 있습니다.
- **사용자 사전**: 모델이 잘못 인식하는 단어를 수정하며, 대소문자를 구분하지 않고 단어 경계를 기준으로 일치시킵니다.
- **스니펫**: 트리거 문구가 전체 텍스트로 확장되며, {date}, {time}, {clipboard} 같은 변수를 사용할 수 있습니다.
- **음성 명령**: 웨이크 접두어와 동작을 사용합니다. 예: "inkwell, scratch that" 또는 "inkwell, formal mode".
- **모드**: 스타일, 음성 정리, AI 다듬기를 묶어 입력 중인 앱에 따라 자동 활성화됩니다(예: 이메일에서는 formal, 터미널에서는 lowercase). macOS와 Windows에서 작동합니다.
- **파일 전사**: 오디오 또는 비디오 파일(MP3, WAV, FLAC, OGG, M4A, MP4, MKV 등)을 끌어다 놓아 전사할 수 있습니다.
- **기록 및 내보내기**: 검색 및 편집 가능한 전사 기록과 TXT, SRT, JSON, CSV로의 내보내기를 제공합니다.
- **통계**: 받아쓴 단어 수, 말한 시간, 연속 기록, 일별 활동, 모델 사용량을 모두 로컬 기록에서 계산합니다.
- **트레이 및 오버레이**: 시스템 트레이에 상주하며, 녹음 상태를 보여주는 작은 항상 위 오버레이를 표시합니다.
- **실시간 미리보기(선택)**: 더 빠른 보조 모델을 사용해 말하는 동안 오버레이에 단어가 나타나는 것을 볼 수 있습니다.
- **음성 편집**: 텍스트를 선택하고 두 번째 단축키를 누른 뒤 변경할 내용을 말하면, 재작성된 내용이 선택 영역을 대체합니다. API 키가 필요합니다.
- **음성 정리**: 붙여넣기 전에 "um", "uh" 및 즉각적인 말 더듬음을 제거합니다.
- **AI 다듬기(선택)**: 자체 API 키를 사용해 문법과 잘못된 시작을 정리합니다. OpenAI, Groq, Anthropic, OpenRouter 또는 OpenAI 호환 엔드포인트를 지원합니다.
개인정보 보호가 핵심 초점입니다. 오디오는 절대 컴퓨터를 떠나지 않습니다. 유일한 네트워크 호출은 모델 다운로드(Hugging Face 및 GitHub), 업데이트 확인(Cloudflare worker), 그리고 AI 다듬기나 음성 편집을 사용할 때 선택한 제공자에게 텍스트(오디오는 절대 아님)를 보내는 것입니다. API 키는 OS 키링에 저장됩니다.
Inkwell은 MIT 라이선스이며 영구적으로 무료이고, 유료 등급이나 라이선스 키가 없습니다. Rust, Tauri v2, React 19, TypeScript, Tailwind v4로 제작되었으며, 추론에는 sherpa-onnx, 음성 활동 감지에는 Silero VAD, 오디오 캡처에는 cpal, 기록에는 SQLite를 사용합니다.
설치: 사전 빌드된 바이너리는 macOS(서명 및 공증됨), Windows(NSIS 설치 프로그램 또는 MSI, 아직 서명되지 않음), Linux(AppImage 및 .deb, 최선의 노력)에서 사용할 수 있습니다. 소스에서 빌드하려면 Rust와 Node.js가 필요합니다.
Inkwell은 클라우드 의존성 없이 안정적이고 개인적인 받아쓰기를 원하며, 데이터에 대한 통제와 포맷 및 명령 사용자 지정 능력을 중시하는 사용자에게 이상적입니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.