Show HN: Minute – Whisper와 llama.cpp를 사용한 macOS 오프라인 회의록 작성기
요약
Minute는 macOS 환경을 위한 완전한 오프라인 회의록 작성기입니다. Whisper를 이용해 실시간으로 음성을 전사하고, 로컬 LLM과 Metal 가속 기능을 활용하여 요약 및 결정 사항 추출까지 기기 내에서 처리합니다. 클라우드나 서버 연결 없이 작동하며, 사용자 데이터가 외부로 유출될 염려가 없습니다.
핵심 포인트
- macOS 전용 오프라인 회의록 작성기입니다.
- Whisper와 로컬 LLM을 사용하여 모든 처리를 온디바이스(On-device)에서 수행합니다.
- 클라우드나 서버 연결 없이 작동하여 데이터 보안성이 높습니다.
- 마이크 사용 감지 기능으로 녹음 시작/종료를 쉽게 할 수 있습니다.
Minute
Mac에서 벗어나지 않는 회의록.
<a href="https://www.producthunt.com/products/minute-4?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-minute-4" target="_blank" rel="noopener noreferrer"><img alt="Minute - Meeting notes that never leave your Mac | Product Hunt" width="250" height="54" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1213983&theme=light&t=1785901198362"></a>

⬇ Apple Silicon용 Minute 1.12.1 다운로드
Intel Mac을 사용하십니까? Intel 빌드 다운로드.
</div>Minute는 macOS용 완전한 오프라인 회의록 작성기입니다. 오디오를 녹음하고, Whisper로 실시간 전사(transcribe)하며, 누가 말했는지 레이블을 지정하고, 로컬 LLM을 사용하여 요약, 결정 사항, 실행 항목으로 변환합니다 — 이 모든 것이 기기 내에서, 프로세스 내에서, Metal 가속 기능을 사용해 구동됩니다. 계정 연결도 없고, 클라우드도 없고, 서버도 없습니다. Minute가 사용하는 유일한 네트워크 트래픽은 선택적 모델 다운로드와 — 비활성화하지 않는 한 — 앱 자체의 최신 버전을 확인하기 위한 주기적인 GitHub 체크뿐입니다. 이 둘 중 어느 것도 사용자에 대한 정보나 회의록에 대한 정보를 전송하지 않습니다.
왜 (Why)
대부분의 회의록 작성기는 다른 사람의 서버에 연결된 마이크에 불과합니다. Minute는 노트북과 같습니다: 평문(plain text) 및 WAV 형식으로 사용자의 디스크 폴더에 기록하며, 작동하기 위해 네트워크를 전혀 요구하지 않습니다. Wi-Fi를 끄고 회의를 녹음해 보세요 — 온라인에서와 정확히 동일하게 전사하고, 요약하며, 질문에 답변합니다. 왜냐하면 애초에 네트워크를 사용한 적이 없기 때문입니다.
권한 요청 없이 회의 감지 (Meeting detection, without a permission prompt)
다른 앱이 마이크를 사용하기 시작할 때 — Zoom, Teams, Webex, Slack, FaceTime, Discord 또는 브라우저 통화와 같은 경우 — Minute은 사용자에게 현재 보고 있는 화면 위에 조용한 알약(pill)을 표시하고 알려줍니다. 한 번의 클릭으로 녹음을 시작하고, 한 번의 클릭(또는 12초간의 무음)으로 이를 해제할 수 있습니다. 기본적으로 비활성화되어 있으므로 설정에서 켜야 합니다.
이 알약이 실제로 하는 일에 대한 솔직한 설명은 다음과 같습니다: 시스템의 기본 마이크가 사용 중인지, 그리고 현재 어떤 앱들이 실행되고 있는지를 확인합니다. 이 두 가지는 시스템의 모든 앱이 이미 볼 수 있는 것이며, 어느 것 하나도 권한 대화 상자를 필요로 하지 않습니다. Minute은 절대 마이크 자체를 열지 않으며, 표시 여부를 결정하기 위해 오디오를 청취하지도 않습니다. 토글을 끄면 감지기 스레드가 단순히 작동을 멈추는 것이 아니라 존재 자체가 사라집니다.
동일한 감시기가 녹화하는 동안 역방향으로 작동합니다: 회의 앱이 종료되거나 — Teams와 Slack 통화가 끝나는 방식처럼 계속 실행되지만 마이크 사용을 중단할 때 — Minute은 회의가 끝났다고 간주하고, 아래 자동 정지(auto-stop)에서 설명한 대로 중지를 제안합니다. 동일하게 솔직한 메커니즘입니다: 프로세스 상태를 처리하며, 오디오는 절대 처리하지 않습니다.

