NOTE: tpf-server is still in an experimental state and does not guarantuee backwards compatibility yet.
tpf-server connects instances of tpf-client. Nowadays, tpf-server is simply aooserver from AoO software.
tpf-client is a low-latency audio transmission software based on the AoO (Audio-over-OSC) protocol and built in Pure Data.
For more information visit:
The University of the Arts Zurich runs a publicly accessible tpf-server which may be used for exploring tpf-client:
- Hostname: tpf-server.zhdk.ch
- Port: 12043
If you want to run your own instance of the tpf-server, you need to build AoO. As of the time of this writing, there are no binaries available yet. Refer to the AoO documentation for detailed info, but basically those steps should get you a working build (works for Debian and derivatices):
-
Install everything we need for building:
sudo apt install git build-essential cmake
-
Clone the aoo git repository:
git clone https://git.iem.at/cm/aoo.git cd aoo git checkout develop git submodule update --init
-
Configure the build (we don't need the Pure Data externals nor the SuperCollider extensions):
mkdir build cd build cmake .. \ -DAOO_BUILD_PD_EXTERNAL=OFF \ -DAOO_BUILD_SC_EXTENSION=OFF \ -DAOO_LOG_LEVEL=Warning \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DAOO_SYSTEM_OPUS=off \ -DOPUS_BUILD_SHARED_LIBRARY=off
-
Build the aoo binaries:
make -j
-
Install everything (as root for system-wide installation):
sudo make install
If you want to run aooserver as system daemon that automatically starts when the server boots and that can be managed like any other systemd service, then follow these steps to configure aooserver as tpf-server.service systemd unit:
-
Add a system-user
tpf-server
which the daemon is going to run as:sudo useradd -r -s /usr/sbin/nologin tpf-server
-
Install the service unit file:
sudo cp systemd/tpf-server.service /etc/systemd/system/
-
Enable and start the tpf-server.service:
sudo systemctl daemon-reload sudo systemctl enable tpf-server.service sudo systemctl start tpf-server.service
-
Check if tpf-server is running correctly:
sudo journalctl -f -u tpf-server.service
The output of the above command should look similar to this:
Sep 14 14:31:31 tpf-server systemd[1]: Started tpf-server.service - tpf-server. Sep 14 14:31:31 tpf-server aooserver[2042]: Listening on port 12043
Now you can manage tpf-server with the usual systemd commands:
- Start:
sudo systemctl start tpf-server.service
- Stop:
sudo systemctl stop tpf-server.service
If you want your tpf-server to listen on a different port, apply your settings to the
systemd unit in /etc/systemd/system/tpf-server.service
and repeat the steps in 3.
Of course, you can invoke aooserver directly from the command line, which might be convenient for testing different parameters. aooserver supports the following options:
-p
,--port=PORT
: port number (default = 7078)-r
,--relay
: enable server relay-l
,--log-level=LEVEL
: set log level