Important: You are responsible for complying with all applicable laws in your jurisdiction regarding the recording of conversations. Many jurisdictions require the consent of all parties before a conversation can be recorded. By using Nojoin, you acknowledge that you will use this software in a lawful manner. The developers of Nojoin assume no liability for any unlawful use of this application.
- System Audio Recording: Simultaneously record what you hear (system output) and what you say (microphone input).
- Local-First Transcription: Uses OpenAI's Whisper to generate accurate transcripts of your recordings, running entirely on your machine.
- Offline Speaker Diarization: Automatically identifies who spoke when using Pyannote for offline speaker diarization. No cloud connection required for core processing.
- Comprehensive Speaker Management: Relabel, merge, and manage speakers per recording. Build a global speaker library for consistent naming across all your meetings.
- LLM-Powered Insights:
- Generate concise, actionable meeting notes and summaries.
- Ask questions about your meeting transcript in a chat-style Q&A interface.
- Supports OpenAI, Google Gemini, and Anthropic models (requires your own API key).
- Powerful Search and Organization:
- Full-text search across all meeting transcripts.
- High-performance find and replace text within a single transcript or across all of them.
- Organize recordings with custom tags.
- Data Management & Backup:
- Complete backup and restore system creating portable zip files with all your data.
- Database-first architecture for faster operations and reliable data storage.
- Non-destructive restore that merges with existing data.
- Automatic Updates: Built-in update checking and installation system with user-configurable preferences.
- Full Control: Manage recordings, view transcripts, and configure settings like transcription models and audio devices through a modern UI.
-
Prerequisites:
-
Python 3.11.9: This project requires Python 3.11.9 SPECIFICALLY due to PyTorch compatibility issues. You can download it directly from the Python website. The typical caveats of running multiple Python versions/installations apply.
Alternatively, you can install it using your system's package manager:
- Windows (winget):
winget install Python.Python.3.11
- macOS (Homebrew):
brew install [email protected]
- Linux (Debian/Ubuntu):
sudo apt update && sudo apt install python3.11 python3.11-venv
- Windows (winget):
-
ffmpeg:
ffmpeg
is required for audio processing and must be available in your system's PATH.- Windows (winget):
winget install ffmpeg
- macOS (Homebrew):
brew install ffmpeg
- Linux (Debian/Ubuntu):
sudo apt update && sudo apt install ffmpeg
- Windows (winget):
-
Optional (for GPU Acceleration): NVIDIA GPU with the CUDA 12.8 Toolkit installed. See the "GPU Acceleration" section for more details.
-
-
Clone the repository:
git clone https://github.com/Valtora/Nojoin
Switch to the newly cloned directoy:
cd Nojoin
-
Create and activate a virtual environment: It is highly recommended to use a virtual environment to manage project dependencies. Create the virtual environment:
python -m venv .venv
Activate the environment:
- Windows (PowerShell/CMD):
.venv\Scripts\Activate
- macOS/Linux (bash/zsh):
source .venv/bin/activate
- Windows (PowerShell/CMD):
-
Install Dependencies
The dependencies are listed in
requirements.txt
. However, the PyTorch dependency is highly system-specific (CPU/GPU, OS, architecture). It is crucial to install the correct PyTorch version for your machine before installing the other packages.-
Step 1: Install PyTorch Visit the PyTorch website to determine the correct installation command for your system configuration. For example:
- Windows/Linux (CPU-only):
pip install torch torchvision torchaudio
- Windows/Linux (CUDA 12.8):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
- macOS (ARM/M-series chip):
pip install torch torchvision torchaudio
- Windows/Linux (CPU-only):
-
Step 2: Install Remaining Dependencies Once PyTorch is installed, you can install the rest of the required packages. The
requirements.txt
file is configured for a CUDA-enabled setup, butpip
will use your manually installed PyTorch version and skip reinstalling it.pip install -r requirements.txt
-
-
Run Nojoin: Make sure your virtual environment is active before running the application:
python Nojoin.py
Nojoin supports GPU acceleration for transcription and diarization using CUDA. To enable GPU support:
- You must have an NVIDIA GPU and the CUDA Toolkit version 12.8 installed.
- Compatible NVIDIA drivers must be installed.
- PyTorch must be installed with CUDA 12.8 support (see the installation steps above).
- CUDA availability is automatically detected by Nojoin. If available, you can select "cuda" as the processing device in the Settings dialog.
- If CUDA is not detected, only CPU processing will be available.
Note: CUDA 12.8 is the only supported version for now. Other versions may not work correctly. Saturn Cloud wrote a helpful troubleshooting guide if you have CUDA issues.
If Nojoin is useful to you please consider buying me a coffee as a way to support the project.