Control JACK server with Python
Project description
Control JACK audio server with Python.
Can be used as replacement for jackd for more robust configuration, for example, when using jack package.
Installation
pip install jack_server
Also you need to have jackserver library on your machine, it comes with JACK2. I had problems with apt-package on Ubuntu (jackd2), if you do too, compile jack yourself.
Usage
🎛 jack_server.Server
On server creation you can specify some parameters:
import jack_server
server = jack_server.Server(
name="myfancyserver",
sync=True,
realtime=False,
driver="coreaudio",
device="BuiltInSpeakerDevice",
rate=48000,
period=1024,
# nperiods=2 # Work only with `alsa` driver
)
server.start()
input()
They are actually an equivalent of jackd flags:
-n,--nametoname,-S,--synctosync,-R,--realtime,-r,--no-realtimetorealtime,-dtodriver,
And driver arguments:
-d,--devicetodevice,-r,--ratetorate,-p,--periodtoperiod,
start(self) -> None
Open and start the server. All state controlling methods are idempotent.
stop(self) -> None
Stop and close server.
driver: jack_server.Driver
Selected driver.
name: str
Actual server name. It is property that calls C code, so you can actually set the name.
sync: bool
Whether JACK runs in sync mode. Useful when you`re trying to send and receive multichannel audio.
realtime: bool
Whether JACK should start in realtime mode.
params: dict[str, jack_server.Parameter]
Server parameters mapped by name.
💼 jack_server.Driver
Driver (JACK backend), can be safely changed before server is started. Not supposed to be created by user code.
name: str
Driver name, read-only.
device: str
Selected device.
rate: jack_server.SampleRate
Sampling rate.
period: int
Buffer size.
nperiods: int
Number of periods. 2 is right for motherboard, PCI, PCI-X, etc.; 3 for USB (source).
Can be helpful when tailoring performance on jittery systems.
params: dict[str, jack_server.Parameter]
Driver parameters mapped by name.
📻 jack_server.SampleRate
Valid sampling rate, 44100 or 48000.
🔻 jack_server.Parameter
Not supposed to be created by user code.
name: str
Read-only verbose name of parameter.
value: int | str | bytes | bool
Value of the parameter, can be changed.
❗️ jack_server.set_info_function(callback: Callable[[str], None] | None) -> None
Set info output handler. By default JACK does is itself, i. e. output is being printed in stdout.
‼️ jack_server.set_error_function(callback: Callable[[str], None] | None) -> None
Set error output handler. By default JACK does is itself, i. e. output is being printed in stderr.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jack_server-0.2.0.tar.gz.
File metadata
- Download URL: jack_server-0.2.0.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd1838510cef2275110bf39c85faecbd24462c80b8c119c8d24b701e8285ad61
|
|
| MD5 |
fab63aff92a320bb5661b8bcefb2c0d1
|
|
| BLAKE2b-256 |
47c255f6b52c7fdfbbf06f84c13c23f0d0ae9bb56e23749fca27b807a0c3909c
|
File details
Details for the file jack_server-0.2.0-py3-none-any.whl.
File metadata
- Download URL: jack_server-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc7e263c714377f58b4b75bc7546e75c916e07c1dc3a9e9175657b54b84a5bc2
|
|
| MD5 |
41beffd5bd04a6bea30f4bd7032c4878
|
|
| BLAKE2b-256 |
6a11804a6a2e5a2ef0890d19f00a4e709942e1f1ff7494ff9d38241f528a4ede
|