Pythonic Audio Library and Codecs Environment https://mcsinyx.github.io/palace
Go to file
Nguyễn Gia Phong d29d8debe8 Compile Cython with binding and allow cleaning C++ output 2020-03-30 18:07:31 +07:00
.ci [Travis] Build for macOS 2020-03-01 16:20:44 +07:00
examples Add reverb example 2020-03-30 17:32:13 +07:00
src Compile Cython with binding and allow cleaning C++ output 2020-03-30 18:07:31 +07:00
tests Nitpick 2020-03-19 11:59:28 +07:00
.gitignore [Travis] Build for macOS 2020-03-01 16:20:44 +07:00
.travis.yml [Travis] Build for macOS 2020-03-01 16:20:44 +07:00
CMakeLists.txt Make build more portable and compatible with manylinux2014 2020-02-01 14:29:06 +07:00
LICENSE Initial commit 2019-12-22 14:42:53 +07:00
MANIFEST.in Implement MessageHandler 2020-02-15 14:27:06 +07:00
README.md Prepare C++ bases for FileIOFactory 2020-03-16 20:26:44 +07:00
pyproject.toml Make build more portable and compatible with manylinux2014 2020-02-01 14:29:06 +07:00
setup.cfg Compile Cython with binding and allow cleaning C++ output 2020-03-30 18:07:31 +07:00
setup.py Compile Cython with binding and allow cleaning C++ output 2020-03-30 18:07:31 +07:00
tox.ini [Travis] Build for macOS 2020-03-01 16:20:44 +07:00

README.md

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 sound rendering
  • Environmental audio 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 only built for GNU/Linux and macOS on amd64 at the time of writing. If you want to help out, please head to GitHub issue #1.

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

git clone https://github.com/McSinyx/palace
pip install palace/

Usage

One may start with the examples for sample usage of palace. For further information, Python's help is your friend.

License and Credits

Palace is released under the GNU LGPL version 3 or later.

To ensure that palace can run without any dependencies outside of the pip toolchain, the wheels are bundled with dynamically linked libraries from the build machine, which is similar to static linking:

Library License
Alure ZLib
OpenAL Soft GNU LGPLv2+
Vorbis 3-clause BSD
Opus 3-clause BSD
libsndfile GNU LGPL2.1+