generated from nhcarrigan/template
3c8a46e5a6
- Add Python backend structure with FastAPI for transcription/summarization - Add React UI with audio recording, transcript, and summary views - Configure Tauri to manage Python backend lifecycle - Set up Windows cross-compilation with cargo-xwin - Add Gitea CI workflow for lint, test, and multi-platform builds - Configure ESLint, Prettier, and Vitest for code quality Note: App scaffolding only - Python env and models not yet set up
121 lines
2.7 KiB
Markdown
121 lines
2.7 KiB
Markdown
# Chronara - Local Meeting Transcription & Summarization
|
|
|
|
A Windows desktop application that transcribes, diarizes, and summarizes meetings using only locally-running models.
|
|
|
|
## Features
|
|
|
|
- 🎙️ Real-time audio transcription with speaker diarization (WhisperX)
|
|
- 📝 Intelligent meeting summarization (Llama 3.2)
|
|
- 🖥️ Everything runs locally - no cloud services required
|
|
- 📦 All models bundled - no separate downloads needed
|
|
|
|
## Tech Stack
|
|
|
|
- **Transcription**: WhisperX (Whisper + speaker diarization)
|
|
- **Summarization**: Llama 3.2 1B/3B
|
|
- **Backend**: Python with FastAPI
|
|
- **Frontend**: Tauri + React
|
|
- **Model Runtime**: llama-cpp-python
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
chronara/
|
|
├── src/
|
|
│ ├── backend/ # Python FastAPI backend
|
|
│ ├── components/ # React components
|
|
│ └── App.tsx # Main React app
|
|
├── src-tauri/ # Tauri configuration
|
|
├── models/ # Bundled model files
|
|
├── scripts/ # Build and setup scripts
|
|
└── assets/ # Icons, resources
|
|
```
|
|
|
|
## Development Setup
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js 18+ with pnpm
|
|
- Python 3.10+
|
|
- Rust (for Tauri)
|
|
- Windows build tools (for native modules)
|
|
|
|
### Installation
|
|
|
|
1. Clone the repository:
|
|
|
|
```bash
|
|
git clone https://github.com/naomi-lgbt/chronara.git
|
|
cd chronara
|
|
```
|
|
|
|
2. Install frontend dependencies:
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
3. Install Python dependencies:
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
4. Download the AI models:
|
|
|
|
```bash
|
|
python scripts/download_models.py
|
|
```
|
|
|
|
5. Run in development mode:
|
|
|
|
```bash
|
|
pnpm tauri:dev
|
|
```
|
|
|
|
## Building for Production
|
|
|
|
### Windows
|
|
|
|
1. Download models if not already done:
|
|
|
|
```bash
|
|
python scripts/download_models.py
|
|
```
|
|
|
|
2. Build the Windows executable:
|
|
|
|
```bash
|
|
python scripts/build_windows.py
|
|
```
|
|
|
|
The installer will be created in `src-tauri/target/release/bundle/nsis/`.
|
|
|
|
## Usage
|
|
|
|
1. **Start Recording**: Click the "Start Recording" button to begin capturing audio
|
|
2. **Real-time Transcription**: Watch as the conversation is transcribed with speaker labels
|
|
3. **Generate Summary**: After recording, click "Generate Summary" for an AI-powered meeting summary
|
|
4. **Export**: Download both the full transcript and summary as text files
|
|
|
|
## Model Information
|
|
|
|
### Transcription (WhisperX)
|
|
|
|
- **Model**: OpenAI Whisper base model with WhisperX enhancements
|
|
- **Features**: Speaker diarization, timestamp alignment
|
|
- **Size**: ~150MB
|
|
|
|
### Summarization (Llama 3.2)
|
|
|
|
- **1B Model**: Fast, good for basic summaries (~1.2GB)
|
|
- **3B Model**: Better quality summaries (~2.5GB)
|
|
- **Format**: GGUF quantized models
|
|
|
|
## Privacy & Security
|
|
|
|
- All processing happens locally on your machine
|
|
- No audio or text data is sent to external servers
|
|
- Models are bundled with the application
|
|
- Meeting data stays on your device
|