모델 다운로드 없이 온디바이스로 구동되는 맥용 음성 입력기 'Yap'
macOS 26(Tahoe)에 새롭게 추가된 온디바이스 음성 인식 프레임워크를 활용해 별도의 AI 모델 다운로드 없이 매우 빠르고 가벼운 음성 입력(Dictation)을 제공하는 오픈소스 앱입니다. 기존 무거운 모델을 다운로드해야 하거나 웹 엔진 기반으로 무거웠던 타 앱들과 달리, 4MB 크기의 네이티브 앱으로 메모리와 네트워크를 절약하면서도 Apple 자체 모델을 통해 뛰어난 인식률을 제공하는 것이 특징입니다.
제목: Yap - 모델 다운로드가 필요 없는 macOS용 온디바이스 오픈소스 음성 입력기 출처: 해커뉴스(Hacker News)
Yap 텍스트를 입력할 수 있는 모든 곳에서 작동하는 매우 빠른 macOS용 음성 입력기입니다. 단축키를 누르고, 말하고, 다시 누르기만 하면 됩니다. 당신의 말은 사용 중이던 텍스트 필드에 바로 입력됩니다. 계정 필요 없음, API 키 필요 없음, 오디오가 기기를 떠나지 않음. Frigade에서 제작했습니다.
어떤 앱인가요? Yap은 메뉴 막대에 상주하며 단축키 입력을 기다립니다. 단축키를 누르면 화면 하단에 실시간 파형과 지금까지 말한 내용의 미리보기가 있는 작은 창이 나타납니다. 단축키를 다시 누르면 텍스트가 작업 중이던 앱에 바로 붙여넣어집니다. 모든 전사(변환) 내역은 로컬에 저장되므로 나중에 다시 돌아가서 복사할 수 있습니다. 기본 단축키는 ⌘⇧D입니다. 이를 변경하거나 단일 보조 키로 설정할 수도 있습니다. 엄지손가락에 여유가 있다면 오른쪽 Shift 키를 단독으로 눌러 사용하는 것이 좋습니다.
설치 방법 Homebrew 사용 시: brew install --cask frigadehq/tap/yap 나중에 업데이트하려면: brew upgrade --cask yap
직접 다운로드: 릴리스(Releases) 페이지에서 최신 .dmg 파일을 다운로드하여 Yap을 애플리케이션 폴더로 드래그하세요. 릴리스된 빌드는 서명 및 공증(Notarized)되어 있으므로 macOS에서 거부 없이 바로 실행할 수 있습니다.
왜 이 앱을 만들었나요? macOS용 음성 텍스트 변환 도구가 부족하지는 않으며, 일부 오픈소스 도구도 정말 훌륭합니다. 하지만 대부분은 다음과 같은 유사한 문제점들을 겪습니다:
- 일부는 비용을 요구합니다. 요즘 OS에 무료로 내장된 기능에 돈을 지불하는 것은 부담스럽습니다.
- 대부분 무거운 모델을 다운로드하게 합니다. Whisper 가중치만 수백 메가바이트에 달해 RAM을 차지하며, 최신 고급형 Mac에서만 빠르게 작동합니다. 특히 Intel Mac에서는 상황이 더 안 좋아서 Whisper나 Parakeet 같은 모델은 종종 충돌하거나 아예 실행되지 않으며, 겨우 실행되더라도 문단 하나를 변환하는 데 30초에서 1분이 걸립니다.
- 상당수가 Electron이나 웹 스택 기반 앱이라서, 메뉴 막대 아이콘과 설정 창을 띄우기 위해 브라우저 엔진 전체가 메모리에서 대기해야 합니다.
- 절대 열어보지 않을 설정과 모드들로 비대해져 있습니다.
- 일부는 폐쇄 소스이므로, 오디오와 변환 내용이 기기에 안전하게 남아있는지 확인할 방법 없이 그저 맹목적으로 신뢰해야 합니다.
최근에 상황이 바뀐 이유는 바로 macOS 26 때문입니다. 이 버전에 추가된 SpeechAnalyzer 및 SpeechTranscriber라는 두 가지 API가 OS 자체에서 제공하고 관리하는 모델을 사용해 온디바이스 스트리밍 음성-텍스트 변환을 수행합니다. 따라서 이 앱은 자체적인 모델을 전혀 포함하지 않고, 첫 단어를 입력하기 전까지 메모리에 아무것도 로드하지 않으며, API 키나 분당 요금도 필요 없습니다. 말을 하는 즉시 텍스트가 화면에 나타납니다.
Apple의 모델이 실제로 좋은가요? 결과적으로 기존의 대안들보다 낫습니다. 최근 벤치마크에 따르면 깨끗한 오디오에서 2.12%, 노이즈가 있는 오디오에서 4.56%의 단어 오류율(WER)을 기록했습니다. 이는 Whisper Small의 3.74%, 7.95%에 대비되는 수치이며, 5,559개의 LibriSpeech 클립 테스트에서 약 3배 더 빠르게 실행되었습니다.
그래서 Yap은 모델을 전혀 포함하지 않습니다. 브라우저 엔진은 눈 써야 찾을 수 없으며, 4MB 크기의 앱 안에 담긴 약 3천 줄의 네이티브 Swift 코드로만 이루어져 있고 모두 오픈소스로 공개되어 있습니다. 메모리는 약 60MB만 사용하며 네트워크는 일절 건드리지 않습니다. 우리는 Frigade에서 하루 종일 이 앱을 사용하는데, 주로 코딩 에이전트에게 프롬프트를 지시하거나, 이메일을 작성하고, Slack 메시지를 보낼 때, 즉 타이핑하는 것보다 말하는 것이 더 빠른 모든 작업에 사용하고 있습니다.
주요 기능
- Apple의 Speech 프레임워크를 통한 온디바이스 전사(Transcription)
- 글로벌 단축키 지원 (오른쪽 Shift 같은 단일 보조 키 트리거 옵션 포함, 완벽하게 재설정 가능)
- 사용 중이던 앱의 포커스된 필드에 텍스트 바로 붙여넣기
- 검색, 복사, 삭제가 가능한 로컬 전사 기록
- 말하는 동안 보여지는 실시간 파형 및 부분 전사 내용
- 진행 중인 받아쓰기를 취소하려면 Escape 키를 두 번 누르기
- 세션 도중에 변경된 경우를 포함하여 시스템 기본 마이크 설정跟随
- 로그인 시 실행 옵션 (기본값은 꺼짐)
- 계정 필요 없음, 네트워크 호출 없음, 데이터 추적(Telemetry) 없음
요구 사항 macOS 26 (Tahoe) 이상. Yap은 macOS 26에 포함된 Apple의 음성 모델에 의존하므로 이전 버전에서는 작동하지 않습니다. 소스에서 직접 빌드하려면 추가로 Xcode 26이 필요합니다.
권한 처음 실행하면 Yap은 네 가지 권한을 요청하며 각각의 이유를 설명합니다:
- 마이크: 사용자의 음성을 듣기 위해
- 음성 인식: 기기 내에서 텍스트로 변환하기 위해
- 접근성(Accessibility): 사용자가 입력 중인 앱을 인식하기 위해
- 자동화(Automation): 변환 결과를 해당 앱에 붙여넣기 위해