[Beta] Patchbox OS image 2019-02-27 (Updated 2019-03-13)

Introducing the Patchbox OS image for Raspberry Pi!

It is an OS image based on Raspbian Lite preconfigured with audio software for a smooth user experience. On the first boot, a configuration wizard will run to help set up the system, including configuring the Jack Backend parameters and connecting to WiFi network.

This is a beta release, so do let us know if you hit any issues or have any wishes for what you’d like to see in the image!

The main highlights of the included software:

  • 4.14.91-rt49-v7+ real time kernel
  • amidiauto 1.00
  • Audacity 2.1.2
  • Jack Backend 1.9.12
  • Patchage 1.0.0
  • Pianoteq Standard Trial 6.4.1
  • Pisound software
  • Pure Data 0.49.0
  • Sonic Pi 3.1.0
  • Super Collider 3.9.3
  • touchosc2midi 0.10.0

All of the audio software is configured to use the shared Jack backend service, that means that multiple audio programs may use the audio card and play together, even the web browser. Run patchage to see and edit the audio signal flow.

You may give the image a try even if you don’t have a Pisound yet - the configuration tool allows for easy configuration of the audio device to use, so you may use built-in, USB or other audio cards.

First run

Passwords for beta and public beta releases:

2019-02-27 2019-03-13
User name patch patch
Password patch blokaslabs
WiFi SSID Patchbox Patchbox
WiFi password blokaslabs blokaslabs

You will be prompted to change the user password during the initial setup wizard. Changing or creating a new user is not recommended.

ssh is enabled by default.

vnc is enabled by default, but startx has to be run first or ‘desktop’ boot environment selected in the config.

You may connect to the system through one of the following ways for the initial setup.

Display and keyboard

Just type in the user and password into the login screen.

Via ethernet connection or local wireless network

Figure out the IP address, run ssh patch@ip_address from your computer.

Via default WiFi hotspot (RPi 3(+) and zero only)

The WiFi hotspot is enabled by default, named ‘Patchbox’, use ‘blokaslabs’ password to connect to it. Once connected to the WiFi, use ssh patch@172.24.1.1 to start a shell session (use ‘patch’ for password). You will get asked if you want to connect to a WiFi network during the initial setup wizard, once the connection is attempted, the ssh connection will drop. You may skip this step in order not to lose the connection. If you did connect to WiFi, figure out the IP and use that to ssh as in above link.

Downloads

Get the latest version here: https://blokas.io/patchbox-os/

Context

Just for reference, these discussions were among the things we wanted to address with the image:

Image generator source code

5 Likes

cool stuff, this is really interesting!

2 Likes

Indeed! Really cool. Will try it out.

2 Likes

Cant wait to give this a go

2 Likes

You are such creative and skilled guys, can’t wait to give it a try! Cheers!

2 Likes

I just booted it for the first time, but the password does not seem to be correct when using
ssh patch@172.24.1.1 for the WiFi first time connection.

the ‘blokaslabs’ password does not work, any ideas on what the correct one is?

‘blokaslabs’ is for connecting to the WiFi hotspot, use ‘patch’ for initial user password.

Hey guys, any thoughts and feedback on your experience with the OS image? :slight_smile:

1 Like

We have published a new build of the image, 2019-03-13, here: https://blokas.io/patchbox-os/

The only difference from this one is that both, the WiFi and the default user password is now ‘blokaslabs’ to avoid confusion and match the MODEP image. :slight_smile:

1 Like

This is great!!! Perfect work! Only thing I came across instantly… and please let me know if I can put that questions to a more suitable place in the forum:

When starting a pd patch with the button from /usr/local/puredata-patches/main.pd it all works fine, but the midi connections don’t get started properly. Patchage doesnt show any reaction, when starting a patch with this script.
It works perfelctly, when starting Pd manually from desktop, and then loading a pd patch.

Is there a way to get this working?
Guess I have to change the Pd start command line?

puredata -stderr -alsa -audioadddev pisound -alsamidi -channels 2 -r 48000 -mididev 1 -send “;pd dsp 1” $@ &

… but I don’t really know how to change it, so it starts up Pd correctly on PatchboxOS with the button. I guess the default command line is overwriting the settings, needed for proper working with the PatchboxOS?

Thanks a lot!!!

