1P by GN⁺ 8시간전 | ★ favorite | 댓글 1개
  • macOS에서 Control 키를 누르고 말하면 자동으로 텍스트로 변환 후 붙여넣기하는 로컬 음성 인식 앱
  • 모든 음성 인식과 텍스트 정리 과정이 로컬에서만 수행되어, 클라우드 전송 없이 개인정보 보호 보장
  • WhisperKitLLM.swift 기반으로, Hugging Face 모델을 자동 다운로드해 캐시 저장
  • 스마트 정리 기능으로 불필요한 말 제거 및 자기 수정 표현 보정, 메뉴 막대 앱 형태로 백그라운드 실행
  • MIT 라이선스 오픈소스로 공개되어 있으며, Apple Silicon macOS 14 이상에서 동작

개요

  • Ghost Pepper는 macOS용 완전 로컬 음성-텍스트 변환 앱으로, Control 키를 누르고 말한 뒤 놓으면 자동으로 텍스트로 변환 후 붙여넣기 기능 제공
  • 클라우드 API를 사용하지 않으며, 모든 데이터와 모델이 로컬에서만 처리
  • Apple Silicon(M1 이상) 기반 macOS 14.0 이상에서 동작
  • 메뉴 막대 앱 형태로 실행되며, 로그인 시 자동 실행 가능
  • MIT 라이선스로 공개된 오픈소스 프로젝트

주요 기능

  • Control 키를 누르고 말하기 → 키를 놓으면 자동으로 텍스트 변환 및 붙여넣기
  • 로컬 실행 구조로, 음성 인식과 후처리 모델이 모두 Mac 내부에서 동작
  • 스마트 정리 기능으로 불필요한 말(uh, um 등)을 제거하고 자기 수정 표현을 자동 보정
  • 메뉴 막대 전용 인터페이스로 Dock 아이콘 없이 백그라운드에서 작동
  • 사용자 설정 지원: 정리 프롬프트 수정, 마이크 선택, 기능 on/off 전환 가능

작동 방식

  • 모든 모델은 오픈소스 기반이며, 최초 실행 시 자동 다운로드 후 로컬 캐시 저장
  • 음성 인식은 WhisperKit, 텍스트 정리는 LLM.swift를 통해 수행
  • 모델 파일은 Hugging Face에서 제공
  • 음성 인식 모델

    • Whisper tiny.en (~75MB): 가장 빠른 영어 전용 모델
    • Whisper small.en (~466MB): 기본값, 높은 정확도의 영어 전용 모델
    • Whisper small (multilingual): 다국어 지원
    • Parakeet v3 (~1.4GB): 25개 언어 지원, FluidAudio 기반
  • 텍스트 정리 모델

    • Qwen 3.5 0.8B (~535MB): 기본값, 약 1~2초 내 처리
    • Qwen 3.5 2B (~1.3GB): 빠른 처리 속도(약 4~5초)
    • Qwen 3.5 4B (~2.8GB): 최고 품질(약 5~7초)

설치 및 실행

  • 앱 설치

    1. GhostPepper.dmg 다운로드
    2. DMG 열기 후 Applications 폴더로 드래그
    3. 마이크 및 손쉬운 사용 권한 허용
    4. Control 키를 누르고 말하기로 사용 시작
  • 소스 빌드

    1. 저장소 클론
    2. GhostPepper.xcodeproj를 Xcode에서 열기
    3. Cmd+R로 빌드 및 실행

권한 요구

권한 목적
Microphone 음성 녹음
Accessibility 전역 단축키 및 자동 붙여넣기 수행

추가 정보

  • 로그인 시 자동 실행이 기본 활성화되어 있으며, 설정에서 비활성화 가능
  • 디스크에 로그 저장 없음 — 변환된 텍스트는 파일로 기록되지 않으며, 디버그 로그는 메모리 내에서만 유지 후 앱 종료 시 삭제

기술 구성 및 의존성

  • WhisperKit: 음성 인식 엔진
  • LLM.swift: 텍스트 정리용 로컬 LLM
  • Hugging Face: 모델 호스팅
  • Sparkle: macOS 앱 업데이트 관리

이름의 의미

  • 모든 모델이 로컬에서만 실행되어 개인 데이터가 외부로 전송되지 않음
  • Ghost Pepper(매운 고추) 라는 이름은 무료로 제공되는 강력한 기능을 상징

