Skip to main content

Bodhi Python SDK for Streaming Speech Recognition

Project description

Bodhi Python SDK

Bodhi Python SDK provides a client for Navana's streaming speech recognition API.

Installation

pip install bodhi-sdk

Usage

To use the Bodhi Python SDK, follow these steps:

  1. Installation: Install the SDK using pip:

    pip install bodhi-sdk
    
  2. Initialization: Create a BodhiClient instance with your API key and customer ID:

    from bodhi import BodhiClient
    
    client = BodhiClient(api_key="YOUR_API_KEY", customer_id="YOUR_CUSTOMER_ID")
    
  3. Transcription: Use the client methods to transcribe audio. The SDK supports transcription from local files, remote URLs, and streams.

    • Local File Transcription:

      config = TranscriptionConfig(
        model="hi-banking-v2-8khz",
        at_start_lid=False,    # Enable language identification at start (default: False)
        transliterate=False,   # Enable transliteration output (default: False)
      )
      response = client.transcribe_local_file(audio_file_path, config=config)
      print(response.text)
      
    • Remote URL Transcription:

      config = TranscriptionConfig(
        model="hi-banking-v2-8khz",
        at_start_lid=False,    # Enable language identification at start (default: False)
        transliterate=False,   # Enable transliteration output (default: False)
      )
      response = client.transcribe_remote_url("http://example.com/audio.wav", config)
      print(response.text)
      
    • Streaming Transcription: Refer to the examples for detailed instructions on setting up streaming transcription.

  4. Event Handling: You can register event listeners to handle different stages of the transcription process using the client.on method and the LiveTranscriptionEvents enum. This is particularly useful for streaming and remote URL transcriptions where events are emitted asynchronously.

    from bodhi import LiveTranscriptionEvents
    
    async def on_transcript(response):
        print(f"Transcript: {response.text}")
    
    async def on_utterance_end(response):
        print(f"UtteranceEnd: {response}")
    
    async def on_speech_started(response):
        print(f"SpeechStarted: {response}")
    
    async def on_error(e):
        print(f"Error: {str(e)}")
    
    client.on(LiveTranscriptionEvents.Transcript, on_transcript)
    client.on(LiveTranscriptionEvents.UtteranceEnd, on_utterance_end)
    client.on(LiveTranscriptionEvents.SpeechStarted, on_speech_started)
    client.on(LiveTranscriptionEvents.Error, on_error)
    

    Common events include:

    • LiveTranscriptionEvents.Transcript: Emitted when a new transcription segment is available.
    • LiveTranscriptionEvents.UtteranceEnd: Emitted when an utterance is detected as complete.
    • LiveTranscriptionEvents.SpeechStarted: Emitted when speech activity is detected.
    • LiveTranscriptionEvents.Error: Emitted when an error occurs during transcription.
    • LiveTranscriptionEvents.Close: Emitted when the WebSocket connection is closed.

For complete code examples and detailed usage instructions for various scenarios, please refer to the official documentation.

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

bodhi_sdk-1.2.0.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

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

bodhi_sdk-1.2.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file bodhi_sdk-1.2.0.tar.gz.

File metadata

  • Download URL: bodhi_sdk-1.2.0.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for bodhi_sdk-1.2.0.tar.gz
Algorithm Hash digest
SHA256 2e153daa4ed80b7fdba036596fbe5e8db63481f6022ea676f5af605b43127f91
MD5 ed6b6e401a3992f25410735087110862
BLAKE2b-256 83f77b1de7c02bc239738ba7c494086f51e2d1a515026dd4571d37955525f261

See more details on using hashes here.

File details

Details for the file bodhi_sdk-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: bodhi_sdk-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for bodhi_sdk-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 283d3a360ef283bc1785784db6ddae95c2a499c69fe6dbe2e8d12143c906ddbd
MD5 eab75f37a09bc600038b740423c57bc4
BLAKE2b-256 88abc50537a347c9ac5f7b9f624c0c8ab9320b078589aa2200b615b60ab84c74

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