Meeting Recorder
Omarchy를 위한 회의 녹음기입니다. 마이크와 컴퓨터 오디오를 두 개의 트랙으로 기록하며, 녹음을 중지하면 화자별 스크립트(transcript), 챕터, 그리고 플레이어를 얻게 됩니다. 이미 가지고 있는 녹음 파일을 불러와 처리할 수도 있습니다. 모든 내용은 사용자의 기기에서 전사됩니다.
호출에 봇이 참여하지 않으며, 오디오가 컴퓨터를 벗어나지 않습니다. 이 도구는 단순히 컴퓨터가 재생하는 내용과 사용자가 말하는 내용을 청취하기 때문에 어떤 회의 앱에서도 작동합니다.
The done screen in Tokyo Night: chapters on the left, the transcript on the right, a waveform player above it
앱을 열고 두 미터(meter)가 모두 움직이는 것을 확인한 후, 녹음 시작 버튼을 누릅니다. 녹음을 중지하면, whisper.cpp가 회의 내용을 전사하고 90초 애니메이션이 사용자에게 즐거움을 선사합니다. 누가 무엇을 말했는지 알 수 있는 스크립트, 모든 라인을 다시 들을 수 있는 플레이어, 그리고 이미 사용 중인 코딩 에이전트가 작성한 챕터를 얻게 됩니다. 모든 것은 Omarchy 테마의 색상을 따릅니다.
Hyprland용 Omarchy를 위해 제작되었습니다 (GTK 4 및 libadwaita로, Rust 언어로 작성됨).
설치
Meeting Recorder는 Omarchy 패키지 저장소에 있습니다:
yay -S omarchy-meeting-recorder
현재는 엣지 채널(edge channel)에 있으므로, Omarchy의 엣지 패키지를 실행하는 경우 작동하며, 다른 사용자들은 다음 Omarchy 릴리스에서 사용할 수 있습니다. 그때까지는 이 한 줄로 해당 저장소(PKGBUILD)에서 동일한 pacman 패키지를 빌드할 수 있습니다 (install.sh는 10줄이므로, 관심 있다면 먼저 읽어보세요):
curl -fsSL https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/main/install.sh | bash
어느 쪽이든 sudo pacman -R omarchy-meeting-recorder-bin 명령어로 제거할 수 있습니다.
그런 다음 런처에서 Meeting Recorder를 엽니다. 첫 번째 전사 과정에서 whisper 모델을 다운로드합니다 (약 1.6 GB, 일회성). 그리고 앱은 진행 상황을 보여줍니다. 처음 사용할 때 바(bar)에 실시간 파형(live waveform)을 표시할지 여부를 제안하며, 패키지는 플로팅 창용 Hyprland 규칙도 출력합니다 (아래에서도 확인 가능).
직접 빌드하는 것을 선호하십니까? 소스에서 빌드하기를 참조하거나, [최신 릴리스]에서 바이너리를 가져가세요.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/transcribing-animation.webp" alt="The transcribing animation: a neon sun over a scrolling grid, the progress bar and the lines as they are recognised, with the speakers' names" width="420"></p>
기능 소개 (What it does)
시작 전 사운드 확인
앱은 녹음하지 않은 상태로 준비됩니다. 두 개의 미터는 시작부터 실시간으로 작동하며, 녹음 중일 때와 같은 움직이는 파동을 보여주므로 회의가 시작되기 전에 사용자의 마이크와 컴퓨터 오디오 모두 도착했는지 확인할 수 있습니다. 원한다면 이름을 입력할 수 있습니다 (아니면 "Meeting 14:30"이 됩니다). 오디오 형식과 전사(transcript) 언어를 선택하고 녹음 시작을 누르세요.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/ready.webp" alt="The ready page: meeting name, audio file, language, two meters that say Not recording, the Start recording button and Import an audio file, or drop one here" width="440"></p>
통화 양측 기록
사용자의 마이크와 컴퓨터가 재생하는 모든 소리가 두 개의 별도 트랙으로 녹음됩니다. 이름, 오디오 형식, 언어는 통화 중에도 모두 변경할 수 있습니다.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/recording.webp" alt="Recording: both meters moving, the clock, Pause and Stop recording" width="440"> <img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/paused.webp" alt="Paused: both waves frozen and dimmed with a PAUSED sign, Resume and Stop recording" width="440"></p>
**일시정지(Pause)**를 누르면 두 웨이브가 "❚❚ PAUSED" 표시 아래에서 고정되고 시계는 멈춥니다. 재개(Resume) 버튼을 누르기 전까지는 어느 트랙에도 아무것도 기록되지 않습니다.
웹캠도 녹화할 수 있습니다
**웹캠(Webcam)**을 켜면 카메라 영상이 오디오 옆에 webcam.mp4로 기록되며(사진만), 회의 폴더에서 이를 확인할 수 있고, 행에는 작은 실시간 화면으로 현재 보이는 것을 보여줍니다. 비디오는 오디오와 시간을 맞춥니다: 카메라를 켠 상태에서 녹화(또는 재개)가 시작되면 첫 프레임이 들어오는 순간부터 오디오가 기록되며, 일시정지된 시간은 오디오처럼 제외되고, 녹화 중에는 카메라를 켜거나 끌 수 있으며, 꺼진 시간은 검은색으로 채워집니다. 이 토글 상태는 기억되며, 시스템이 가진 첫 번째 실제 기능입니다. 나중에 회의를 열면 비디오가 스크립트 구석에 작게 재생되며 오디오와 동기화됩니다.
녹음기와 함께 회의 노트를 유지합니다
준비 페이지 구석의 a를 누르면 녹음기 옆에 회의 노트가 열리며, 새로운 창에서 비어 있게 됩니다. 이는 음성 해설 스크립트 또는 회의에서 말하고 싶은 내용을 작성하는 곳입니다. 커서가 있는 단락이 강조 표시되고 중앙에 유지됩니다. ↓와 ↑ (또는 타이핑 중 Ctrl+↓ 및 Ctrl+↑)를 사용하여 다음/이전 단락으로 이동할 수 있으며, 모든 편집 내용은 즉시 저장됩니다. omarchy-meeting-recorder --notes <파일>을 사용하면 사용자만의 파일을 열어줍니다. 회의 노트를 열고 녹화한 경우, 해당 파일은 회의 폴더에 notes.md로 사본이 유지되며, 완료 페이지에서 스크립트 옆에 표시됩니다.
Recording Launch sync with the meeting notes beside it: the agenda for the call, with the paragraph about Northwind lit and the others dimmed
방해받지 않습니다
Ctrl+M을 누르거나 헤더 바의 버튼을 누르면 창이 시계와 두 웨이브만 있는 스트립으로 축소됩니다. 이 스트립을 원하는 곳 어디든 끌어다 놓을 수 있으며, 오른쪽의 작은 버튼이나 다시 Ctrl+M을 누르면 전체 창이 돌아옵니다.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/compact.webp" alt="컴팩트 스트립: 빨간 점, 경과 시간, 두 개의 작은 웨이브 및 확장 버튼" width="420"></p>
녹음하는 동안 바 위젯은 동일하게 표시됩니다: 깜빡이는 점, 라인 위에 마이크가 있고 아래에 컴퓨터 오디오가 있는 작은 파형, 그리고 시간입니다. 일시 정지하면 "paused 01:23"이라고 표시되며, 회의가 전사되는 동안 진행 상황을 보여줍니다. 이를 클릭하면 녹음기 창이 다시 나타납니다.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/bar-widget.webp" alt="The bar widget recording, paused and transcribing" width="600"></p>
자체 기기에서 전사 (Transcribes on your own machine)
중지하면 창은 곧바로 전사 애니메이션으로 전환됩니다: 오디오를 저장한 다음, [whisper-rs]가 회의를 전사하고, 화자가 인식되는 대로 라인들이 타이핑됩니다. 100%와 DONE에서 끝나며, 짧은 녹음이라도 최소 10초 동안 유지됩니다. 아무것도 어딘가로 전송되지 않습니다.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/transcribing.webp" alt="The transcribing animation at 77 percent with lines from Maya and Tom" width="440"></p>
모든 녹음을 가져오기 (Imports any recording)
창에 오디오 파일을 드롭하거나 Import an audio file을 클릭하세요: 휴대폰 메모, 다른 곳에서 녹음한 통화 등 ffmpeg가 읽을 수 있는 모든 것이 가능합니다. 언어와 화자 수를 선택하거나, Speakers를 Automatic으로 두면 파일이 동일하게 전사됩니다. 하나의 파일에 보조 트랙(second track)이 없더라도 목소리 자체를 구분하며, 각 화자에게는 사용자의 테마에서 색상이 할당됩니다.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/drop-overlay.webp" alt="Dragging an mp3 from Nautilus onto the window: a dashed border and Drop to import" width="360"> <img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/import-dialog.webp" alt="The Import audio dialog with Language and Speakers set to Automatic" width="360"></p>
An imported design review: three speakers, each in their own colour
들을 수 있는 녹취록 제공
완료 화면에는 오른쪽에 녹취록이 표시됩니다. 시간, 화자, 텍스트가 각각의 열에 배치되며, 한 단락이 하나의 발화(turn)를 나타냅니다. 그 위에는 양쪽 소리의 파형(waveform)을 가진 플레이어가 있습니다. 사용자의 소리는 선 위쪽에, 상대방의 소리는 아래쪽에 표시됩니다. 파형에서 클릭하거나 드래그하여 탐색할 수 있으며, 아무 줄이나 클릭하면 거기서부터 재생이 시작됩니다. 현재 재생 중인 줄은 강조 표시되며 녹취록도 함께 스크롤됩니다.
왼쪽에는 회의 이름과 화자별 한 행이 있습니다. 이 행은 언제든지 이름을 변경할 수 있습니다 (폴더, 녹취록 및 매니페스트가 따라오며, 사용자의 이름은 다음에도 기억됩니다. 두 화자에게 동일한 이름을 부여하면 하나로 합쳐집니다). 또한 챕터, 녹취록 복사 (Enter 키도 가능), 폴더 열기, 새 녹음, 그리고 다시 전사할 언어 설정이 있습니다.
The done screen while playing: the current chapter selected and the current line highlighted
읽는 곳에서 수정 가능
줄 위에 마우스를 올리면 세 개의 버튼이 나타납니다. 텍스트를 제자리에 편집하거나, 해당 줄을 다음 화자에게 넘기거나, 삭제할 수 있습니다. 삭제된 줄은 '실행 취소(Undo)'로 복구됩니다.
Hovering a line: edit, next speaker and delete
Editing a line in place
기본 에이전트에 의한 챕터 분할
Omarchy에 기본 코딩 에이전트가 설정되어 있고(omarchy default agent, 예를 들어 Claude Code 또는 Codex) 회의 길이가 3분 이상일 경우, 완료되는 즉시 해당 에이전트가 녹취록을 챕터로 나눕니다. 이들은 왼쪽에 목록으로 표시되고, 녹취록에는 제목(heading)으로 나타나며, 파형 위에는 마커로 표시됩니다 (제목 확인을 위해 호버). 또한 transcript.md 파일 상단에 ## Chapters 목록이 추가되어 복사된 녹취록에도 포함됩니다. 완료 페이지의 챕터 헤더도 이를 반영합니다.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/chapters.webp" alt="현재 선택된 챕터 목록 클로즈업" width="600"></p>
챕터 기능은 필수 사항이 아닌 추가 기능입니다. 에이전트가 없으면 해당 버튼 자체가 표시되지 않으며, 그 외의 모든 기능은 동일하게 작동합니다. 이 에이전트는 도구 없이 실행됩니다. 녹취록과 지침을 받아 텍스트로만 답변할 수 있습니다.
자체 액션 실행
'Actions' 섹션에 사용자가 직접 스크립트를 추가할 수 있습니다. 녹취록을 노트에 저장하거나, 게시하거나, 이메일로 전송하는 등의 작업을 할 수 있습니다. 각 액션은 메뉴 이름과 명령어를 가지고 ~/.config/omarchy-meeting-recorder/config.toml 파일에 등록됩니다. 또한, 액션은 녹취록이 완료되는 즉시 독립적으로 실행될 수도 있습니다. 아직 설정된 액션이 없다면, 버튼은 '액션 추가(Add actions…)'로 표시되며 사용 방법을 안내합니다. Actions를 참조하세요.
Omarchy 테마 적용
앱은 현재 테마의 팔레트(colors.toml)를 읽어옵니다. 이 팔레트는 배경색, 강조색, 그리고 화자, 파형(waves), 애니메이션을 위한 테마 고유 색상을 포함합니다. 앱이 열려 있는 동안 테마를 전환하면 이를 자동으로 따라갑니다.
The done screen in Tokyo Night, Osaka Jade, Catppuccin Latte, Gruvbox, Kanagawa and Everforest
The done screen on Catppuccin Latte
녹음 안전성 유지
앱이 녹음 중에 종료되더라도(충돌, 로그아웃, 정전 등), 다음 시작 시 미완성된 녹음을 찾아 회의로 저장할지, 나중에 보관할지, 아니면 폐기할지 옵션을 제공합니다.
<p align="center"><img src="https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/HEAD/screenshots/recovery.webp" alt="미완성 녹음 발견, 저장(Save), 나중에(Later), 폐기(Discard) 옵션 제공" width="440"></p>
알아두면 유용한 정보