Skip to main content

Python SDK for Behavioral Signals API

Project description

Behavioral Signals Python SDK

Behavioral Signal Technologies

Discord Twitter readme.io PyPI

Python SDK for the Behavioral Signals API. Behavioral Signals builds AI solutions that understand human behavior through voice and detect deepfake content in audio. Our API enables developers to integrate behavioral analysis into their applications, both in batch and streaming modes.

Table of Contents

Features

  • Behavioral Analysis API : Analyze human behavior in both batch (offline) and streaming (online) modes.

  • Deepfake Detection API: Detect synthetic or manipulated speech using advanced deepfake detection models.

    • Supports batch (offline) and streaming (online) modes
    • Compatible with a wide range of spoken languages
  • Core Speech Attributes (Batch Only): Extract foundational conversational metadata from both APIs:

    • Automatic Speech Recognition (ASR)
    • Speaker Diarization
    • Language Identification

Requirements

  • Python3.10+,
  • ffmpeg,
  • Python dependencies as specified in pyproject.toml

API Key Setup

To use the Behavioral Signals API, you need to create an account and obtain an API key from the Behavioral Signals portal.

SDK Installation

pip install behavioralsignals

SDK Example Usage

After obtaining your API key, you can use the SDK to interact with the Behavioral Signals APIs. We currently provide two main APIs:

  • the Behavioral API for analyzing human behavior through voice, and
  • the Deepfakes API for detecting deepfake audio content in human speech.

Both APIs support batch and streaming modes, allowing you to send audio files or streams for analysis and receive results after processing and in real-time, respectively. You can also find more detailed examples for both batch and streaming in the examples/ directory.

Behavioral API Batch Mode

In batch mode, you can send audio files to the Behavioral Signals API for analysis. The API will return a unique process ID (PID) that you can use to retrieve the results later.

from behavioralsignals import Client

client = Client(YOUR_CID, YOUR_API_KEY)

response = client.behavioral.upload_audio(file_path="audio.wav")
output = client.behavioral.get_result(pid=response.pid)

Behavioral API Streaming Mode

In streaming mode, you can send audio data in real-time to the Behavioral Signals API. The API will return results as they are processed.

from behavioralsignals import Client, StreamingOptions
from behavioralsignals.utils import make_audio_stream

client = Client(YOUR_CID, YOUR_API_KEY)
audio_stream, sample_rate = make_audio_stream("audio.wav", chunk_size=250)
options = StreamingOptions(sample_rate=sample_rate, encoding="LINEAR_PCM")

for result in client.behavioral.stream_audio(audio_stream=audio_stream, options=options):
    print(result)

Deepfakes API Batch Mode

A similar example for the Deepfakes API in batch mode allows you to send audio files for deepfake detection:

from behavioralsignals import Client

client = Client(YOUR_CID, YOUR_API_KEY)

response = client.deepfakes.upload_audio(file_path="audio.wav")
output = client.deepfakes.get_result(pid=response.pid)

Deepfakes API Streaming Mode

A similar streaming example for the Deepfakes API allows you to send audio data in real-time for speech deepfake detection:

from behavioralsignals import Client, StreamingOptions
from behavioralsignals.utils import make_audio_stream

client = Client(YOUR_CID, YOUR_API_KEY)
audio_stream, sample_rate = make_audio_stream("audio.wav", chunk_size=250)
options = StreamingOptions(sample_rate=sample_rate, encoding="LINEAR_PCM")

for result in client.deepfakes.stream_audio(audio_stream=audio_stream, options=options):
    print(result)

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

behavioralsignals-0.1.1.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

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

behavioralsignals-0.1.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file behavioralsignals-0.1.1.tar.gz.

File metadata

  • Download URL: behavioralsignals-0.1.1.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for behavioralsignals-0.1.1.tar.gz
Algorithm Hash digest
SHA256 af9c179210082931f2410cf45616163c13316087d3762ad2b149a947583213d7
MD5 a483131c006617622b0dd33fc1ad75f0
BLAKE2b-256 c255a6072892d1d7c0bbfec08d63cba748840bb84d5d610777200ec5bbddd6ef

See more details on using hashes here.

File details

Details for the file behavioralsignals-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for behavioralsignals-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f085b10942696d0be8d643a98a7d8722fcad1ef5799b27e5a04413abdc91277e
MD5 5535c62134fd8fffdb3cd2151ab1b473
BLAKE2b-256 f0b58c276801a503c47c2b7efd2668082e556cd03278bee273e7043625aaaa04

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