실시간 녹음 및 전사
녹음을 시작하기 전에 Minute은 무엇을 캡처할지 정확히 보여줍니다: 실제 현재 마이크, 라이브 입력 미터, 시스템 오디오 사용 가능 여부, 그리고 이 Mac에 대한 솔직한 적합성 레이블이 붙은 전사 모드입니다. 캡처 소스는 회의 내내 계속 표시되므로, 입력이 어디에서 오는지에 대한 모호함이 전혀 없습니다.

녹음이 시작되면 Whisper가 실시간으로 전사하며, 화자별로 그룹화되고 회의가 진행됨에 따라 라이브 스크롤됩니다. 작업 제목을 변경하거나, 일시 중지 및 재개할 수 있으며, ⌘⇧M을 사용하여 타임스탬프가 찍힌 마커를 추가할 수 있습니다. Minute은 장시간 무음, 클리핑(clipping), 연결 끊김 입력, 또는 전사 지연이 발생하면 알림을 주지만, 여전히 안전한 오디오 캡처는 숨기지 않습니다.
설정에서 시스템 오디오 캡처를 켜면 녹음이 통화 양쪽(사용자의 마이크와 Mac에서 재생되는 소리)을 모두 포착하므로, 다른 참가자들의 목소리가 단순히 사용자 본인만 기록되는 것이 아니라 전사본에 포함됩니다. macOS 13 이상과 화면 녹화 권한(이 모든 기능이 트리거하는 시스템 프롬프트)이 필요합니다. 만약 '아니요'라고 하거나 더 오래된 macOS를 사용하면, 녹음은 이전처럼 마이크만으로 작동합니다. 그리고 스피커 소리도 괜찮습니다. 시스템 오디오가 믹스에 포함될 때, 마이크는 macOS 자체의 음성 처리(FaceTime이 사용하는 것과 동일한 에코 제거기)를 거치므로, Mac에서 재생되는 내용이 마이크를 통해 두 번째로 녹음되는 스피커 누출로는 기록되지 않습니다.
실수로 마이크 전용으로 시작했나요? 소스는 녹화가 시작되면 고정됩니다. 이는 캡처 파이프라인의 하드 제약 사항입니다. 하지만 녹화 보기에는 시스템 오디오로 다시 시작 기능이 제공됩니다. 이 기능은 지금까지의 녹음을 자체 노트로 저장하고, 시스템 오디오를 켠 상태로 즉시 새로운 녹화를 시작하며, 회의가 두 개의 노트로 구성된다는 확인 단계가 있습니다.
녹음 중 정지 버튼을 누르거나 분 단위 알림을 놓칠 걱정은 하지 마세요. 2분 동안 음성으로 기록할 내용이 없고 들리는 소리도 없을 경우, 시스템이 2분 카운트다운 경고를 보내다가 스스로 멈추고 마치 사용자가 '정지' 버튼을 누른 것처럼 정확하게 녹취합니다. 회의가 명확히 끝났다고 판단되면 더 빨리 반응합니다. "모두 감사합니다(thanks everyone)"와 같은 마무리 문구는 1분간 조용할 때 경고를 활성화하며, 회의 앱이 종료되거나 — 또는 macOS 14.2 이상에서 앱이 열려 있는 상태로 마이크가 조용해지는 경우(Teams 및 Slack 사례) — 몇 초간 조용하면 경고가 활성화됩니다. 녹음 화면에는 조용한 타이머("Quiet for 1:24")가 카운트다운되며, 새로운 음성이나 "녹음 유지(Keep recording)"를 한 번 클릭하면 카운트다운이 취소되고, 설정(Settings) 토글을 통해 이 전체 동작을 끌 수 있습니다. 녹음이 진행되는 동안에는 독(Dock) 아이콘에 REC 배지가 표시되어 깜빡하고 놓치는 일이 없도록 합니다. 관련하여 Whisper는 공백 시간을 임의 구두점처럼 기록하는 습관이 실시간으로 필터링되므로, 조용한 구간이 스크립트를 "." 줄로 채우지 않으며 — 알림음(notification chimes)을 임의 단어로 변환하는 습관 역시 조용한 타이머를 속이지 못합니다.

