Skip to main content

Python bindings for the WebRTC audio processing module

Project description

pywebrtc-audio

Python bindings for the WebRTC audio processing module. Echo cancellation, noise suppression, automatic gain control, voice activity detection, and high-pass filtering - the same algorithms that run in Chrome, Edge, and every WebRTC-based application.

from pywebrtc_audio import AudioProcessor

ap = AudioProcessor(
    sample_rate=16000,
    noise_suppression=True,
    echo_cancellation=True,
    auto_gain_control=True,
    stream_delay_ms=40,
)
ap.stream_delay_ms = 50  # adjustable at runtime

# near = what the mic picked up (speech + echo + noise)
# far  = what you played through the speaker (reference signal)

# accepts int16 or float32 numpy arrays, returns the same dtype
clean = ap.process(near, far)

# speech probability from the noise suppressor's spectral analysis
print(ap.speech_probability)  # 0.0-1.0
print(ap.gain_db)             # current AGC gain in dB

Installation

pip install pywebrtc-audio

Pre-built wheels for Linux (x86_64, aarch64), macOS (x86_64, arm64), and Windows (x86_64). Python 3.10-3.14.

Examples

See the examples/ directory:

Use cases

  • Voice agents and assistants - When an AI agent speaks through a speaker and listens through a mic on the same device, it hears its own output as echo. AEC removes the agent's voice from the mic capture so it only hears the user. See examples/strands_agents_bidi.py for a working Strands BidiAgent integration.

  • Speech-to-text preprocessing - Clean up mic audio before sending it to a transcription service. Noise suppression removes background noise (fans, traffic, keyboard), AGC normalizes volume across speakers, and the high-pass filter removes low-frequency rumble. Reduces word error rates without any model changes.

  • Telephony and VoIP - The same processing pipeline that runs in Chrome for WebRTC calls, available as a Python library. Process audio from SIP trunks, WebSocket streams, or any other audio source that needs echo cancellation and noise reduction.

  • Voice activity detection - Use VoiceDetector or speech_probability to detect when someone is speaking. Useful for turn-taking in conversational AI, silence trimming in recordings, or triggering wake-word pipelines only when speech is present. Runs in ~2µs per 10ms frame.

  • Robotics - Robots with speakers and microphones face the same echo problem as voice assistants, often worse due to motor noise and reverberant environments. The full pipeline (AEC + NS + AGC) handles all of this in a single process() call.

  • Audio recording and podcasting - Clean up recordings after the fact with examples/wav_file.py. Remove background noise from interview recordings, normalize volume levels across multiple speakers, or batch-process audio files through the pipeline.

  • Real-time audio monitoring - Build live audio meters, speech detectors, or noise level monitors. All processing runs in C++ with the GIL released, so it won't block your Python event loop or UI thread.

Performance

All processing runs in C++ with the GIL released. At 16kHz mono (the most common voice configuration), processing 100ms of int16 audio on an Apple M3 Pro:

Pipeline Time Realtime factor
VoiceDetector 21 µs 4,665x
NoiseSuppressor 32 µs 3,089x
GainController 103 µs 970x
EchoCanceller 622 µs 161x
AudioProcessor (AEC+NS+AGC) 649 µs 154x
AudioProcessor (all features) 686 µs 146x

The full pipeline processes 1 second of audio in ~7ms. Even at 48kHz stereo with all features, it runs at 82x real-time. int16 and float32 perform nearly identically.

See benchmarks/BENCHMARK.md for detailed results across all sample rates, dtypes, chunk sizes, and stereo.

API

Five classes, each with a process() method that accepts int16 or float32 numpy arrays of any length. Internally splits into 10ms frames in a single GIL-released loop. The last frame is zero-padded if the input isn't a multiple of the frame size, and the output is truncated to match the original input length. VoiceDetector returns speech probability instead of audio. AudioProcessor combines them into a single pipeline.

Multi-channel audio uses interleaved layout: [L0, R0, L1, R1, ...]. A 10ms stereo frame at 16kHz is 320 samples (160 per channel × 2 channels). Mono is the default and most common for voice processing.

Instances are not thread-safe. Use one per thread or synchronize externally.

AudioProcessor

