gnome-speech2text-service


Namegnome-speech2text-service JSON
Version 1.0.4 PyPI version JSON
download
home_pageNone
SummaryD-Bus service providing speech-to-text functionality for GNOME Shell
upload_time2025-08-19 07:11:35
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseGPL-2.0-or-later
keywords gnome speech-to-text dbus voice-recognition accessibility
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GNOME Speech2Text Service

A D-Bus service that provides speech-to-text functionality for the GNOME Shell Speech2Text extension.

## Overview

This service handles the actual speech recognition processing using OpenAI's Whisper API. It runs as a D-Bus service and communicates with the GNOME Shell extension to provide seamless speech-to-text functionality.

## Features

- **Real-time speech recognition** using OpenAI Whisper
- **D-Bus integration** for seamless desktop integration
- **Audio recording** with configurable duration
- **Multiple output modes** (clipboard, text insertion, preview)
- **Error handling** and recovery
- **Session management** for multiple concurrent recordings

## Installation

### System Dependencies

This service requires several system packages to be installed:

```bash
# Ubuntu/Debian
sudo apt update && sudo apt install -y \
    python3 python3-pip python3-venv python3-dbus python3-gi \
    ffmpeg xdotool xclip wl-clipboard
```

### Service Installation

The service can be installed via pip:

```bash
pip install gnome-speech2text-service
```

Or from the source repository:

```bash
cd service/
pip install .
```

### D-Bus Registration

After installation, you need to register the D-Bus service and desktop entry. Recommended options:

1. Using the repository (local source install)

```bash
# From the repo root
./src/install-service.sh --local
```

2. Using the bundled installer (PyPI install)

```bash
# From the repo root
./src/install-service.sh --pypi
```

The installer will:

- Create a per-user virtual environment under `~/.local/share/gnome-speech2text-service/venv`
- Install the `gnome-speech2text-service` package
- Register the D-Bus service at `~/.local/share/dbus-1/services/org.gnome.Shell.Extensions.Speech2Text.service`
- Create a desktop entry at `~/.local/share/applications/gnome-speech2text-service.desktop`

## Usage

### Starting the Service

The service is D-Bus activated and starts automatically when requested by the extension. You can also start it manually:

```bash
# If the entry point is on PATH (pip install)
gnome-speech2text-service

# Or via the per-user wrapper created by the installer
~/.local/share/gnome-speech2text-service/gnome-speech2text-service
```

### Configuration

The service uses OpenAI's API for speech recognition. You'll need to:

