| 기능 | 설명 |
|---|---|
| 🎤 실시간 녹음 | 마이크 선택 및 실시간 음성 캡처 |
| 📝 음성→텍스트 (STT) | whisper.cpp로 5초 단위 실시간 자막 생성 |
| 🤖 AI 회의록 | Ollama 로컬 LLM이 회의 내용을 분석하여 체계적인 회의록 자동 생성 |
| 🔒 100% 로컬 처리 | 모든 음성·텍스트 데이터가 내 컴퓨터에서만 처리됨 |
| 🌐 다국어 지원 | 한국어, English, 日本語, 中文 음성 인식 |
| 📋 복사 & 다운로드 | 생성된 회의록을 클립보드 복사 또는 Markdown 파일로 저장 |
┌─────────────────────────────────────────────────────┐
│ Renderer (React + Vite + TailwindCSS 4) │
│ ┌───────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │ Recording │ │Transcript│ │ Meeting Minutes │ │
│ │ Control │ │ Panel │ │ Panel │ │
│ └─────┬─────┘ └────┬─────┘ └────────┬──────────┘ │
├────────┼────────────┼────────────────┼──────────────┤
│ Preload (contextBridge + IPC) │
├────────┼────────────┼────────────────┼──────────────┤
│ Main Process (Electron) │
│ ┌─────┴─────┐ ┌────┴────┐ ┌───────┴──────────┐ │
│ │ Web Audio │ │ Whisper │ │ Ollama REST │ │
│ │ API PCM │ │ .cpp │ │ API Stream │ │
│ └───────────┘ └─────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────┘
- 데스크톱: Electron + electron-vite
- 프론트엔드: React 18, TailwindCSS 4, Motion (Framer Motion)
- 음성인식: whisper.cpp via @fugood/whisper.node
- 회의록 생성: Ollama 로컬 LLM (REST API 스트리밍)
- 오디오: Web Audio API → PCM 16-bit mono 16kHz 변환
- Node.js 18+
- Ollama 설치 및 실행 (ollama.com)
# Ollama 설치 후 모델 다운로드
ollama pull qwen2.5:3b# 저장소 클론
git clone https://github.com/ksyee/Scriba.git
cd Scriba
# 의존성 설치
npm install --legacy-peer-deps
# 개발 모드 실행
npm run dev💡 첫 실행 시 Whisper base 모델(~150MB)이 자동으로 다운로드됩니다.
저장 위치:%APPDATA%/scriba/models/
npm run build- 마이크 선택 — ⚙️ 설정에서 사용할 마이크를 선택합니다
- 녹음 시작 — 🎙️ 버튼을 클릭하면 실시간 자막이 생성됩니다
- 녹음 종료 — ⏹ 버튼을 클릭합니다
- 회의록 생성 — 회의록 패널에서 "회의록 생성" 버튼을 클릭합니다
- 저장 — 생성된 회의록을 복사하거나 Markdown 파일로 다운로드합니다
| 설정 | 옵션 | 기본값 |
|---|---|---|
| 마이크 | 시스템에 연결된 오디오 입력 장치 | 기본 장치 |
| 인식 언어 | 한국어 · English · 日本語 · 中文 | 한국어 |
| Whisper 모델 | base (~150MB) · small (~500MB) · medium (~1.5GB) |
base |
| Ollama 모델 | 설치된 Ollama 모델 자동 감지 | qwen2.5:3b |
⚡ CPU만으로도 동작합니다. GPU가 없어도
base모델과qwen2.5:3b으로 원활하게 사용 가능합니다.
src/
├── main/ # Electron 메인 프로세스
│ ├── index.ts # 앱 진입점, IPC 핸들러
│ └── services/
│ ├── whisper.ts # Whisper STT 서비스
│ └── ollama.ts # Ollama LLM 서비스
├── preload/
│ └── index.ts # IPC 브릿지 (contextBridge)
└── renderer/ # React 렌더러
└── src/
├── app/
│ ├── App.tsx # 메인 앱 (오디오 캡처 + 상태 관리)
│ └── components/
│ ├── title-bar.tsx
│ ├── recording-control.tsx
│ ├── transcript-panel.tsx
│ ├── minutes-panel.tsx
│ └── status-bar.tsx
└── styles/ # 다크 테마 + TailwindCSS 4
"마이크를 찾을 수 없습니다"
- 마이크가 물리적으로 연결되어 있는지 확인
- Windows 설정 → 개인 정보 → 마이크에서 앱 접근 허용 확인
- ⚙️ 설정에서 올바른 마이크가 선택되어 있는지 확인
"Ollama 연결 안됨"
- Ollama가 실행 중인지 확인:
ollama serve - 기본 포트(11434)로 접근 가능한지 확인:
curl http://localhost:11434 - 모델이 설치되어 있는지 확인:
ollama list
Whisper 모델 로딩 실패
%APPDATA%/scriba/models/폴더의 모델 파일이 손상되지 않았는지 확인- 모델 파일 삭제 후 앱 재시작하면 자동으로 다시 다운로드됩니다
MIT © 2025
