Skip to content

gmgmgun/gscribe

Repository files navigation

gscribe

녹음하거나 오디오/영상 파일을 업로드하면 전사·화자 분리(Deepgram) → 회의록 생성(Claude) 을 자동으로 수행하는 웹 앱입니다.

  • 백엔드: FastAPI (app.py, gscribe/)
  • 프론트엔드: React + TypeScript + Vite + Tailwind (frontend/)

환경 변수

.env.example를 복사해 .env를 만들고 값을 채웁니다.

DEEPGRAM_API_KEY=...    # 전사 + 화자 분리 (Deepgram, 한 번의 호출로 처리)
ANTHROPIC_API_KEY=...   # 회의록 생성 (Claude)
# DEEPGRAM_MODEL=nova-2 # 선택: 한국어가 nova-3에서 미지원/저품질이면 nova-2로

화자 분리가 Deepgram API로 처리되므로 서버에 PyTorch·pyannote가 필요 없습니다. (Windows Server 2008 R2 등 구형/경량 서버 배포가 가능해집니다.)

설치

# 백엔드
pip install -r requirements.txt

# 프론트엔드
cd frontend && npm install

ffmpeg 이 PATH에 있어야 합니다. 업로드된 오디오를 Deepgram에 보내기 전 16kHz 모노 Opus로 압축·정규화해 서버 메모리·업로드량을 줄이고 다양한 입력 형식(WEBM·MP4 등)을 안정적으로 처리합니다. (ffmpeg이 없으면 원본을 그대로 전송하며 경고를 남깁니다 — 동작은 하지만 압축 이점은 사라집니다.)

개발 (HMR)

FastAPI와 Vite dev server를 각각 띄웁니다. Vite가 /api 요청을 FastAPI(8000)로 프록시합니다.

# 터미널 1 — 백엔드
python -m uvicorn app:app --port 8000

# 터미널 2 — 프론트엔드
cd frontend && npm run dev   # http://localhost:5173

프로덕션 / 배포 (단일 서버)

프론트엔드 빌드가 반드시 선행되어야 합니다. frontend/dist/는 git에 커밋하지 않으므로(빌드 산출물), 새로 체크아웃하거나 배포할 때마다 빌드 단계를 실행해야 합니다. 빌드가 없으면 /는 500과 안내 메시지를 반환합니다.

cd frontend && npm run build   # → frontend/dist/ 생성 (FastAPI가 서빙)
cd .. && python -m uvicorn app:app --port 8000   # http://localhost:8000

FastAPI는 frontend/dist/index.html/로, frontend/dist/assets/assets로 서빙합니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors