A desktop app that turns lecture recordings into Markdown notes with speaker diarization, local STT, and LLM summaries.
Download a build from Releases.
| macOS | Windows |
|---|---|
.dmg (Apple Silicon) |
NSIS .exe |
On macOS you can also install with Homebrew.
brew install --cask jeonjw85/tap/profnotemacOS builds are ad-hoc signed. Gatekeeper still blocks first launch: System Settings → Privacy & Security → Open Anyway.
Windows builds are unsigned. SmartScreen may warn on first run.
Open the app, grant microphone access, then download FFmpeg and a Whisper model from the bottom bar to start recording.
- Record from the mic, or drop in an existing audio file
- Diarize speakers and transcribe only the professor (auto-pick, can change)
- Local speech recognition, LLM summary, edit transcript/summary, save
.md - Click a timestamp to play, search notes, regenerate a summary
- Korean/English UI, summary language option
Turn summary, transcription language, and diarization on or off in Settings. Summaries use an OpenAI-compatible API.
Diarization is optional. Install the engine in Settings, accept the pyannote/speaker-diarization-3.1 terms, and add a HuggingFace token. Without the engine, transcription still runs.
Recordings, models, and notes live in ~/Library/Application Support/kr.jjw.profNote/. Transcription stays local. Only the transcript text is sent to the LLM API when summarizing.
Tauri v2, React 19, whisper-rs, pyannote, SQLite.
- macOS, Rust stable, Xcode Command Line Tools, Node.js 20+
npm install
npm run tauri dev
npm run tauri buildBuild output: src-tauri/target/release/bundle/
npm run typecheck
npm run lint
cargo test --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml