~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.

Do not follow this link