Skip to main content

SoberMind Offline Session Transcriber with Speaker Diarization

Project description

SoberMind Session Transcriber

An offline-first, private speech-to-text script utilizing OpenAI's Whisper models for local transcription, with optional PyAnnote.audio integration for multi-speaker diarization (speaker separation).


1. System Requirements & Setup

This script runs completely locally on your machine, ensuring absolute confidentiality for your therapy sessions.

Step A: Install FFMPEG

The transcription backend requires ffmpeg to process audio files:

  • Windows: Download ffmpeg via chocolatey (choco install ffmpeg) or from the official website, and add its bin directory to your system PATH.
  • macOS: brew install ffmpeg
  • Linux: sudo apt install ffmpeg

Step B: Install Python Packages

Install the required packages in your Python environment:

pip install openai-whisper torch

2. Multi-Speaker Diarization (Optional)

To separate speakers (e.g. distinguishing between Speaker 0 and Speaker 1):

  1. Install the diarization dependencies:
    pip install pyannote.audio
    
  2. Go to Hugging Face and accept the user agreements for these models (requires creating a free account):
  3. Generate a User Access Token (Read Permission) on your Hugging Face Settings Page.

3. Usage Reference

Standard Transcription (No Speaker Separation)

Runs fully offline immediately:

python transcribe.py path/to/session.mp3

Transcribe with Multi-Speaker Diarization

Splits conversation segments by speaker automatically:

python transcribe.py path/to/session.mp3 --hf-token "YOUR_HF_TOKEN"

Options

  • --model: Footprint of model to load (tiny, base, small, medium, large). Defaults to base, which balances speed and accuracy on standard laptops.
  • --output: Specify base output name.

Outputs are generated in both:

  • .md: A structured Markdown dialogue format.
  • .txt: A timestamped plaintext dialogue transcript.

4. Web-Based GUI Dashboard

For a premium, interactive editing experience, you can launch the local GUI server:

python gui_server.py [port]
  • Default Port: 8080
  • Local Address: http://localhost:8080

GUI Features:

  1. Drag-and-Drop Form: Easily input your audio target file, Hugging Face Token, and select Whisper model sizes dynamically.
  2. Live Console Log: Watch the terminal status updates and model downloads inside a scrollable screen.
  3. Dialogue Workspace:
    • Edit transcribed text blocks on the fly.
    • Speaker Renamer: Rename default speaker codes (e.g. SPEAKER_00 to Me, SPEAKER_01 to Dr. Jameson) and instantly replace them across the entire dialogue history.
    • Export Controls: One-click copy formatted Markdown dialogue logs or download local JSON objects.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sobertranscribe-0.0.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sobertranscribe-0.0.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file sobertranscribe-0.0.1.tar.gz.

File metadata

  • Download URL: sobertranscribe-0.0.1.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for sobertranscribe-0.0.1.tar.gz
Algorithm Hash digest
SHA256 26cf5fed4dda035167ec5e58ec311ec6f767ab9c67a49ccfb84ea28d18b603c6
MD5 3b0d435a80f64ee4d375e5afed7575dc
BLAKE2b-256 00ad3f7a978df2b5d784ff4630942ce21b39e0b0e46cd5558f5ebc2ffe4229cc

See more details on using hashes here.

File details

Details for the file sobertranscribe-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sobertranscribe-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2461b09c40f54f030cb67e24cb0ec1e83fbc31118f9c58e7f6073b24e0fcc905
MD5 2c3d7c4b44e73e26ee391c8dde32728b
BLAKE2b-256 b7dd3a609f12de9bb0f3b6e51c4fec62c40c7f5a0fc6c9a10fc9e3e1858af5eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page