1. Get an OpenAI API key from [OpenAI Platform](https://platform.openai.com/)
2. Configure it through the GNOME Shell extension preferences

### D-Bus Interface

The service provides the following D-Bus methods:

- `StartRecording(duration, copy_to_clipboard, preview_mode)` → `recording_id`
- `StopRecording(recording_id)` → `success`
- `GetRecordingStatus(recording_id)` → `status, progress`
- `CancelRecording(recording_id)` → `success`

Signals:

- `TranscriptionReady(recording_id, text)`
- `RecordingProgress(recording_id, progress)`
- `RecordingError(recording_id, error_message)`

## Requirements

- **Python**: 3.8 or higher
- **System**: Linux with D-Bus support
- **Desktop**: GNOME Shell (tested on GNOME 46+)

## License

This project is licensed under the GPL-2.0-or-later license. See the LICENSE file for details.

## Contributing

Contributions are welcome! Please see the main repository for contribution guidelines:
https://github.com/kavehtehrani/gnome-speech2text

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gnome-speech2text-service",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Kaveh Tehrani <codemonkey13x@gmail.com>",
    "keywords": "gnome, speech-to-text, dbus, voice-recognition, accessibility",
    "author": null,
    "author_email": "Kaveh Tehrani <codemonkey13x@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b2/51/09a99cd6a2773af768697eb4bac7cd7d031b21497e4fa5474d3e1d2919ba/gnome_speech2text_service-1.0.4.tar.gz",
    "platform": null,
    "description": "# GNOME Speech2Text Service\n\nA D-Bus service that provides speech-to-text functionality for the GNOME Shell Speech2Text extension.\n\n## Overview\n\nThis service handles the actual speech recognition processing using OpenAI's Whisper API. It runs as a D-Bus service and communicates with the GNOME Shell extension to provide seamless speech-to-text functionality.\n\n## Features\n\n- **Real-time speech recognition** using OpenAI Whisper\n- **D-Bus integration** for seamless desktop integration\n- **Audio recording** with configurable duration\n- **Multiple output modes** (clipboard, text insertion, preview)\n- **Error handling** and recovery\n- **Session management** for multiple concurrent recordings\n\n## Installation\n\n### System Dependencies\n\nThis service requires several system packages to be installed:\n\n```bash\n# Ubuntu/Debian\nsudo apt update && sudo apt install -y \\\n    python3 python3-pip python3-venv python3-dbus python3-gi \\\n    ffmpeg xdotool xclip wl-clipboard\n```\n\n### Service Installation\n\nThe service can be installed via pip:\n\n```bash\npip install gnome-speech2text-service\n```\n\nOr from the source repository:\n\n```bash\ncd service/\npip install .\n```\n\n### D-Bus Registration\n\nAfter installation, you need to register the D-Bus service and desktop entry. Recommended options:\n\n1. Using the repository (local source install)\n\n```bash\n# From the repo root\n./src/install-service.sh --local\n```\n\n2. Using the bundled installer (PyPI install)\n\n```bash\n# From the repo root\n./src/install-service.sh --pypi\n```\n\nThe installer will:\n\n- Create a per-user virtual environment under `~/.local/share/gnome-speech2text-service/venv`\n- Install the `gnome-speech2text-service` package\n- Register the D-Bus service at `~/.local/share/dbus-1/services/org.gnome.Shell.Extensions.Speech2Text.service`\n- Create a desktop entry at `~/.local/share/applications/gnome-speech2text-service.desktop`\n\n## Usage\n\n### Starting the Service\n\nThe service is D-Bus activated and starts automatically when requested by the extension. You can also start it manually:\n\n```bash\n# If the entry point is on PATH (pip install)\ngnome-speech2text-service\n\n# Or via the per-user wrapper created by the installer\n~/.local/share/gnome-speech2text-service/gnome-speech2text-service\n```\n\n### Configuration\n\nThe service uses OpenAI's API for speech recognition. You'll need to:\n\n1. Get an OpenAI API key from [OpenAI Platform](https://platform.openai.com/)\n2. Configure it through the GNOME Shell extension preferences\n\n### D-Bus Interface\n\nThe service provides the following D-Bus methods:\n\n- `StartRecording(duration, copy_to_clipboard, preview_mode)` \u2192 `recording_id`\n- `StopRecording(recording_id)` \u2192 `success`\n- `GetRecordingStatus(recording_id)` \u2192 `status, progress`\n- `CancelRecording(recording_id)` \u2192 `success`\n\nSignals:\n\n- `TranscriptionReady(recording_id, text)`\n- `RecordingProgress(recording_id, progress)`\n- `RecordingError(recording_id, error_message)`\n\n## Requirements\n\n- **Python**: 3.8 or higher\n- **System**: Linux with D-Bus support\n- **Desktop**: GNOME Shell (tested on GNOME 46+)\n\n## License\n\nThis project is licensed under the GPL-2.0-or-later license. See the LICENSE file for details.\n\n## Contributing\n\nContributions are welcome! Please see the main repository for contribution guidelines:\nhttps://github.com/kavehtehrani/gnome-speech2text\n",
    "bugtrack_url": null,
    "license": "GPL-2.0-or-later",
    "summary": "D-Bus service providing speech-to-text functionality for GNOME Shell",
    "version": "1.0.4",
    "project_urls": {
        "Documentation": "https://github.com/kavehtehrani/gnome-speech2text/blob/main/README.md",
        "Homepage": "https://github.com/kavehtehrani/gnome-speech2text",
        "Issues": "https://github.com/kavehtehrani/gnome-speech2text/issues",
        "Repository": "https://github.com/kavehtehrani/gnome-speech2text"
    },
    "split_keywords": [
        "gnome",
        " speech-to-text",
        " dbus",
        " voice-recognition",
        " accessibility"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b32f402d220b96926893a15f4bcdd58f64f517046888e6fcb5b1c85a293ec88d",
                "md5": "a82eb1211a99c4b95fec74621a787833",
                "sha256": "a289fa54992cd7913e8ba56961956d0145438b9d58c3c49fc0c305e4708b4435"
            },
            "downloads": -1,
            "filename": "gnome_speech2text_service-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a82eb1211a99c4b95fec74621a787833",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 10439,
            "upload_time": "2025-08-19T07:11:32",
            "upload_time_iso_8601": "2025-08-19T07:11:32.844366Z",
            "url": "https://files.pythonhosted.org/packages/b3/2f/402d220b96926893a15f4bcdd58f64f517046888e6fcb5b1c85a293ec88d/gnome_speech2text_service-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b25109a99cd6a2773af768697eb4bac7cd7d031b21497e4fa5474d3e1d2919ba",
                "md5": "0ac75a5efac02c10957e4e71604db37f",
                "sha256": "2a92eb1298729678868203e33c977e9d8bda08bce97cc6a12027c7e70301905b"
            },
            "downloads": -1,
            "filename": "gnome_speech2text_service-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "0ac75a5efac02c10957e4e71604db37f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 11302,
            "upload_time": "2025-08-19T07:11:35",
            "upload_time_iso_8601": "2025-08-19T07:11:35.649205Z",
            "url": "https://files.pythonhosted.org/packages/b2/51/09a99cd6a2773af768697eb4bac7cd7d031b21497e4fa5474d3e1d2919ba/gnome_speech2text_service-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-19 07:11:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kavehtehrani",
    "github_project": "gnome-speech2text",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "gnome-speech2text-service"
}
        
Elapsed time: 1.25175s