AudioProcessor(
    sample_rate=16000,
    num_channels=1,
    echo_cancellation=False,
    noise_suppression=False,
    high_pass_filter=False,
    auto_gain_control=False,
    ns_level=1,
    agc_gain_db=0.0,
    agc_max_gain_db=50.0,
    stream_delay_ms=0,
)

Combined audio processing pipeline. Runs echo cancellation, noise suppression, automatic gain control, and high-pass filtering in a single optimized pass over shared audio buffers - avoids the overhead of copying frames between separate processors. Processing order: HP filter -> AEC -> NS -> AGC.

  • echo_cancellation: Enable AEC3 echo cancellation.
  • noise_suppression: Enable noise suppression.
  • high_pass_filter: Enable high-pass filter (also enabled automatically with AEC).
  • auto_gain_control: Enable AGC2 automatic gain control. Uses speech probability from NS if enabled, otherwise runs its own internal RNN VAD.
  • ns_level: Noise suppression level 0-3 (6dB, 12dB, 18dB, 21dB).
  • agc_gain_db: Fixed gain in dB applied after adaptive gain. Default 0.
  • agc_max_gain_db: Maximum adaptive gain in dB. Default 50.
  • stream_delay_ms: Audio buffer delay hint in milliseconds for AEC. Also available as a read/write property. This is the delay between writing audio to the speaker buffer and the corresponding echo appearing in the mic capture. Most audio APIs report their buffer size - for PyAudio it's frames_per_buffer / sample_rate * 1000. Default 0 lets AEC3's internal delay estimator figure it out, but providing a hint helps it converge faster.

Note: When echo_cancellation is enabled, a high-pass filter is always applied to the capture signal before echo cancellation, regardless of the high_pass_filter setting. This matches Chrome's behavior - the HP filter removes DC offset that would otherwise degrade AEC performance.

AudioProcessor.process(near, far=None) -> np.ndarray

Process audio of any length.

  • near: Microphone capture signal (int16 or float32 numpy array, any length).
  • far: Speaker reference signal (required when echo_cancellation=True, same length as near).
  • Returns: Processed audio (same dtype and length as input).
AudioProcessor.reset()

Reset all internal DSP state (AEC filter coefficients, noise estimates, high-pass filter, AGC gain state) while keeping the original configuration. Useful between conversations or after interruptions to avoid stale state affecting the next audio stream.

AudioProcessor.speech_probability

Read-only property. Speech probability (0.0-1.0) from the most recent process() call. Always available. Priority: noise suppressor's spectral estimate (when noise_suppression=True), then AGC's internal RNN VAD estimate (when auto_gain_control=True), then a lightweight spectral analysis (same as VoiceDetector).

AudioProcessor.gain_db

Read-only property. Current applied gain in dB from the most recent process() call. Only available when auto_gain_control=True; raises RuntimeError otherwise.

GainController

GainController(
    sample_rate=16000,
    num_channels=1,
    fixed_gain_db=0.0,
    adaptive_digital=True,
    max_gain_db=50.0,
    headroom_db=5.0,
    max_gain_change_db_per_second=6.0,
    max_output_noise_level_dbfs=-50.0,
)

Standalone automatic gain control using the AGC2 algorithm. Combines adaptive digital gain, fixed digital gain, and a limiter. Uses an internal VAD (same spectral analysis as NoiseSuppressor) unless speech_probability is provided to process().

  • sample_rate: Audio sample rate in Hz. Supported: 16000, 32000, 48000.
  • num_channels: Number of audio channels (1 for mono, 2 for stereo).
  • fixed_gain_db: Constant gain in dB applied after adaptive gain. Default 0.
  • adaptive_digital: Enable adaptive digital gain. Default True.
  • max_gain_db: Maximum adaptive gain in dB. Default 50.
  • headroom_db: Safety margin below 0 dBFS. Default 5.
  • max_gain_change_db_per_second: Gain slew rate. Default 6.
  • max_output_noise_level_dbfs: Limits gain to avoid amplifying noise. Default -50.
GainController.process(audio, speech_probability=None) -> np.ndarray

Process audio of any length.

  • audio: Input audio signal (int16 or float32 numpy array, any length).
  • speech_probability: Float 0.0-1.0, optional. If not provided, uses internal VAD.
  • Returns: Gained audio (same dtype and length as input).
GainController.reset()

Reset internal state (gain estimates, noise/speech levels) while keeping the original configuration.

GainController.gain_db

