https://github.com/ronnyandersson/zoundcard
Using the python zignal library to play audio on a soundcard
https://github.com/ronnyandersson/zoundcard
Last synced: about 1 year ago
JSON representation
Using the python zignal library to play audio on a soundcard
- Host: GitHub
- URL: https://github.com/ronnyandersson/zoundcard
- Owner: ronnyandersson
- License: mit
- Created: 2024-05-02T09:24:35.000Z (about 2 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-06T08:26:59.000Z (about 2 years ago)
- Last Synced: 2025-03-19T14:42:32.529Z (about 1 year ago)
- Language: Python
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# zoundcard
This library is using the
[pyaudio](https://people.csail.mit.edu/hubert/pyaudio/) and
[zignal](https://github.com/ronnyandersson/zignal) libraries to play audio on a
soundcard. This code was previously a part of the zignal library but split out
into its own.
## Pre-requisites
This library relies on pyaudio, which depends on the python development headers
and the portaudio development files. On debian/ubuntu,
sudo apt install python3-dev portaudio19-dev
## Installation
It is recommended to create a virtual environment and let pip install the
dependencies automatically.
python3 -m venv
. /bin/activate
pip install zoundcard
## Local development
Create a python3 virtualenv and install from the local source code to make the
library editable.
python3 -m venv venv_dev
. venv_dev/bin/activate
pip install --editable .[dev]
### Style checks
Style guide enforcement using isort and flake8
isort --check-only --diff --gitignore --color \
--force-grid-wrap 2 --multi-line 8 --trailing-comma src/
flake8 --extend-ignore=E265 --statistics src/
### Unit tests
python -m unittest --verbose --buffer src/tests/test_*.py
## Build a release
python3 -m venv venv_build
. ./venv_build/bin/activate
pip install --upgrade pip build twine
python3 -m build
### Upload packages
Upload to pypi.org using twine
twine upload dist/*