- add WhisperX diarization support to the Whisper VM server - normalize speaker timestamp segments from Whisper responses - document Hugging Face/pyannote VM setup and health checks - show diarized speaker transcript blocks in record and transcript views - group consecutive segments from the same speaker - remove duplicate paragraph transcript display when diarized segments exist - let diarized transcript content expand without an inner scrollbar |
||
|---|---|---|
| .husky | ||
| backend | ||
| docs | ||
| frontend | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc | ||
| ecosystem.config.cjs | ||
| eslint.config.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
Orphion MoM
Orphion is a premium voice-to-text collaboration platform for Minutes of Meeting workflows.
Architecture
frontend/ React + Vite dashboard
backend/ Node.js + Express REST API
scripts/ Optional local/ops helpers
docs/ API, database, storage, and Whisper notes
The backend exposes versioned REST APIs at /api/v1, stores users/transcripts/jobs in remote
MySQL, writes audio through a storage adapter, and processes transcription with a queued
Faster-Whisper VM client.
Local Development
- Install dependencies:
npm install
- Copy env values:
cp .env.example .env
- Create the MySQL database/user on the VM:
sh scripts/bootstrap-vm-mysql.sh <vm-user>@172.16.10.64
The sample env uses MySQL and Whisper on 172.16.10.64. For alternate MySQL, storage, or Whisper
settings, see the files in docs/.
- Run the API and frontend:
npm run dev:api
npm run dev
Or start both from one terminal:
npm run dev:all
Frontend: http://localhost:5173 or the Vite network URL printed in your terminal
Backend health: http://localhost:4000/health
Swagger UI: http://localhost:4000/api/docs
Key Features
- JWT access tokens and refresh-token sessions in secure cookies
- Role-ready auth model with protected routes
- Remote MySQL connection pooling and migration runner
- Storage adapter pattern for SMB/NFS mounts, HTTP storage, S3-compatible storage, and local dev
- Queued transcription jobs with status tracking
- Faster-Whisper VM retries, timeout handling, and health checks
- Standard API envelope:
{ success, message, data } - Premium dark React dashboard with recording, upload progress, transcript history, playback, sharing, and downloads
See docs/ for setup details.
DB_PASSWORD=NexaVault2026!Blue