Hey, the Patchbox OS should have the ‘patchbox’ branch of the Pisound button scripts checked out: https://github.com/BlokasLabs/pisound/blob/patchbox/scripts/common/start_puredata.sh#L54

Did you make some customization to the scripts?

Looks like pisound-btn.service does not import the environment files to make the launched PD instance to connect to Jack. Try this:

sudo nano /usr/lib/systemd/system/pisound-btn.service

Make it look like this:

[Unit]
Description=Pisound button daemon autostart
After=sound.target

[Service]
EnvironmentFile=/etc/environment
Environment=HOME=/root
ExecStart=/usr/bin/pisound-btn

[Install]
WantedBy=multi-user.target

Then run:

sudo systemctl daemon-reload
sudo systemctl restart pisound-btn

After this, PD launched by the button should work OK.

Gret! Thanks a lot! That works.
Audio and MIDI routing works like charme :slight_smile:

But I discovered another little issue: When starting a patch with the button it runs headless without Pd GUI. Unless a terminal window is opend. How can I choose, if the patch will start up with/without GUI ?

And… can I auto-startup PatchboxOS without the need of typing in a password and confirming the user “patch”? This would be necessary to really make it work standalone.

Thanks a lot for you help so far! Looking very much forward building patches now and sharing them.

The pisound-btn issue can now be fixed by simply updating pisound-btn on the system:

sudo apt update
sudo apt install pisound-btn

Yeah, this is a known issue… The launcher script does its best to find whether X display is used and which one is it, unfortunately I haven’t found a reliable solution. This is the current behavior:

  • If a HDMI display is plugged in, use that
  • If connected via VNC and a terminal (or it could be some other process) is detected to be using X display, use that.
  • Otherwise, specify -nogui when launching PD.

If anyone knows a better way to implement a ‘find_display’ function, let us know :slight_smile:

As the image is based on Raspbian image, the same utilities will work here as well, just do sudo raspi-config, go to Boot Options → Desktop / CLI, and choose one of the autologin options.

Thanks a lot!!!

Unfortunately, btn is still not working properly.
Patchage shows:
Unable to create view port for alsa:132:0:out
Unable to create view port for alsa:133:0:in
Unable to create view port for alsa:134:0:in

Pd starts up, but seems it cant connect to those ports.
The problem is, that Pd then cant print to PdWindow any more.

I have just tried flashing an SD card with the 03-13 image, and doing the pisound-btn upgrade, everything seems to be in order, a USB MIDI controller gets reconnected to PD successfully, as well as other MIDI routings like Pisound’s DIN-5 ports are correct.

This could be a bug in patchage, sometimes it fails to show the latest state. Usually closing it and starting it again helps. aconnectgui has a similar bug too with the same workaround. :slight_smile:

When started via the button, Pure Data gets a ‘-stderr’ argument which makes it log into stderr stream instead of the window. This make the logs accessible via sudo journalctl -u pisound-btn -f (it does have some logging delay however, as latest messages first sit in an internal system buffer before they are passed to journalctl. This can be worked around, but with a (fairly small) negative system performance impact)

If you’d like to get the logs in the window, you may modify the Pure Data command line on your system. The intention of starting patches via the button is for Pure Data to be used headless, so that’s why it’s useful to redirect the logs to journalctl, some issues could be debugged then even when not using any UI.

If MIDI does not work well with PD for you, do you have any other customizations done to your system that could affect the behavior?

Usually closing it and starting it again helps. aconnectgui has a similar bug too with the same workaround. :slight_smile:

… doesnt help with the Patchange log issues, but they are just shown up and I cant figure out any problems using MIDI and Audio, after restarting. So it seems fine :slight_smile:

Thanks about the hint with journalctl! Didnt know about that.

After restarting, changing settings to 48 kHz, 128 Blocksize everything works well. No Audio drop outs (some occurred with 64 using Pd DSP). I did not do any other changes with the Patchbox Image. Thanks for your support. Start working with Patchbox Image now :slight_smile:

2 Likes

Just a quick word to say thanks… i got my pisound today & installed patchbox os this afternoon, my pd synth patch sounds the best it has, and my usb keyboard connected without me having to do anything x

3 Likes

hmm. just spent about 15 min puzzling over this. you should clarify this in the docs - user: patch, pw: patch.