Read-only property. Current applied gain in dB from the most recent process() call.

EchoCanceller

EchoCanceller(
    sample_rate=16000,
    num_channels=1,
    stream_delay_ms=0,
)

Create an echo canceller. A high-pass filter is always applied to the capture signal before echo cancellation to remove DC offset (matching Chrome's behavior).

  • sample_rate: Audio sample rate in Hz. Supported: 16000, 32000, 48000.
  • num_channels: Number of audio channels (1 for mono, 2 for stereo).
  • stream_delay_ms: Audio buffer delay hint (see AudioProcessor above). Also available as a read/write property.
EchoCanceller.process(near, far) -> np.ndarray

Process audio of any length.

  • near: Microphone capture signal (int16 or float32 numpy array, any length).
  • far: Speaker reference signal (int16 or float32 numpy array, same length as near).
  • Returns: Cleaned audio with echo removed (same dtype and length as input).
EchoCanceller.reset()

Reset internal AEC state while keeping the original configuration.

NoiseSuppressor

NoiseSuppressor(
    sample_rate=16000,
    num_channels=1,
    level=1,
)

Create a noise suppressor.

  • sample_rate: Audio sample rate in Hz. Supported: 16000, 32000, 48000.
  • num_channels: Number of audio channels (1 for mono, 2 for stereo).
  • level: Suppression level 0-3 (6dB, 12dB, 18dB, 21dB). Default: 1 (12dB).
NoiseSuppressor.process(audio) -> np.ndarray

Process audio of any length.

  • audio: Input audio signal (int16 or float32 numpy array, any length).
  • Returns: Audio with noise suppressed (same dtype and length as input).
NoiseSuppressor.reset()

Reset internal noise suppression state while keeping the original configuration.

NoiseSuppressor.speech_probability

Read-only property. Speech probability (0.0-1.0) from the most recent process() call.

VoiceDetector

VoiceDetector(
    sample_rate=16000,
    num_channels=1,
)

Lightweight voice activity detector. Runs the same spectral analysis as NoiseSuppressor to compute speech probability, but skips the Wiener filter - no noise suppression is applied to the audio. Use this when you only need VAD.

  • sample_rate: Audio sample rate in Hz. Supported: 16000, 32000, 48000.
  • num_channels: Number of audio channels (1 for mono, 2 for stereo).
VoiceDetector.process(audio) -> float

Analyze audio and return speech probability.

  • audio: Input audio signal (int16 or float32 numpy array, any length).
  • Returns: Speech probability (0.0-1.0).
VoiceDetector.reset()

Reset internal state while keeping the original configuration.

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

pywebrtc_audio-0.1.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

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

pywebrtc_audio-0.1.0-cp313-cp313-win_amd64.whl (311.9 kB view details)

Uploaded CPython 3.13Windows x86-64

pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (450.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (412.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pywebrtc_audio-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (358.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pywebrtc_audio-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl (401.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pywebrtc_audio-0.1.0-cp312-cp312-win_amd64.whl (312.0 kB view details)

Uploaded CPython 3.12Windows x86-64

pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (450.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (412.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pywebrtc_audio-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (358.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pywebrtc_audio-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl (401.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pywebrtc_audio-0.1.0-cp311-cp311-win_amd64.whl (310.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (450.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (410.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pywebrtc_audio-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (357.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pywebrtc_audio-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl (399.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pywebrtc_audio-0.1.0-cp310-cp310-win_amd64.whl (309.9 kB view details)

Uploaded CPython 3.10Windows x86-64

pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (448.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (409.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pywebrtc_audio-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (356.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pywebrtc_audio-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl (398.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pywebrtc_audio-0.1.0.tar.gz.

File metadata

  • Download URL: pywebrtc_audio-0.1.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pywebrtc_audio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e51635e141034df088a0cc4ce9f90ffaaca6ece7015b5a24d38146f9afa72d95
MD5 2dbdb481cc445a260492f175d2c57364
BLAKE2b-256 4e61a204f921c4e6cc4d7866308b82c5c2ad939c0e831c774515ab727b3c76e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0.tar.gz:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d4ade645f7c8c03bb26ec0b56fd140473125a303b09b186074a90700fd32ffe4
MD5 86554df4c4a34313b8dd3fa2864c351b
BLAKE2b-256 a1f7c19df55667596cf3b851f2c1fbd774689b5a1565c841e5b091f35f134e48

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp313-cp313-win_amd64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6a4afdb3cd92ef65185ea26c8b0d743db0a8cc4d8b890d6a29e209ff3ff90be4
MD5 97de4078db318c6b6847aafee6a4f02d
BLAKE2b-256 c3a0fea917b67bfc0c5ae04f4f83b223258585ad41cbe5e9d61947c66e069ead

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6a88f1ade674bbfb3253f58c57ca0955347b5d6b356654a9b0907e51aca9c927
MD5 a803627498b4bd1b351ad5e684414b38
BLAKE2b-256 f3057a71cf2ae5c5e3971f17aa36ea217d1933ea0fdb6979a8bc63df7e5f8bff

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1768aa038ea51d8c35e5e59e1bb10d8fccd5c75a188c312152119586cafd19d
MD5 cce4cb719168594a3ff7eea04b85dc45
BLAKE2b-256 2a261ebfe836271c4d2b6cc0d41e41f93a2c8d7fba89d0e86a2d7742516e6360

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 26ffea3f6c06665e7ca501c8ac800a0522e46f9ca8e1a5ade57d94271c859fba
MD5 337643719dad6e15189b9c90dbe5e560
BLAKE2b-256 1293bbfa966cc04c627f6474d2f8406eb83d307c20f96d0f170ca8993ffe9337

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 180db79d375e41f6ff8c082b924b128a6f3f79c93d7bc2053446eab150bf6c0e
MD5 fd74aa20c80ed12982ef62ead6f47d60
BLAKE2b-256 f08952b1205dd5b0c9f0bfea2eed1062a27549e097b42ba22ad4c541a2efd32b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7b485f6eb033032c372fa2f3e59baaa7bd28538c8d9c862d58128e52a8664dea
MD5 74328ef7f5d839fa3972052facdb79c9
BLAKE2b-256 6e0cf4a865a831389e74185731edf31f2b915943f2288b7bead20a2eebcdfb12

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6eef9065089a2e25ef1b9743661cb48caa4c2e65acee1314e8957d0c24ae534a
MD5 4c2df8cb0bbdca676be9772e1ba23d99
BLAKE2b-256 497c1360a81011b99cb897e044199424b104abe7f27abf7dd3e126bbc1a16a01

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f102b7bd2929ef6168b44def462c4ae04e60b1b51d724b7c21cab2d79fb8d8b5
MD5 3d8a1de4a260d246bcd432be70a7e662
BLAKE2b-256 20f005c99fbe97e9ec3d233f33e255b5ed3bba3cbc0a67ba1ace0f82db6ec27d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0e5c26896af62b25dc2c9c71ef59fa227e2687841a9c29013ccb05c5f97f2470
MD5 c72b3ebc86ba6f5d24550a68456db8f7
BLAKE2b-256 b041dd1eb59ef280d39e40c8d36b9f4853a235a8b8ecb88c4b177dfe51573c67

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f96f08ad706165c09008e7a78bffbf3ae374914b1890d145ab3714491347997b
MD5 93a46e95e1bf2dbc1efdfcec4094e170
BLAKE2b-256 f2c876b1effd16e7e0e6176554a8079487766d2b76e1024e54aca748a57db1ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6eeb172d139a73cf16d49b6e32f284097d946a8a5570d427f1f15e11c9bf9e22
MD5 4f8c375e9f44d751f193d70c48eb07df
BLAKE2b-256 543ffaa7009399e42d53b2295cf6ce9ad58cb7c6006c06f3c4e2d8d2cb72b7a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c41216f517dc615cfc55a5cf734c7562b086dc120932a0bf68580093c50fecc
MD5 6094f77f3e6e4ae3eaab92247a430860
BLAKE2b-256 e702d6d20c87cde495de87d6816ae260743dc1cb1398e42f2eba3303e1d30146

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a6afc05cc517059510107badcdb2e83aa936e860f1e553d068738265912fb9e7
MD5 de68679d30c489bf2568aa1126a333c7
BLAKE2b-256 8fa28a1b0b621a4f4b76a916b107d9c9e4faea6a00a97f334ff7da917d44b709

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4ee76474c020e20cb15e424ed92a3ce8a88ff5a2ce0dbf8f3e6e6db5285a7a9f
MD5 122b1b794319fb0bf42bfcb7049f1696
BLAKE2b-256 c4911dc2a95a7711f4a92b305e1aa11211f16c5a74d5fab7d3454637c6acba5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1ef148b449c48bfcbb6391497258465dcc4a953f847177baafcf5720ce26953
MD5 734bd4a17ce44a8ca23b91c5cb17faa4
BLAKE2b-256 2140020abf7f9eb3bd83a106ada745a693ed801d457082790fdd5e76260f6b92

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 241af5a005cba7fb4c2f6fb6fd847ca9e6e87e02edfa38fb4d7a8c5e9089e035
MD5 d84108b7a7263a405c4a04b75cca4dc1
BLAKE2b-256 d6c457910bfaabc2053923e358da63fd15cbee494701e5876f36fcadec51c599

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6feada96c38636b0b56a2382a062e97e37f5db17d34cd48deefc769224d9693c
MD5 47694955f715fadf73c36d788c7b1b6f
BLAKE2b-256 121beb26519fa120636416ff2adf3031ec465560e88ef83971891759e6659604

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da3ce7247d5038f2d66e119b74f44c988c4082f50cb8307b58e5d76a04c8a03e
MD5 7169295787a8599436169c565e3b8722
BLAKE2b-256 f0ceac77a8e7bea48898dcfecc688304b2857ac84b1088351250b60b540b22d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1675cc5aca54b20c8240581a67227593f0d7d172239621915f0637f73421195
MD5 a70fbb92eb8000af8131b617e5d88d95
BLAKE2b-256 122d41ed3b070c36aa98cf48ec2c5a220b3efde087b6869e2c801af786a2db95

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1b081ae7ceeb43b0a302c746a650a928de747105c7a1605b2fbd386de6f8f734
MD5 ef330de2bbd56a33c819f29e0896deb9
BLAKE2b-256 13a890bd0d9cf8ab5dc7ad716b7e4a345ec012944b035a33e907721d49382a0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 57e1697670f05d88032739cb1b8c97de08b214c57c56510ee388e414307dc723
MD5 12f171d42c3fe5292d4fa300aa2bdd1a
BLAKE2b-256 a6c4fbc0c0da355aa8de03d2008c8fa7fbc488b444bc93ae359f08cae4e01a09

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7edefc52ccaab14cf3112542bd7a9e5d971253c7de93912562ba2bec45eae12f
MD5 61326a054ae1246ef5bc50b5df8fdf10
BLAKE2b-256 b3961792cd48a6f9a5383acc14157f5f97d3acba27459a365e9c4453bd5c8ce6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 72ef36a3b119c49f3aec8d645fc536423e04010f870faf59a0b1d7f52a7b3173
MD5 e8ae21cedf4da7933507c84a7dc53e78
BLAKE2b-256 e58aa2db1f4cda4eb9e47f958bb7963a014ad6133d747abbf9ecc3278a2c4f17

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 462877d152bcd353f951a9048db97da7c4d55ad2936f5de2c2e485d8b0383267
MD5 e760d470c4eacb46562b1f1d6ef3d780
BLAKE2b-256 d5deff64f2e46549452759a94d152087cedebfdb3b4a213910421342f5370bce

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 97a78c058a77801a4ddcae2aa30b20646fad30a42f05c2a3ae7d2a58cf94c169
MD5 92d6e72791fba98d910611eac6eb94ef
BLAKE2b-256 ceb280e979159072ea11c327fd1149a30ba631871e3c8dae2f68919997199d01

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d3e0a2074527c17cadbaae1ce2a740f21672da2888035dcc96493dfd4141177
MD5 7fd22eff8917f88a08afd4250b953458
BLAKE2b-256 358bc13f1bb990febbe0ac684e24a3ec97e3eb6abe93c0b20f9e51e535dcefbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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

File details

Details for the file pywebrtc_audio-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pywebrtc_audio-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3549b692fc50166c358a6f3ce13bea16b0b6fc48a0410c97a4ecb4992ec37465
MD5 f4644b910cac2632b2ce5f211bd7b1ed
BLAKE2b-256 28d7915a982cb22333ef09378ba11906ba8d2a44fd8943e02461462a5382c00e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pywebrtc_audio-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: pypi-publish-on-release.yml on strands-labs/pywebrtc-audio

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