누가 무엇을 말했는지 (Who said what)
**화자 감지(Detect speakers)**를 켜고(설정 → 녹음), 모든 녹음 기록은 목소리별로 레이블이 지정됩니다 — 화자 1(Speaker 1), 화자 2(Speaker 2) 등 — 아래의 이름 변경 및 병합 도구에 사용할 준비가 됩니다. 감지 기능은 sherpa-onnx를 통해 완전히 장치 내(on-device)에서 실행됩니다: pyannote segmentation이 음성 구간을 찾고, 3D-Speaker CAM++ 음성 임베딩(voice embeddings)이 목소리를 구분하며, 두 개의 작은 모델(~총 34MB)이 활성화할 때 한 번 다운로드됩니다. 이 기능은 녹취 후 요약 전에 실행되므로, 요약 내용은 실제 화자를 참조합니다.
기존 노트에서도 작동합니다 — 전사(transcript) 툴바에 있는 "화자 감지(Detect speakers)" 버튼은 오디오가 남아있는 모든 노트에 동일한 과정을 실행합니다. 자동 화자 카운팅은 명확한 통화 오디오에서 가장 강력하며, 만약 카운트가 잘못되면 정확한 화자 수로 다시 실행하면 매우 정확해집니다. 확인된 이름은 유지됩니다: 이름을 바꾼 화자는 재실행 과정에서도 그 이름을 유지합니다.
Minute는 또한 함께 만난 사람들을 기억할 수도 있습니다. **이름 지정된 화자 기억(Remember named speakers)**을 켜고(설정 → 화자), 화자의 이름을 바꾸면 해당 음성이 로컬에 저장됩니다. 다음 녹음에서 명확하게 일치하는 목소리가 감지되면, 요약이 실행되기 전에 전사본에 실제 이름이 바로 작성되어 — 요약본에는 "Speaker 2"가 아닌 "Sarah"라고 표시되며, 노트에는 "자동으로 이름 변경됨 — 되돌리기(auto-renamed — Undo)" 알림이 표시됩니다. 사용자의 수정 사항은 항상 나중에 재실행되는 내용보다 우선하며, 하나의 이름이 두 화자에게 적용되는 일은 없습니다.
경계에 있는 일치 항목은 제안 칩으로 남아 있습니다 — "Speaker 2는 Sarah와 유사함" — 한 번의 클릭으로 확인하거나 무시할 수 있으며, 모든 것을 직접 확인하고 싶다면 중첩된 설정 토글을 사용하여 자동 삽입 기능을 끌 수 있습니다. 이러한 확인 과정을 거치면서 시간이 지남에 따라 프로필이 더욱 정교해집니다. 음성 프로필은 선택적이며 라이브러리 폴더에 저장되고, 설정에서 각각 삭제 버튼과 함께 나열되며 — 다른 모든 것과 마찬가지로 — Mac을 벗어나지 않습니다.
실행 가능한 요약본
노트가 전사되면, 로컬 LLM이 이를 짧은 요약본, 결정 목록, 그리고 노트에서 벗어나지 않고 체크할 수 있는 실행 항목으로 변환합니다. 녹음 후 개요는 출처(source), 지속 시간(duration), 화자(speakers), 전사 턴(transcript turns), 마커(markers)를 함께 보관합니다. 생성되는 모든 필드는 로컬 전사본에서 나오며, 회의를 업로드할 필요 없이 재생성될 수 있습니다.
요약은 사용자가 원하는 대로 만들 수 있습니다. 길이(짧게/표준/상세)를 선택하고, 상시 사용자 지정 지침("독일어로 작성", "엔지니어링 결정에 초점 맞추기" 등)을 추가하며, 컨텍스트 창 크기가 Mac의 메모리에 따라 자체적으로 조정되도록 하거나 직접 고정할 수 있습니다. 이 모든 설정은 '설정'에서 관리되며, 다음에 생성하는 요약에 모두 적용됩니다. 상세(Detailed) 옵션은 일반적인 결정 사항 및 후속 조치 외에도 논의된 모든 주제에 대한 섹션별 분석을 추가합니다.
이전에는 이름을 붙이지 않았던 노트도 요약이 완성되면 회의 자체에서 제목을 가져옵니다. 더 이상 "새 녹음"과 같은 라이브러리는 없습니다. 이미 요약이 실행 중일 때 두 번째 요약을 요청해도 거부되지 않고, 대신 대기열에 추가됩니다. 엔진이 여유가 생기면 자동으로 시작되며, 그때 선택한 스타일에 따라 진행되므로 오래된 스냅샷과는 다릅니다. 실행 중이거나 대기열에 있는 요약은 원클릭으로 취소할 수 있으며, 생성 작업은 무한정 실행되지 않고 스스로 멈춥니다. 또한 회의가 모델의 컨텍스트 창을 초과할 정도로 길 경우, 요약본이 내용이 빈약하게 나오는 대신 녹음의 일부만 다루고 있음을 명시합니다.
기록에 질문하고 출처를 확인하세요
회의에 대해 일반 언어로 질문하면("출시 날짜에 대해 무엇을 결정했나요?"와 같이), Minute가 스크립트에서 답변하며, 해당 순간으로 바로 이동할 수 있는 인라인 [분:초] 각주(citation)를 제공합니다. 이는 요약본을 추측하는 챗봇과의 대화가 아니라, 사용자의 노트 자체와의 대화입니다.

