Skip to main content

Lightweight, pure-Python cross-platform audio playback library

Project description

pysoniq

Minimal, pure-Python cross-platform audio playback library.

  • Pure Python - No compiled extensions
  • Cross-platform - Windows, macOS, Linux
  • Minimal dependencies - Only numpy
  • Simple API - Play, pause, stop, loop

Installation

pip install pysoniq

Use in context

import pysoniq
import numpy as np

# Play WAV file
pysoniq.play('audio.wav')

# Play as numpy array
sr = 44100
t = np.linspace(0, 1.0, sr)
audio = 0.3 * np.sin(2 * np.pi * 440 * t)
pysoniq.play(audio, samplerate=sr)

# Loop playback
pysoniq.set_loop(True)
pysoniq.play(audio, sr)

# Stop
pysoniq.stop()

Features

Playback

pysoniq.play(data, samplerate)  # Play audio
pysoniq.stop()                   # Stop playback
pysoniq.pause()                  # Pause
pysoniq.resume()                 # Resume

Looping

pysoniq.set_loop(True)   # Enable loop
pysoniq.is_looping()     # Check status

Gain Control

pysoniq.set_gain(0.5)           # 50% volume
pysoniq.set_volume_db(-6.0)     # Set dB
audio = pysoniq.adjust_gain_level(audio, 1.5)

Audio I/O

audio, sr = pysoniq.load('file.wav')
pysoniq.save('output.wav', audio, sr)

Platform Requirements

  • Windows: Built-in (winsound)
  • macOS: Built-in (afplay)
  • Linux: ALSA (aplay) - usually pre-installed

Limitations

  • WAV format only (for now)
  • Pause/resume uses time-based estimation
  • Gain changes apply on next loop iteration

License

MIT

Author

laelume

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

pysoniq-0.1.2.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

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

pysoniq-0.1.2-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pysoniq-0.1.2.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for pysoniq-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0772058ee2e27c0375f25b3d7badf6b48ca83e5dc976e8221c03faf04012e665
MD5 dcb4aa0ae19d07e3b766ec41f26647f6
BLAKE2b-256 56f684a77a0d619d69f72ba5dba2168591c73adcc827b960e47f464a62b328a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pysoniq-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for pysoniq-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 95640f8707d25dadb30a06b3f1026e3913fed7e3d00bf0a9226f08bd6c0fe497
MD5 171cc4663b1970d2900d27c0fe7468a1
BLAKE2b-256 803d754077823f20c90d2ae01330bccb9278a8d552c3b16683e7e0145f84a754

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