Skip to content

Commit 28af5fa

Browse files
Add Sphinx docs deployment workflow and update docs info
1 parent ad94d72 commit 28af5fa

File tree

4 files changed

+232
-0
lines changed

4 files changed

+232
-0
lines changed

.github/workflows/docs-deploy.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Deploy Documentation to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
jobs:
14+
deploy:
15+
environment:
16+
name: github-pages
17+
url: ${{ steps.deployment.outputs.page_url }}
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
23+
- name: Set up Python
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: '3.11'
27+
28+
- name: Install dependencies
29+
run: |
30+
pip install uv
31+
uv pip install . sphinx sphinx_rtd_theme
32+
33+
- name: Build Sphinx documentation
34+
run: |
35+
sphinx-build -b html docs/source docs/build
36+
37+
- name: Setup Pages
38+
uses: actions/configure-pages@v5
39+
40+
- name: Upload artifact
41+
uses: actions/upload-pages-artifact@v3
42+
with:
43+
path: 'docs/build'
44+
45+
- name: Deploy to GitHub Pages
46+
id: deployment
47+
uses: actions/deploy-pages@v4

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,26 @@ The final output format is controlled by the `--mode` argument, which dictates t
9292

9393
- **`word` Mode**: This mode provides the highest level of detail. It generates a timestamp for every single word, which is useful for detailed analysis, research, or creating synchronized applications.
9494

95+
## Project Architecture
96+
97+
The application is built around a modular architecture with a central orchestrator managing the entire transcription pipeline.
98+
99+
- **Entrypoint (`main.py`)**: The script that launches the application. It parses command-line arguments and initializes the main orchestrator.
100+
- **Orchestrator (`stellascript/orchestrator.py`)**: The core of the application. It coordinates all modules, from audio input to final text output, managing the different processing modes (`block`, `segment`, `word`).
101+
- **Configuration (`stellascript/config.py`)**: A centralized file holding all technical parameters, such as audio sample rates, buffer durations, and model settings, for easy tuning.
102+
103+
### Core Modules
104+
105+
- **Audio Handling (`stellascript/audio/`)**:
106+
- `capture.py`: Manages real-time audio recording from the microphone.
107+
- `enhancement.py`: Applies noise reduction and audio cleaning models to improve source clarity.
108+
- **Processing (`stellascript/processing/`)**:
109+
- `diarizer.py`: Identifies speaker segments in the audio stream ("who speaks when").
110+
- `speaker_manager.py`: Creates and manages voiceprints to track unique speakers.
111+
- `transcriber.py`: Converts audio segments into text using the Whisper model.
112+
113+
This structure separates concerns, making the system easier to maintain and extend.
114+
95115
## Installation
96116

97117
### Prerequisites

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ dependencies = [
1919
"torchvision>=0.23.0",
2020
"torchcodec>=0.7.0",
2121
"whisperx>=3.3.1",
22+
"sphinx-rtd-theme>=3.0.2",
2223
]

uv.lock

Lines changed: 164 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)