gnome-speech2text-service


Namegnome-speech2text-service JSON
Version 1.0.2 PyPI version JSON
download
home_pageNone
SummaryD-Bus service providing speech-to-text functionality for GNOME Shell
upload_time2025-08-15 09:22:07
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:

```bash
# Run the provided install script
./install.sh
```

This will:

- Set up the Python virtual environment
- Install the service in the correct location
- Register the D-Bus service files
- Configure the desktop integration

## Usage

### Starting the Service

The service is automatically started by D-Bus when needed. You can also start it manually:

```bash
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)`

## Development

### Local Development

```bash
# Clone the repository
git clone https://github.com/kavehtehrani/gnome-speech2text.git
cd gnome-speech2text/service/

# Install in development mode
pip install -e .

# Run the service
gnome-speech2text-service
```

### Testing

```bash
# Install development dependencies
pip install -e .[dev]

# Run tests
pytest
```

## Requirements

- **Python**: 3.8 or higher
- **System**: Linux with D-Bus support
- **Desktop**: GNOME Shell (tested on GNOME 46+)
- **API**: OpenAI API key for speech recognition

## 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/97/08/e9edbc3cd8c13353b76dad9032866c361f2399d94e0d3d541daaa128c44e/gnome_speech2text_service-1.0.2.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:\n\n```bash\n# Run the provided install script\n./install.sh\n```\n\nThis will:\n\n- Set up the Python virtual environment\n- Install the service in the correct location\n- Register the D-Bus service files\n- Configure the desktop integration\n\n## Usage\n\n### Starting the Service\n\nThe service is automatically started by D-Bus when needed. You can also start it manually:\n\n```bash\ngnome-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## Development\n\n### Local Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/kavehtehrani/gnome-speech2text.git\ncd gnome-speech2text/service/\n\n# Install in development mode\npip install -e .\n\n# Run the service\ngnome-speech2text-service\n```\n\n### Testing\n\n```bash\n# Install development dependencies\npip install -e .[dev]\n\n# Run tests\npytest\n```\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- **API**: OpenAI API key for speech recognition\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.2",
    "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": "fc90fed6d330fce38247fb9cc526b4d3e75bb75139c292e702b53ed6fb5c95df",
                "md5": "4e4a3230298dfd55f539312e00bc61e7",
                "sha256": "9ecfbf5875efbeffdfb3a08933518a225098db7427e52ff0d1ff3b5575c67039"
            },
            "downloads": -1,
            "filename": "gnome_speech2text_service-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4e4a3230298dfd55f539312e00bc61e7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9470,
            "upload_time": "2025-08-15T09:22:04",
            "upload_time_iso_8601": "2025-08-15T09:22:04.551978Z",
            "url": "https://files.pythonhosted.org/packages/fc/90/fed6d330fce38247fb9cc526b4d3e75bb75139c292e702b53ed6fb5c95df/gnome_speech2text_service-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9708e9edbc3cd8c13353b76dad9032866c361f2399d94e0d3d541daaa128c44e",
                "md5": "1166322b0c3aed623c1154e2fd308573",
                "sha256": "af4d9820ba1b565daff0461d2828b5c3a3a72cf8fa3540db630c1d306137af97"
            },
            "downloads": -1,
            "filename": "gnome_speech2text_service-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "1166322b0c3aed623c1154e2fd308573",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 10214,
            "upload_time": "2025-08-15T09:22:07",
            "upload_time_iso_8601": "2025-08-15T09:22:07.810771Z",
            "url": "https://files.pythonhosted.org/packages/97/08/e9edbc3cd8c13353b76dad9032866c361f2399d94e0d3d541daaa128c44e/gnome_speech2text_service-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-15 09:22:07",
    "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: 0.61878s