Pythonic Audio Library and Codecs Environment https://mcsinyx.github.io/palace
Go to file
Nguyễn Gia Phong 566911efad
Build wheels for CPython 3.9 and manylinux aarch64
2020-11-08 20:05:20 +07:00
.ci Repair wheels on macOS correctly 2020-05-02 18:03:57 +07:00
.github Build wheels for CPython 3.9 and manylinux aarch64 2020-11-08 20:05:20 +07:00
docs Write tutorial for source effect 2020-10-06 20:39:56 +07:00
examples Make effects properties more intuitive (fix GH-85) 2020-04-25 21:33:17 +07:00
src s/Notes/Note/ 2020-10-06 15:55:25 +07:00
tests Fix incorrect multivalue return type 2020-06-02 10:42:53 +07:00
.appveyor.yml Update CI/CD 2020-04-22 00:29:53 +07:00
.gitignore Write tutorial for source effect 2020-10-06 20:39:56 +07:00
.travis.yml Build wheels for CPython 3.9 and manylinux aarch64 2020-11-08 20:05:20 +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 Follow up on GH-116 2020-09-11 15:12:38 +07:00
README.md Update pointers to documentation 2020-08-24 21:57:53 +07:00
pyproject.toml Interlink backquoted objects in docstring 2020-09-09 17:38:23 +07:00
setup.cfg s/Notes/Note/ 2020-10-06 15:55:25 +07:00
setup.py Nitpick packaging 2020-07-31 16:32:22 +07:00
tox.ini Set up GitHub Action for linting 2020-08-24 15:32:42 +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 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 amd64. Currently, only GNU/Linux and macOS are properly supported. If you want to help packaging for Windows, please see GH-1 on our issues tracker on GitHub.

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://github.com/McSinyx/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.