무엇이든 즉시 찾기
⌘K는 라이브러리 전체의 제목과 전체 스크립트 텍스트를 검색하며, 일치하는 부분을 강조 표시하고 재생 준비 상태로 만들어 원하는 내용이 언급된 순간으로 바로 이동할 수 있게 합니다.
더 큰 라이브러리의 경우, 메모를 고정하거나 녹음 상태, 출처 또는 날짜별로 필터링하고, 최신순, 오래된 순, 길이 또는 제목별로 정렬할 수 있습니다. 다중 선택은 일괄 내보내기 및 복구 가능한 삭제를 지원하며, 노트별 저장 세부 정보는 오디오 보존 여부를 신비롭지 않고 눈에 보이게 만듭니다. 녹음이 무겁게 남아있을 필요도 없습니다: 선택적 저장 설정은 7일, 14일 또는 30일보다 오래된 오디오를 WAV에서 압축 AAC로 변환하여 디스크 공간은 훨씬 적으면서도 여전히 재생 가능하고 스크립트에서 탐색할 수 있게 합니다.

작업물을 잃지 않으면서 정리하기
화자 이름을 바꾸거나, 화자에 따라 스크립트를 필터링하거나, 정확한 되돌리기 경로로 중복된 화자 식별자를 병합할 수 있습니다. 이는 화자 스토리의 수동적인 부분으로, 감지 기능이 레이블을 잘못 지정했거나 'Speaker 2' 대신 'Sam'을 보고 싶을 때 유용합니다. 마커는 녹음 후에도 편집 가능하며, 삭제된 노트는 로컬 복구 폴더로 이동하고, 파괴적인 정리 작업은 항상 되돌리기 기능을 제공합니다.
종이처럼 느껴지는 다크 모드
Minute는 macOS의 모양 설정(appearance setting)을 따릅니다. 다크 테마는 반전된 라이트 테마가 아니라, 라이트 테마와 같은 차분하고 아날로그적인 느낌으로 구축된 자체적인 따뜻한 잉크-어두운 종이 팔레트를 가지고 있습니다.

Mac에 맞춘 모델 크기
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 HN · 56513d9a의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기