Skip to main content

The official Python SDK for SpeechCortex ASR platform.

Project description

SpeechCortex Python SDK

CI PyPI version Python Versions License: MIT Code style: black

Official Python SDK for SpeechCortex ASR (Automatic Speech Recognition) platform.

Features

  • Real-time Speech Recognition: WebSocket-based streaming ASR
  • Pre-recorded Transcription: REST API for batch processing (coming soon)
  • Easy Integration: Simple, intuitive API
  • Async Support: Full async/await support for modern Python applications

Requirements

  • Python 3.10 or higher

Installation

pip install "git+https://github.com/speechcortex/speechcortex-sdk.git@package_init"
export SPEECHCORTEX_API_KEY=your_api_key_here
export SPEECHCORTEX_HOST=wss://api.speechcortex.com

Quick Start

Real-time Transcription

from speechcortex import SpeechCortexClient, LiveTranscriptionEvents, LiveOptions

# Initialize the client
speechcortex = SpeechCortexClient(api_key="your_api_key_here")

# Get WebSocket connection
connection = speechcortex.listen.websocket.v("1")

# Set up event handlers
def on_message(self, result, **kwargs):
    sentence = result.channel.alternatives[0].transcript
    if result.is_final:
        print(f"Final: {sentence}")
    else:
        print(f"Interim: {sentence}")

def on_error(self, error, **kwargs):
    print(f"Error: {error}")

# Register event handlers
connection.on(LiveTranscriptionEvents.Transcript, on_message)
connection.on(LiveTranscriptionEvents.Error, on_error)

# Configure options
options = LiveOptions(
    model="zeus-v1",
    language="en-US",
    smart_format=True,
)

# Start the connection
connection.start(options)

# Send audio data
connection.send(audio_data)

# Close when done
connection.finish()

Using with Microphone

from speechcortex import SpeechCortexClient, LiveTranscriptionEvents, LiveOptions, Microphone

speechcortex = SpeechCortexClient()
connection = speechcortex.listen.websocket.v("1")

# Set up event handlers...
connection.on(LiveTranscriptionEvents.Transcript, on_message)

# Start connection
options = LiveOptions(model="zeus-v1", smart_format=True)
connection.start(options)

# Use microphone helper
microphone = Microphone(connection.send)
microphone.start()

# Microphone will stream audio automatically
# Press Ctrl+C to stop

microphone.finish()
connection.finish()

Configuration

API Key

Set your API key via environment variable:

export SPEECHCORTEX_API_KEY=your_api_key_here

Or pass it directly:

speechcortex = SpeechCortexClient(api_key="your_api_key_here")

Custom Endpoints

from speechcortex import SpeechCortexClient, SpeechCortexClientOptions

config = SpeechCortexClientOptions(
    api_key="your_api_key",
    url="https://custom-api.speechcortex.com"
)
speechcortex = SpeechCortexClient(config=config)

Features

Real-time Transcription Options

  • model: ASR model to use (e.g., "zeus-v1")
  • language: Language code (e.g., "en-US")
  • smart_format: Enable smart formatting
  • punctuate: Enable punctuation
  • interim_results: Receive interim results
  • utterance_end_ms: Utterance end timeout in milliseconds
  • vad_events: Enable voice activity detection events

Events

  • Open: Connection opened
  • Transcript: Transcription result received
  • Metadata: Metadata received
  • SpeechStarted: Speech detected
  • UtteranceEnd: End of utterance detected
  • Close: Connection closed
  • Error: Error occurred
  • Unhandled: Unhandled message received

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/speechcortex/speechcortex-sdk.git
cd speechcortex-sdk

# Install dependencies
pip install -r requirements-dev.txt

# Run tests
pytest

# Run linting
pylint speechcortex/

# Format code
black speechcortex/

License

MIT License - see LICENSE file for details.

Support

For issues, questions, or contributions, please visit our GitHub repository.

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

speechcortex_sdk-0.1.2.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

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

speechcortex_sdk-0.1.2-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file speechcortex_sdk-0.1.2.tar.gz.

File metadata

  • Download URL: speechcortex_sdk-0.1.2.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for speechcortex_sdk-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6ac3e38508dc1d96596867316eb2fdff82bf32fe445425f2b0fd8b3112cc4cde
MD5 d16cb87b92def254d07088fda1598626
BLAKE2b-256 611d49dc52dcd64445c398e68bf199edde40a92392039c5f0d250c19e2d6d162

See more details on using hashes here.

Provenance

The following attestation bundles were made for speechcortex_sdk-0.1.2.tar.gz:

Publisher: publish.yml on speechcortex/speechcortex-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file speechcortex_sdk-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for speechcortex_sdk-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dc6e23a958b2365f82bb2d2c66b9d3fbd82ababdf2460d56f29ad6c47b9151d6
MD5 863509c8df77f73ee37eba69bc0f041f
BLAKE2b-256 9a8e68049b59ac91b3220f8b48d3cfe7dff1d70d9f727bbcc498e304c699b93c

See more details on using hashes here.

Provenance

The following attestation bundles were made for speechcortex_sdk-0.1.2-py3-none-any.whl:

Publisher: publish.yml on speechcortex/speechcortex-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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