Skip to main content

dora-gradio

Project description

Dora Gradio UI Interface

A versatile UI interface for Dora-rs that provides text, audio, and video input capabilities using Gradio.

Features

  • Text Input: Direct text input through a chat-like interface
  • Audio Input: Real-time audio streaming in 16kHz format
  • Video Input: WebRTC camera streaming at 640x480
  • Multiple Output Channels:
    • text: For direct text messages
    • audio: For raw audio stream
    • image: For camera feed
  • Clean Interface: Simple and intuitive UI with tabbed sections
  • Auto Port Management: Automatically handles port conflicts

Installation

Using pip:

python -m venv .venv
source .venv/bin/activate
pip install -e .

Usage

1. Web Interface

The interface will be available at: http://localhost:7860

2. As a Dora Node

Create a YAML configuration:

nodes:
  - id: ui
    build: pip install -e .
    path: dora-gradio
    outputs:
      - text     # Text from chat interface
      - audio    # Raw audio stream
      - image    # Camera feed
    env:
      VIRTUAL_ENV: path to your venv   # comment this if not using venv

Run with Dora:

dora run demo.yml

3. Integration Examples

Video Processing Pipeline

nodes:
  - id: ui
    build: pip install -e .
    path: dora-gradio
    outputs:
      - image    # Camera feed

  - id: video_processor
    build: pip install -e path/to/processor
    path: video-processor
    inputs:
      video: ui/image

Audio Processing Pipeline

nodes:
  - id: ui
    build: pip install -e .
    path: dora-gradio
    outputs:
      - audio    # Raw audio stream

  - id: audio_processor
    build: pip install -e path/to/processor
    path: audio-processor
    inputs:
      audio: ui/audio

4. Demo Example

Here's a complete demo pipeline using the UI with visualization and audio processing:

nodes:
  - id: ui
    build: pip install -e .
    path: dora-gradio
    outputs:
      - text     # Text messages
      - audio    # Raw audio stream
      - image    # Camera feed

  - id: plot
    build: pip install dora-rerun
    path: dora-rerun
    inputs:
      text_input: ui/text
      audio: ui/audio
      image: ui/image

  - id: dora-vad
    build: pip install -e path/to/dora-vad
    path: dora-vad
    inputs:
      audio: ui/audio

  - id: dora-distil-whisper
    build: pip install -e path/to/dora-distil-whisper
    path: dora-distil-whisper
    inputs:
      audio: ui/audio

This demo showcases:

  • Real-time visualization with dora-rerun
  • Voice Activity Detection with dora-vad
  • Speech processing with dora-distil-whisper

Interface Features

Camera Tab

  • Real-time WebRTC video streaming
  • Fixed 640x480 resolution
  • BGR8 color format
  • Automatic timestamp synchronization

Audio and Text Input Tab

  • Chat-like interface for text input
  • Real-time audio streaming (16kHz, mono)
  • Status indicators for streaming state
  • Immediate output through respective channels

Controls

  • Send Text button for chat messages
  • Stop Server button for graceful shutdown

System Requirements

  • Python ≥ 3.10
  • Required ports:
    • 7860 (Gradio interface)

Known Limitations

  • Fixed video resolution (640x480)
  • Fixed audio sample rate (16kHz)
  • Requires port 7860 to be available

License

dora-gradio's code are released 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

dora_gradio-0.3.12rc1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

dora_gradio-0.3.12rc1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file dora_gradio-0.3.12rc1.tar.gz.

File metadata

  • Download URL: dora_gradio-0.3.12rc1.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.17

File hashes

Hashes for dora_gradio-0.3.12rc1.tar.gz
Algorithm Hash digest
SHA256 38ffdccfda392bc3d8e37a1ec273ba863fbf413e055568b09aa6a2e5ee8ad1fd
MD5 7dd20de5f53035abc08da8a7df94003c
BLAKE2b-256 892e21c926c8d07a7fdc71fb9286a5de294eb1b98647f8628714069dcfb8caf6

See more details on using hashes here.

File details

Details for the file dora_gradio-0.3.12rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for dora_gradio-0.3.12rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 4fb66dd5ff29408b8792c59482659de7011c71991f20b04665603d58273d7a47
MD5 8cad2249f8d5b1d875e25661a712cddc
BLAKE2b-256 3bda8f0077da18cb256476dd57434d13f702b7170f02338425c14789832477f6

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