~cnx/palace

Pythonic Audio Library and Codecs Environment
b1ebc878 — Nguyễn Gia Phong 3 years ago
Let tox build wheels for coverage
c147a303 — Nguyễn Gia Phong 3 years ago
Test against manylinux wheels
8f1aea33 — Nguyễn Gia Phong 3 years ago
Defer Python 3.10 support

clone

read-only
https://git.sr.ht/~cnx/palace
read/write
git@git.sr.ht:~cnx/palace

You can also use your local clone with git send-email.

#palace

Palace is a Python 3D audio API wrapping around alure. To quote alure's README,

It uses OpenAL for audio rendering, and provides common higher-level features such as file loading and decoding, buffer caching, background streaming, and source management for virtually unlimited sound source handles.

#Features

In some sense, what palace aimes to be to OpenAL Soft is what ModernGL is to OpenGL (except that all the heavy-lifting are taken are by alure):

  • 3D positional sound rendering
  • Environmental effects: reverb, atmospheric air absorption, sound occlusion and obstruction
  • Binaural (HRTF) rendering
  • Out-of-the-box audio decoding of FLAC, MP3, Ogg Vorbis, Opus, WAV, AIFF, etc.
  • Modern Pythonic API: snake_case, @property, with context manager, type annotation

#Installation

#Prerequisites

Palace requires Python 3.6+ for runtime and pip for installation.

#Via PyPI

Palace can be install from the Python Package Index via simply

pip install palace

Wheel distributions are built exclusively for GNU/Linux on amd64. If you want to help packaging for other platforms, please reach out on our mailing list.

#From source

Aside from the build dependencies listed in pyproject.toml, one will additionally need compatible Python headers, alure, a C++14 compiler, CMake 2.6+ (and probably git for fetching the source). Palace can then be compiled and installed by running

pip install git+https://git.sr.ht/~cnx/palace

#Usage

One may start with the examples for sample usage of palace. For further information, Python's help is your friend and the API is also available for online reference.

#Contributing

Our documentation contains a brief guide which may help you get started with the development. We also think that you might find our design principles appealing as well.

#License and Credits

Palace is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The full list of works bundled with palace and other credits can be found in our documentation.