Skip to main content

A Python package for speech recognition.

Project description

ClaraSR

A Python package for speech recognition and command processing with wake word detection.

Features

  • Continuous speech recognition
  • Configurable wake word detection
  • Real-time audio processing
  • Command extraction and processing
  • Simple and intuitive API

Installation

pip install clarasr

Requirements

  • Python 3.6 or higher
  • PyAudio
  • SpeechRecognition
  • NumPy
  • PyTorch
  • Requests

Quick Start

from clarasr import config, startup, get, exit

# Configure the system (optional)
config(wake_word="clara", energy_threshold=1000)

# Start the speech recognition system
startup()

try:
    while True:
        # Get the latest recognized text
        text = get()
        if text:
            print(f"Recognized: {text}")
        time.sleep(0.1)
except KeyboardInterrupt:
    # Clean up and exit
    exit()

API Reference

Configuration

config(
    wake_word="clara",           # The word to trigger command processing
    energy_threshold=1000,       # Audio energy threshold for silence detection
    processing_delay=1.5,        # Delay between wake word detections (seconds)
    min_command_length=3         # Minimum words for a valid command
)

Core Functions

  • startup(): Start the speech recognition system
  • get(): Get the latest recognized text
  • exit(): Stop the speech recognition system

Advanced Usage

from clarasr import (
    AudioSegment,
    detect_silence,
    contains_wake_word,
    find_wake_word_position,
    extract_command,
    process_command
)

# Example of custom command processing
def custom_process_command(command):
    if command:
        print(f"Processing custom command: {command}")
        return True
    return False

# Configure and start the system
config(wake_word="assistant")
startup()

try:
    while True:
        text = get()
        if text:
            # Custom command processing
            if contains_wake_word(text, "assistant"):
                command = extract_command([AudioSegment(text, datetime.now(), b"")], "assistant")
                if command:
                    custom_process_command(command)
        time.sleep(0.1)
except KeyboardInterrupt:
    exit()

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

clarasr-0.1.5.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

clarasr-0.1.5-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file clarasr-0.1.5.tar.gz.

File metadata

  • Download URL: clarasr-0.1.5.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for clarasr-0.1.5.tar.gz
Algorithm Hash digest
SHA256 2196665ad0a552d0b2fd73b54cc648a1bd7bb7a8bd3abd12e959b67faa33a2e2
MD5 01d36e2679f47775ea9f45cf8fb2d17b
BLAKE2b-256 ad9938abd69c14bc799d1cbe7614a94d668ebfbd00b68d5ffcddbd273908eb27

See more details on using hashes here.

File details

Details for the file clarasr-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: clarasr-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for clarasr-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e71a1bbdc00968b50c2444b2ba562de813676d6f50d98b13b85428c80e14b01e
MD5 9e4933c37b5d5028fda777651276f40e
BLAKE2b-256 67d37d08eae1e577825c4a5c9eb00847deaea62571caf0fa395522edf810ec7c

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