Go to file
KevinB-T 9517bad3dc feat: add WhisperX diarization and speaker transcript UI
- 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
2026-05-20 16:34:50 +05:30
.husky Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
backend feat: add WhisperX diarization and speaker transcript UI 2026-05-20 16:34:50 +05:30
docs feat: add WhisperX diarization and speaker transcript UI 2026-05-20 16:34:50 +05:30
frontend feat: add WhisperX diarization and speaker transcript UI 2026-05-20 16:34:50 +05:30
scripts feat: add WhisperX diarization and speaker transcript UI 2026-05-20 16:34:50 +05:30
.env.example Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
.gitignore Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
.prettierignore Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
.prettierrc Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
ecosystem.config.cjs Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
eslint.config.js Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
package-lock.json Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
package.json Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30
README.md Configure VM services and fix auth flow 2026-05-15 15:19:49 +05:30

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

  1. Install dependencies:
npm install
  1. Copy env values:
cp .env.example .env
  1. 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/.

  1. 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