Topic: guide to setup pianoteq on an Odroid C2 headless 'forget and play'
Hi there!
Last weekend I installed pianoteq on my Odroid C2. My aim was to have a 100% headless setup that starts pianoteq during boot and can be controlled via Tablet/Smartphone if needed. I do not own an external monitor at all.
Used Hardware:
Odroid C2, 2GB Ram, 4x1.6GHz arm64
16GB SD Card class 10
Zyxel G220 WLan stick (based on zd1211)
Behringer UCA222 usb audio
Roland HP508 digital piano
I decided to go for dietpi as a distro, because it is lightweight, available for many SBC out there, and most important has a high level of automation for installing wifi, desktop and vnc. The README_LINUX.txt was fairly useful. The hardest part was to install the necessary 32bit libraries needed to run pianoteq.
In hope my short notes could serve me and others:
INSTALL SYSTEM
download and install dietpi to sd card0
activate auto install options in boot partition, dietpi.txt:
Ethernet_Enabled=0
Wifi_Enabled=1
Wifi_SSID="Fritz..."
Wifi_KEY="123..."
Swapfile_Size=0
Auto_Install_Enable=1
AUTO_DietpiSoftware_Install_ID=23 # lxde
AUTO_DietpiSoftware_Install_ID=28 # vnc4
AUTO_DietpiSoftware_Install_ID=20 # vim
AUTO_Timezone=Europe/Berlin
cpu_governor=performance
wifi_country_code=DEcopy zd1211 firmware files to sd: rootfs partition, /lib/firmware
boot and wait for software installation to finish (might take 1-2h)
CONFIGURE SYSTEM
setup vnc via 'sudo vncpasswd' and 'systemctl restart vncserver.service',
or run dietpi-software vnc4 again to set vnc password (connect via ssh)
connect to desktop via "Android VNCViewer IP:1" or "Gnome remote desktop viewer IP:1"edit /etc/security/limits.conf (use @root ...) according to the pianoteq README_LINUX.txt:
@root - rtprio 90
@root - nice -10
@root - memlock 500000disable bright blue onboard LED heartbeat:
add "echo sd > /sys/class/leds/blue\:heartbeat/trigger" in /etc/rc.localraise alsa volume (fairly low by default) using 'alsamixer' and F6 to select USB DAC
install 32bit packages, needed to run pianoteq (the tricky part):
dpkg --add-architecture armhf
apt-get update
apt-get install libc6:armhf libX11-6:armhf libasound2:armhf libfreetype6:armhf libxext6:armhf
SETUP PIANOTEQ
download and copy pianoteq to /usr/bin/pianoteq using vnc
put into autostart using "Start -> Preferences -> Default Applications for LXSession" then Tab 'Autostart', and add an entry for "pianoteq --multicore max --fullscreen"configure pianoteq using vnc:
choose velocity curve
assign midi buttons to change presets
choose midi device and soundcard output (probably run 'dietpi-config' and choose USB-DAC as audio device?), select one carrying "...direct without conversion..."
choose internal sample rate (44kHz), polyphony (48) and buffer (64 samples, 2.6ms latency)
Performance: From power on to play takes ~30-40s. Pianoteq performance index is ~17. Auto polyphony settles at ~10 and ~12 (pessi/optimistic). Perfomance is good and realtime stuff works surprisingly well. No crackles unless playing really heavy-pedalling double-handed accords (Rach prelude op23/5 g minor, Steinway D 3 Mics).
The solution via VNC is really great! Wireless controller when needed and the box can be hidden, too. Feels now like a wireless android version of pianoteq running directly on the digital piano.
Lukas