← Back to all sparks
P

python-sounddevice

DEVOPS
Velocity2.5

Audio playback and recording for Python

A stable audio I/O binding whose entire recent history is Windows on ARM.

audioportaudiopython-bindingswindows-arm64packaging
Current state
python-sounddevice binds PortAudio for NumPy-based audio recording and playback in Python. The API is settled; the visible release history is a sequence of single-line changes, and the last three of them exist because of Windows ARM64 — first providing wheels for it, then fixing what that broke, then fixing architecture detection on the same platform.
Where it's heading
The package is in a phase where platform packaging, not functionality, drives releases. The only capability change in the visible window is explicit_sample_format on WasapiSettings, a Windows-specific option. Combined with the earlier ASIO DLL bundling, the pattern is clear: the maintenance surface is Windows audio backends and the wheel matrix, while the cross-platform core sits untouched.
Prediction
Expect further packaging-level releases as the Windows ARM64 wheel path settles. Nothing in these entries suggests API work is planned.

Recent moves

  1. 1d ago

    Windows ARM64 architecture detection fixed

    Fixes architecture detection on Windows ARM64, the third consecutive release dealing with that platform. A packaging correction, not an API change.

    View source ↗
  2. 6mo ago

    Patch for regression in the previous release

    A same-week patch for a bug introduced by the previous release, with the body offering no further detail. The immediate follow-up to the ARM64 wheel addition two days earlier.

    View source ↗
  3. 6mo ago

    Wheels published for ARM64 Windows

    Provides wheels for ARM64 Windows, meaning users on that platform install from a binary rather than needing a build toolchain. The two releases that follow are both consequences of this one.

    View source ↗
  4. 10mo ago

    explicit_sample_format added to WasapiSettings

    Adds explicit_sample_format to WasapiSettings, giving callers direct control over sample format negotiation on the Windows WASAPI backend. The only functional API addition in the visible history.

    View source ↗
  5. 1y ago

    Clearer error for non-integer frames or channels

    Improves the error raised when frames or channels are passed as non-integers. A diagnostics touch-up on an easy caller mistake.

    View source ↗
  6. 1y ago

    Windows wheels bundle ASIO and non-ASIO DLLs

    Windows wheels bundle both ASIO and non-ASIO PortAudio DLLs, selectable at runtime through the SD_ENABLE_ASIO environment variable. Low-latency ASIO access previously required building PortAudio yourself.

    View source ↗