- Auto-join Google Meet, Zoom, or Teams meetings
- Record system audio via VB-Cable
- Transcribe with OpenAI Whisper
- Speaker diarization and mapping with pyannote-audio
- Speaker-attributed transcript output
- OAuth integration for Zoom and Teams APIs
- Web-based configuration management
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txtif you can't execute this instructions,
Remove-Item -Recurse -Force .\venv
python -c "import compileall; compileall.compile_dir(r'C:\Users\admin\AppData\Local\Programs\Python\Python313\Lib', force=True)"and try again.
- Go to Zoom App Marketplace
- Create a new app with "OAuth" type
- Set redirect URL to:
http://localhost:5000/zoom/callback - Copy Client ID and Client Secret
- Use the web interface to configure credentials
- Go to Azure Portal
- Register a new application in Azure AD
- Add redirect URI:
http://localhost:5000/teams/callback - Grant permissions:
User.Read,OnlineMeetings.ReadWrite - Create a client secret
- Copy Client ID, Client Secret, and Tenant ID
- Use the web interface to configure credentials
- Go to HuggingFace Settings
- Create a new token with read permissions
- Use the web interface to configure the token
- Download and place
nircmd.exein the project root (for Windows audio device management) - Place reference speaker samples (e.g.,
alice.wav,bob.wav) in the root - Set VB-Cable as the default input device in Windows sound settings
- Start the application:
python app.py
- Open browser to
http://127.0.0.1:5000/ - Click "Setup API Keys" to configure credentials
- Enter meeting link and select platform
- Click "Start Transcription"
python auto_transcribe_meeting.py [meet|zoom|teams] <meeting_link>- All API credentials are stored in
config.json - Use the web interface at
/setupto manage credentials - OAuth tokens are stored in session for secure access
- Set VB-Cable as the default input device for system audio recording
- Requires HuggingFace token for pyannote-audio diarization
- Output transcript is saved to
transcript.txt - Full meeting audio is saved to
meeting.wavfor diarization - OAuth tokens expire and need periodic refresh