Skip to main content

Real-time Transcription TUI powered by AssemblyAI

Project description

Scribit

PyPI version License: MIT Python 3.10+

Scribit is a high-performance real-time audio transcription engine with a premium developer-focused terminal interface. Powered by AssemblyAI's Streaming API and the Textual framework, it provides an elegant way to capture and log speech instantly.

Features

  • Sleek TUI: A dark-themed terminal interface built with Textual.
  • Real-time Transcription: Powered by AssemblyAI's Streaming API.
  • Toggle Recording: Start and stop transcription dynamically using the Space key.
  • In-App Settings: Change your API key, audio device, and logging preferences without restarting.
  • Persistent Configuration: Settings are saved locally in settings.json.
  • Transcript Logging: Option to automatically save session transcripts to timestamped files.
  • Session Stats: Monitor duration and turn count in real-time.

From PyPI

pip install scribit

From Source

  1. Clone the repository:
    git clone https://github.com/leo01102/scribit.git
    cd scribit
    
  2. Install the package:
    pip install .
    
    Alternatively, for development use:
    pip install -e ".[dev]"
    

Usage

Once installed, simply run the following command in your terminal:

scribit

Controls

  1. Configure API Key:
    • Press S to open the Settings menu.
    • Paste your AssemblyAI API key and press Save.
  2. Start Recording: Press Space to begin transcription.
  3. Stop Recording: Press Space again to pause/stop.
  4. Clear Log: Press C to clear the current transcription log.
  5. Quit: Press Q to exit the application.

Key Bindings

Key Action
Space Start/Stop Recording
S Open Settings Menu
D Download Session (.md)
C Clear Session Memory
Q Quit Application

Storage Location

Scribit now follows platform standards for data storage:

  • Windows: AppData/Local/scribit
  • macOS: ~/Library/Application Support/scribit
  • Linux: ~/.config/scribit

Technical Details

  • Transcription Engine: AssemblyAI Streaming (v3).
  • Default Device: Set to index 2 (configurable in settings).
  • Logs: Saved in the logs/ directory if enabled.
  • Environment: Initial API keys can be loaded from a .env file.

License

This project is licensed under the MIT License.

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

scribit-1.0.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

scribit-1.0.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file scribit-1.0.0.tar.gz.

File metadata

  • Download URL: scribit-1.0.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scribit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 55b4243313ff9fd99d55a7961d4246fd1016a3e17696f4d165e371b031271bd3
MD5 364321d21fd88cdc272beaa0fcf8d556
BLAKE2b-256 e236f50a6284af773034b3fefa2efe75364e8020695b306fc9f4c924c1f7cdc3

See more details on using hashes here.

File details

Details for the file scribit-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: scribit-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scribit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27133b9bfb615b47085e1ab96f56d57b4007829dfb8d1ca5bddb3ba03f15848e
MD5 dad11fd1c7eb2fdcea47897075c9512a
BLAKE2b-256 24a6a72e378430c949b848261cbe9119a2b55715a1a9a58eb09c27d627192893

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