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 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.

Scribit Demo

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.1.0.tar.gz (312.2 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.1.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for scribit-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5bc554e5819668383b8cfa3fac6402c9e59556f3c5abbc1a8568e123a471299c
MD5 f2dfb94df324c35731d1bde5a60edf77
BLAKE2b-256 ba37df7ff7e1ada5f70022e52b88fd57fe2a9a6d9e58e2d15fc74b671c30e905

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scribit-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1754ada8cdf6ae7c6a12fd41307c4ba8cbc2d7b258ed46ce0abf0cf71c64dff
MD5 9f8213d5d95558cc18d964ff3947aeca
BLAKE2b-256 3b55570959ec2fc253c859e0e10ddf030abf219e8c62a68c5bddeb1bfc12cbdf

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