인터넷 끊긴 보안 PC에서 Whisper로 회의록 타이핑 없애는 법
30 जुलाई 2026
0
컴퓨터/소프트웨어Comments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
보안 카드 없으면 출입도 못 하는 개발실이나 금융사 전산실에서 회의록 쓰느라 1시간씩 야근하는 건 정말 괴롭다. 유료 AI 툴 신청해 봤자 정보보안팀 승인이 날 리 없고, 결국 수동 타이핑밖에 답이 없다. 오픈소스 로컬 음성 인식 도구인 Handy를 사용하면 이 고통에서 벗어날 수 있다. 오디오를 외부 서버로 1바이트도 보내지 않고 내 노트북 안에서만 돌리는 최적화 세팅이다.
Handy가 로컬에서만 도는 프로그램이라 해도 보안팀 관점에서는 여전히 의심스럽다. 초기 모델 다운로드나 업데이트 패킷이 나갈 수 있으니, OS 단에서 네트워크 패킷을 강제로 거부해야 마음이 편하다.
Windows 환경이라면 Command Prompt를 관리자 권한으로 열고 아웃바운드 규칙을 직접 주입하면 된다.
netsh advfirewall firewall add rule name="Block Handy Outbound OUT" dir=out program="%LOCALAPPDATA%\Programs\handy\Handy.exe" action=block enable=yes 구문을 실행한다.netsh advfirewall firewall show rule name="Block Handy Outbound OUT"를 입력해 차단 상태를 직접 확인한다.macOS를 쓴다면 Little Snitch 6에서 Handy 패킷을 Connections to Any Server 기준 Always Deny로 막으면 끝난다. 이 한 줄로 보안 규정 위반 트래픽 발생 확률은 제로가 된다.
단축키 설정도 신경 써야 한다. Handy는 Rust 언어의 rdev 라이브러리로 전역 입력 키를 감지해서 시스템 기본 단축키와 자주 충돌한다. macOS는 Option + Space, Windows는 Alt + Space 조합을 Push-to-Talk 키로 할당하는 편이 깔끔하다.
OpenAI Whisper 아키텍처는 텍스트 디코더가 이전에 나온 단어로 다음 단어를 예측하는 구조다. 이 디코더의 initial_prompt 파라미터에 우리가 자주 쓰는 개별 단어와 프로젝트 이름을 224 토큰 한도 안에서 채워 넣어주면 오인식이 눈에 띄게 줄어든다. 모델을 새로 학습시키지 않아도 단어 오류율(WER)이 내려가는 이유다.
다음은 IT 개발 및 아키텍처 회의입니다. 주요 용어: Kubernetes, CI/CD, React Native, Rust, Obsidian, AutoHotkey, PostgreSQL, gRPC, Docker, PR, Issue, Sprint.배경 소음이 심할 때 특정 단어가 연속으로 찍히는 환각 현상도 잡아야 한다. 텍스트 컨텍스트 창 크기를 결정하는 n_max_text_ctx 값을 128로 낮추고, temperature 값을 0.0으로 고정하면 무작위 텍스트 생성이 멈춘다.
Handy 기본 동작은 변환된 텍스트를 클립보드에 넣는 방식이다. 문제는 이미 잘라두었던 코드가 덮어씌워진다는 점이다. 클립보드를 거치지 않고 Obsidian 일간 노트(.md) 파일에 타임스탬프와 함께 바로 덧붙이는 편이 훨씬 낫다.
Windows 환경에서는 AutoHotkey 스크립트를 하나 띄워두면 해결된다.
VaultPath := "C:\Users\" . A_UserName . "\ObsidianVault\DailyNotes\" . CurrentDate . ".md")와 파일 텍스트 추가 구문(FileAppend, %LogEntry%, %VaultPath%, UTF-8)을 짠다.이 자동화 셋업을 마치면 매일 타이핑과 창 전환에 허비하던 40분 이상의 시간이 3분 남짓으로 단축된다.
말할 때 특정한 제어어를 쓰면 마크다운 양식이 자동으로 잡히게 만들 수도 있다. "안건 입력"이라고 말하면 스크립트가 인식해서 ### 📌 안건 헤더로 바꾸고, "액션 아이템"은 #### ✅ 액션 아이템 체크박스로 바꿔버리는 식이다.
Handy는 whisper.cpp 기반의 GGML/GGUF 포맷을 사용한다. FP16 모델 가중치를 Q5_1(5.5비트)이나 Q4_1(4비트) 수준으로 줄이면 가용 RAM 소비량이 3분의 1 수준으로 떨어진다.
M2 맥북 에어나 내장 그래픽 기반 노트북이라면 Whisper Small(Q5_1) 모델이 적당하다. 디스크 공간 250MB에 메모리 점유율도 350MB 내외라 실행 중인 개발 환경을 압박하지 않는다. 그래픽 카드가 넉넉한 데스크톱 환경이라면 Whisper Large-v3(Q5_1) 모델을 올려서 인식률을 끌어올리면 된다.
메모리 상주 용량을 최적화하는 절차다.
C:\Users\{username}\AppData\Roaming\com.pais.handy\models\)에 들어간 뒤 쓰지 않는 GB 단위 대형 모델 파일(.bin)을 싹 지운다.긴 회의를 변환할 때 스레드 병목으로 멈칫거리는 건 물리 코어 수 설정 문제다. 하이퍼스레딩 기반 논리 코어 수에 맞추지 말고 actual physical core 수와 1:1로 스레드 수(n_threads)를 매칭해야 스위칭 오버헤드 없이 깔끔하게 돈다.