Skip to main content

Modern Sound manager for modern AI-driven applications.

Project description


HoloWave

Overview

HoloWave is a modern, thread-safe audio playback manager for Python applications. It provides robust, low-latency sound signaling, channel management, and cross-platform fallbacks for automation, agent systems, and productivity tools.

Highlights:

  • Low-latency sound playback: Instantly play any supported audio file with minimal delay.
  • Thread-safe singleton: Designed for multi-threaded, interactive, or automated applications.
  • Custom sound mapping: Associate sounds with keys or events for rapid notification and feedback.
  • Automatic cross-platform fallback: Produces a system beep if audio hardware or files are unavailable.
  • Flexible channel management: Control mixer channels, output routing, and concurrency with ease.

Why HoloWave?

Standard sound modules are often limited to blocking playback, lack robust error handling, or require boilerplate for channel management.

HoloWave solves these problems by:

  • Providing a centralized, extensible interface for all sound playback.
  • Robust error handling and fallback signaling on any OS.
  • Supporting channel-based playback for overlapping or grouped sounds.
  • Ensuring safe operation in multi-threaded or interactive environments.

Key Features

  • Simple Sound Playback: Play any loaded audio file by key, with non-blocking channel control.

  • Cross-Platform Support: Uses pygame for playback, with built-in system beep fallback.

  • Custom Sound Mapping: Map sound files to any integer or string keys for quick event-driven playback.

  • Thread-Safe Singleton: Safe to use across threads or in long-running service applications.

  • Robust Error Handling: Handles missing files, mixer errors, and hardware issues gracefully.


How It Works

  1. Instantiate HoloWave in your Python application.
  2. Map sounds to keys or events in your app logic.
  3. Trigger playback by calling getSound(key) from any thread or event handler.
  4. Automatically falls back to system beep if playback fails.

FAQ

Q: Does HoloWave require a specific folder or class naming? A: No. Organize your project and sound files as you see fit.

Q: Can I use HoloWave for overlapping or concurrent sounds? A: Yes. Channel management allows for multiple simultaneous sounds.

Q: Is HoloWave thread-safe and production-ready? A: Yes. The singleton implementation and locking ensure safe use in all environments.


Code Examples

You can find code examples on my GitHub repository.


License

This project is licensed under the Apache License, Version 2.0. Copyright 2025 Tristan McBride Sr.


Acknowledgments

Project by:

  • Tristan McBride Sr.
  • Sybil

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

holowave-0.1.1.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

holowave-0.1.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: holowave-0.1.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for holowave-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f704997fe1652f825cdead1b78423828034efd14d7ee698c9378f4bfbe801859
MD5 e5fee106e92bef8538d3ad57ee783b23
BLAKE2b-256 c9537c52850f8fbfb08c358d8e4db20e621f29a7141fe4bd089e97362d7001d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: holowave-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for holowave-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be27ba92d98ebd293ca715121e293c947d11378a1020b70bcba1922241ef5ecd
MD5 de3b3f2f742f15dd095176cce894cfdd
BLAKE2b-256 d72d18f4ddba5546c49e90a604a468b0f4ff349e41353cc9cf7d65cdab74ed96

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