본문으로 건너뛰기
홈으로블로그
‹ 블로그

개발기

OpenNoType 개발기 — 내 API 키로 쓰는 오픈소스 음성 입력

개발 발행 4분 읽기

#OpenNoType#notype#개발기#macOS#음성입력#오픈소스

OpenNoType 프로젝트 보기

OpenNoType은 내 API 키로 쓰는 MIT 라이선스의 macOS 음성 입력 앱입니다. notype에서 시작한 받아쓰기 경험을 오픈소스로 공개하며 이름과 사용 방식을 바꿨습니다. 단축키로 말하고, 문장을 정리하고, 글을 쓰던 곳에 넣는 흐름은 이어 갑니다. 달라진 점은 누구나 소스를 살펴보고 빌드할 수 있고, 각자 고른 AI 제공자를 직접 연결한다는 것입니다.

notype에서 OpenNoType으로#

출발점은 단순했습니다. 입력창을 오가며 타이핑하는 대신, ⌥Space를 누르고 말하면 글을 쓰던 곳에 문장이 들어오게 하고 싶었습니다. 전역 단축키, 녹음, 음성 인식, 다른 앱으로의 입력을 하나의 메뉴바 앱으로 묶었습니다. 녹음과 처리 상태는 작은 막대에서 보여 줍니다.

OpenNoType에는 별도 회원가입이나 앱 운영 서버가 없습니다. 설정에서 OpenAI·Groq·OpenRouter·Claude 가운데 제공자를 선택하고 자신의 API 키와 모델을 지정합니다. Claude를 선택하면 Mac의 로컬 Whisper 모델로 먼저 음성을 인식하고, 문장 처리는 Anthropic API에 요청합니다. 다른 제공자에서도 로컬 음성 인식을 선택할 수 있습니다. 모델을 고르는 자유와 함께 API 이용 권한과 비용도 사용자가 관리하는 구조입니다.

군더더기를 덜어도 내 말이어야 합니다#

가장 오래 붙잡은 문제는 문장을 얼마나 고칠지였습니다. 머뭇거림과 반복을 모두 남기면 읽기 어렵고, 적극적으로 다시 쓰면 부탁의 강도나 말투까지 달라집니다. 지금의 기준은 의미와 고유 정보, 반말·존댓말을 지키면서 불필요한 반복과 명확한 자기수정을 정리하는 것입니다. 필요한 조사와 어순은 다듬되, 말하지 않은 내용을 채워 넣지 않는 것이 목표입니다.

예를 들어 ‘그 파일’의 ‘그’는 대상을 가리키고, ‘조금 더 확인해 주세요’의 ‘조금 더’는 요청의 정도를 담습니다. 이런 표현을 머뭇거림으로 지우지 않도록 대조 사례를 만들었습니다. 한국어 안에 섞인 영어 제품명은 개인 사전으로 원하는 표기를 알려 줄 수 있습니다. 자동 교정 학습은 제한된 표기 수정만 다루고, 판단하기 어려운 변경은 직접 확인해 등록하게 했습니다.

받아쓰기 외에 번역과 선택 문장 음성 수정도 더했습니다. 앱별 작성 형식과 말투를 설정할 수 있지만, 기본은 사용자가 말한 말투를 유지합니다.

변환 성공 다음에는 입력 확인이 필요했습니다#

문장이 만들어져도 다른 앱의 입력창에 나타나지 않으면 음성 입력은 끝난 것이 아닙니다. 그래서 현재는 키보드 붙여넣기를 우선하고, 처리 중 다른 앱으로 이동했다면 글을 쓰던 앱으로 돌아가 입력을 시도합니다. 선택 문장을 수정할 때는 원래 입력란·텍스트·선택 범위가 유지되는지 다시 확인합니다.

결과를 전달하지 못하면 복사할 수 있게 보여 주고, 전달은 했지만 반영을 확인하지 못한 경우도 구분합니다. 메시지를 보내는 Enter는 누르지 않습니다. 앱마다 입력창을 읽고 확인할 수 있는 정도가 달라, 이 경계는 계속 실제 앱으로 점검해야 하는 부분입니다.

기록은 로컬에, 외부 전송은 분명하게#

API 키는 macOS Keychain에, 변환 기록은 기기 안에 암호화해 보관합니다. 원문과 결과를 비교하거나 각각 복사하고, 현재 설정으로 다시 처리할 수 있습니다. 실패 녹음도 암호화해 최대 24시간 동안 복구 기회를 남깁니다. 사용량 화면에서는 공급자가 보고한 비용, 추정 비용, 확인할 수 없는 금액을 구분합니다.

다만 로컬 음성 인식을 켜도 문장 정리는 선택한 클라우드 API를 사용합니다. 클라우드 음성 인식을 쓰면 녹음도 해당 제공자에게 전송됩니다. 앱의 로컬 보관 방식과 제공자의 데이터 처리 정책은 따로 살펴봐야 합니다.

지금은#

소스와 설치 안내는 OpenNoType GitHub 저장소 (새 창)에서 볼 수 있습니다. 첫 지원 대상은 macOS 14 이상 Apple Silicon Mac이며, Apple 공증 없는 커뮤니티 배포본을 제공합니다.

2026년 10월 7일 기준 최신 공개판은 v0.2.3입니다. 설치 파일은 버전별 다운로드 (새 창)에서 받을 수 있습니다. 메뉴 막대 전용 동작과 표현 설정 미리보기, 안정성을 다듬은 과정은 후속 개발기에 정리했습니다. 실제 발화 품질과 대상 앱별 입력 흐름은 계속 확인해야 하며, 구현한 기능과 검증 범위는 검증 문서 (새 창)에 나눠 기록합니다. 앞으로도 내 표현을 지키고, 결과가 실제로 들어갔는지 알 수 있는 경험을 먼저 다듬으려 합니다.

이런 프로젝트, 같이 만들어볼까요?

웹 서비스 · 도구 · 자동화 의뢰를 받고 있어요.

문의 보내기