기업 및 관리형 기기 지원

  • 앱은 손쉬운 사용(Accessibility) 권한이 필요하며, 일반적으로 관리자 권한이 요구됨
  • MDM 환경(Jamf, Kandji, Mosaic 등) 에서는 PPPC(Privacy Preferences Policy Control) 프로파일을 통해 사전 승인 가능
    • Bundle ID: com.github.matthartman.ghostpepper
    • Team ID: BBVMGXR9AY
    • Permission: Accessibility (com.apple.security.accessibility)
Hacker News 의견들
  • 이 앱 정말 멋짐. 하지만 볼 때마다 내 Pixel 6가 떠오름
    2021년 모델인데, 오프라인에서도 음성을 텍스트로 변환하고 문맥에 따라 자동으로 수정함. 심지어 내가 계속 말하면 앞부분 문장까지 다시 고쳐줌.
    Google이 Whisper나 Qwen보다 5년이나 앞서 이런 기술을 넣은 게 놀라움. 그런데 왜 지금은 더 강력한 플랫폼에서 1GB짜리 트랜스포머 모델이 필요한지 궁금함

    • 이건 WebSpeech API에서 쓰이는 동일한 모델임. 완전히 오프라인에서도 작동함
      Google이 약 10년 전 이 모델 훈련을 지원했고, 지금도 꽤 훌륭함.
      Webkit이나 Blink 기반 브라우저에 내장되어 있어서 여러 웹사이트가 단순 프론트엔드로 활용 중임.
      하지만 모델 자체는 비공개 blob 형태라 Firefox에서는 지원되지 않음
      MDN 문서 / Chrome 데모
    • Microsoft OneNote도 2007년쯤 비슷한 기능이 있었음.
      당시 팀에 있었는데, 유지보수 인력이 없어서 오프라인 모델을 버리고 온라인 전용으로 전환했음.
      기술적 이유보다는 단순히 유지보수 인력 부족 때문이었음
    • 정확도는 훨씬 낮음.
      Android에서는 Futo, macOS에서는 MacWhisper를 쓰고 있음. 기본 Apple 모델보다 훨씬 나음
    • macOS와 iOS도 내장된 받아쓰기 기능으로 가능함. Mac에서는 Globe 키 + D
    • 내 Pixel 7은 오히려 인식률이 너무 낮아서 거의 못 씀.
      대신 오픈소스 WhisperParakeet 같은 로컬 STT 모델은 훨씬 강력함.
      배경 소음이나 중얼거림에도 덜 흔들림.
      나는 Voice AI 쪽에서 일하고 있어서 매일 이런 모델들을 쓰는데, 체감 차이가 정말 큼
  • 앱 정말 잘 만들었음. 피드백을 주자면,
    첫째, 자동으로 클립보드에 붙여넣기 기능이 꼭 필요함. 단축키를 누르지 않아도 되게 하거나 설정 가능하게 하면 좋겠음
    둘째, 속도가 다른 솔루션보다 약간 느림. 이건 사용성에 큰 영향을 줌
    셋째, 포맷 제어 기능이 있으면 좋겠음. 예를 들어 “new line”을 말했을 때 실제 줄바꿈으로 인식되면 좋겠음

  • 이 스레드는 각자 macOS용 음성→텍스트 앱을 만든 사람들이 모인 지원 그룹 같음

    • 내가 만든 모든 앱을 여기에 정리해둠.
      최근 Ghost Pepper도 추가했고, 필요한 기능을 담은 skill.md를 만들어 직접 앱을 빌드할 수도 있음
    • /r/macapps 서브레딧에서도 whisper dictation 앱이 너무 많음.
      포화된 카테고리에서는 기존 앱과의 차별점을 명확히 설명해야 함
      관련 글
    • 나도 직접 하나 만들었는데, 나중에 KeyVox를 보고 제작자와 얘기하게 됨.
      KeyVox GitHub
    • 나는 nixOS에서 Noctalia에 인디케이터를 붙여서 구현했음.
      성능이 Wispr Flow와 거의 비슷하고, 완전히 로컬에서 돌아감
    • 전형적인 Apple 스타일로, macOS 27이나 28쯤 되면 기본 기능으로 들어갈 거라 기대 중임
  • Linux 사용자로서 Hyprwhspr를 개발했음
    최신 Cohere Transcribe 모델을 GPU로 돌리면 성능이 매우 좋음.
    WhisperKit을 faster-whisperturbov3와 비교해봤는지 궁금함.
    Apple이 곧 네이티브 STT를 내놓을 것 같아 기대 중임

    • Handy와 비교하면 어떤지 궁금함.
      왜 기존 프로젝트를 개선하지 않고 새로 만들었는지도 알고 싶음
    • 나는 Whisper large-v3를 M2 Max에서 셀프호스팅으로 돌림.
      정확도가 충분해서 클린업 모델은 필요 없었음.
      다만 30초 이상 긴 오디오에서는 지연 시간이 느껴짐. WhisperKit이 긴 오디오를 어떻게 처리하는지 궁금함
    • Omarchy에서 Hyprwhspr를 매일 쓰고 있음. 정말 훌륭함
    • 나도 비슷한 걸 만들려던 참이었는데 덕분에 안 만들어도 됨.
      혹시 풋 페달 PTT(Push-To-Talk) 기능 고려해본 적 있는지?
      Apple에도 이미 STT가 있지만 모델 품질이 아직 아쉬움
  • Speech-to-text는 내 개발 흐름의 핵심임.
    LLM이나 코딩 에이전트에게 프롬프트를 말로 전달할 때 특히 유용함.
    플랫폼별로 최고의 오픈소스 음성 입력 도구를 이 GitHub 저장소에 정리했음

    • 개발에서 받아쓰기를 어떻게 쓰는지 궁금함.
      나는 분당 120단어를 타이핑하니까 말보다 훨씬 빠름.
      접근성 외에, 이건 느린 타이퍼를 위한 건지 아니면 소파에 누워 코딩하려는 용도인지 진심으로 궁금함
  • Handy 같은 앱이 이미 존재하지 않음?

    • 몇 가지 아쉬운 점이 있음.
      1. Linux에서는 FTP 계정과 curlftpfs, SVN/CVS로 비슷한 시스템을 쉽게 만들 수 있음
      2. USB 드라이브를 완전히 대체하지는 못함. 오프라인 발표용으로 여전히 USB를 들고 다님
      3. 수익 모델이 불분명함. 무료로 제공하면서 수익 창출이 가능할지 의문임
    • Handy는 정말 잘 만든 툴임
    • 같은 문제를 해결하는 여러 솔루션이 존재할 수 있음
    • 네, speech-to-text는 이미 존재함
    • 내 사용 사례에는 딱 맞음. 다른 앱 UI를 건드릴 필요가 없음
  • 공유 고마움. 로컬 속도와 프라이버시에 집중한 점이 마음에 듦
    나는 비슷한 목표를 가진 Hex를 쓰고 있는데, 두 앱의 차이에 대한 생각이 궁금함

  • 요즘 로컬 퍼스트 LLM이 작아질수록 앱 개발의 핵심 인프라가 될 것 같음
    예전 Electron이 예쁜 앱을 쉽게 만들게 해준 것처럼, 이제는 약간의 RAM만 희생하면 됨

  • Whisper 관련 프로젝트가 많은데, 이게 예전 OpenAI 모델인지 아니면 업데이트된 버전인지 궁금함
    나는 Parakeet v3를 쓰는데 작고 훌륭함. 그런데 왜 아직도 Whisper가 이렇게 많은지 의문임

    • Whisper는 여전히 안정적이고 신뢰성 높은 모델임.
      새로운 모델보다 환각이 적고, AMD GPU에서도 쉽게 돌릴 수 있음.
      Parakeet을 직접 포팅해봤지만 결국 Whisper로 돌아왔음
    • 나도 Parakeet으로 바꿀까 고민 중임.
      하지만 나는 폴란드어와 전문 용어를 많이 써서 Whisper v3가 더 잘 맞음
    • Whisper는 다양한 언어를 지원하고, tiny부터 turbo까지 여러 버전이 있음.
      그래서 시스템 환경에 맞게 조정 가능한 게 강점임
    • 나도 macOS에서 Parakeet을 Voice Ink로 쓰고, 집에서는 Kokoro로 음성→텍스트를 돌림.
      GrapheneOS 폰에서도 Parakeet 서버를 연동함
      관련 글
  • 프로젝트가 정말 마음에 들고 내 워크플로우에 통합해보고 싶음.
    다만 “$80M 투자받은 대형 AI랩과 비교하며 무료로 제공한다”는 문구는 조금 거슬림.
    이건 반항적이라기보다 이미 기존 연구의 연장선에 있는 작업임.
    “spicy”하다고 표현하기엔 다소 과장된 느낌임