New Raspberry PI OS Available – “Bookworm”

Raspberry PI official launched the new Bookworm version of the Raspberry PI OS 2023-10-11 and I immediate had to test if Z-LiveRec was working as usual in this new version. Raspberry have done a couple of changes in the audio support for ALSA and also to VNC Server. (It is replaced by another vendor) So I was suspicious if things had stopped to work – But I can happily announce that the new OS seems to work as expected! There are some issues to get 3.5″ touchscreens to run in this new OS (Generic problem – not solved yet by raspberry.org) but the official 7″ touchscreen from Raspberry and also from the vendor Waveshare worked perfect after been running a rpi-update to get the latest kernel #5622.

For the Waveshare 3.5” touchscreen using SPI – I raised a support case with them and they promptly replied that they are working on a new driver for their screens and Bookworms – so stay tuned here!

One bug which have been annoying me for a long time in Bullseye(With a lot of error seeking) is that graphics objects (like buttons, text and graphics) have stopped to update when running the app – which was creating big problems. But these problems was suddenly totally gone in bookworms – and I am guessing the newer version of the graphics library TKInter, used by Z-LiveRec, have been updated and also fixed these experienced problems.

So I made a short recording with Z-LiveRec from my A&H CQ20B mixer in 96KHz, 16 Channels in 24bits…and there was absolutely no problems here! Works like a charm! 🙂 The only function which currently is not working is the included VNC server implementation in Z-LiveRec. (So I am going to fix this in V2.28)

Another nice experimental feature in the upcoming version of Z-LiveRec V2.28 are support for OSC calls – so you will now be able to control Z-LiveRec remotely from softwares like Bitfocus Companion etc. And it is real nice to be able to start recording over the network by using a stream deck.

A first OSC implementation in Z-LiveRec.

I was testing some new stuff in Z-LiveRec…

Working on the long-awaited V2.28 version, which includes a bunch of fixes and more stabilizing functions of Z-LiveRec. Someone asked me if I could include support for Open Sound Control (OSC) in Z-LiveRec to be able to control recording and playing remotely over a local network from software like Bitfocus Companion, which uses Stream Decks buttons to control the flow. I had to try it out, and here is an early example of my implementation! There are still many tasks to complete to create something flexible and useful for Z-LiveRec users, but even I was amazed at how well it works. 🙂

Z-LiveRec can handle 96KHz Streams!

I recently got my hands on the new Allen & Heath CQ20-B digital mixer, which has 20 channels and 8 outputs and runs at 96KHz. The console has a built-in multitrack recorder for separate WAV files and can also stream 24 channels over USB.

I was interested in testing whether Z-LiveRec could record 96KHz streams with 24 channels, and after my tests, I can confirm that it works great! I successfully recorded 24 channels, 24 bits in 96KHz for hours using the upcoming version 2.28 of Z-LiveRec without any problems. This also means that other A&H consoles like the SQ-5/6/7 will also work with Z-LiveRec and 96KHz.

On the picture – I am running a Raspberry PI 4 and a 7″ touchscreen from Waveshare.

Behringer WING mixing console!

I recently had the opportunity to test a Behringer Wing mixer with my recording application Z-LiveRec. 🙂 The WING is a impressing mixing console with it’s 48 stereo channel inputs(!) and loads of stereo outputs. A ‘router’ of opportunities! The thinking behind the mixer is extremely flexible, routing and a lot of features which make you just unbeatable behind the sound desk!

A USB port found in the WING which is able to sends/receives 48 channels with 24 bits, 48 KHz over the port. Just perfect for any DAWs or recording apps like Z-LiveRec!

Some notes from my tests, I first made some tests with the internal multitrack recorder found in the WING. The mixer has two SD card slots as standard. It is able to record up to 64 channels at the same time using the default included W Live card. (This can be replaced with a Dante card)

To record 64 channels, The WING stores the content over the two SD cards, where the first 1-32 channels go to the first SD card and channel 33-64 goes to the second SD card. (To be able to do this simultaneously you also need to mark the ‘link’ symbol between the cards) – otherwise the WING just records 32 channels of your choice. The recorder will always record in WAV file format – meaning that each multitrack wav files will be split after reaching 4GB. This is a limitation of WAV files belongs to the built in 32 bits header in the format. (There is no big issue here, the mixer will handle all recorded files when replaying automatically – so you don´t need to select each wave file when replay the recording, they are seen as one recording when inside the WING.)

Also, the fact that 32 channels are split between each SD card, will maybe add some complexity, if moving the files to an external DAW for postproduction, where each card could have their own split of a bunch of wav files. Then you realize that You need to be a bit more organized to succeed to move the files in to a DAW system.

Something which I saw, if you want to make longer recordings directly on the WING…the maximum recording size is set be 32GB for each card. If trying to use bigger SD cards like 64 GB or bigger, the WING will say that it is not supported. (The WING follows to the official FAT32 limitation, where 32GB is the maximum partition size on SD cards) This means 32GB with 32 channels will give you about 1 hour recording before you need to change SD card or jump to the next SD card in the WING. Problem? Maybe not, but definitely a limitation.

It was a bit tricky to understand how to map each sound source with the W Live card or the USB output at first – but when you get the logics, it is a walk in the park to map all channels. It is extremely nice that they kept the mapping to the USB port and WLive SD recording as separate entities. It is actually possible to run the internal SD recording and the USB port simultaneously at the same time.

Something which I liked was the session marker function when recording with the internal recorder – where you could set recording markers during playing or recording…and quickly jump between these positions afterwards when replaying. (This is a great idea to add to Z-LiveRec!)

Ok – when finally connecting Raspberry PI to the WING over USB and the multitrack based recorder Z-LiveRec, the system will capture up to 48 channels over the USB bus from the WING. Z-LiveRec is using EXFAT/NTFS file format on the USB Stick…and through this you will get unlimited partition storage space. So ”TB” file sizes are not a problem.

If using W64 or CAF file format instead of WAV on Z-LiveRec – the 4GB limit is gone …so Z-LiveRec will record a 4 hours session with 48 channels without any problems from the WING and you will get one single multitrack file including all content in the end. Just to drag and drop into Logic Pro or any other DAW – and the session will show all 48 channels in your DAW.

I had some 32 channel multitrack recordings stored in my Raspberry PI from my Mackie DL32S from some summer festivals earlier this year – which I made some tests to remix through the WING – and I can just say that the mixer impresses even here. A nice feature found in the WING is the stereo recorder (a second recorder – separated from the multitrack recorder) – which can play or capture up to 4 channels. So when remixing the 32 channels material sent from Z-LiveRec over USB to the WING – the smaller stereo recorder recorded the results. 🙂

So even a more premium mixing console like the WING could definitely utilize the benefits of Z-LiveRec!

Finally, what a nice and great mixing console the WING is, Behringer!

Anders / Z-LiveRec

Z-LiveRec 2.27 launched!

News and changes in version 2.27

I must first confess that not all new functionality works directly as expected. In the 2.26 version we introduced our first implementation to be able to use Z-LiveRec virtually from any VNC Client (like an iPhone, iPad or Android device) connected to the hosting Raspberry PI with a multitrack mixer attached over USB. But our first attempt was not 100% – But in 2.27 we have improved the implementation a lot – to make the remote experience perfect – just a checkbox and the functionality is up and running. In this new version you will also find many other improvements and fixes.

Have a look – and please check the new version out!

  • Fixed a problem with the filename dialog, so that pressing “Cancel” will abort the recording process.
  • Changed the filename dialog when running remotely in VNC – so the focus maintained and can be editable.
  • Addressed a problem when toggling between hardisk/storage devices when in touch mode.
  • Added a function so that a VNC session terminates when the VNC client is stopped.
  • Added a function so that a VNC session restarts after termination of a VNC Client/Session
  • Added so that the VNC Session uses the actual user at the VNC Host and be created in the user’s home directory.
  • Added a function to determine if Z-LiveRec is running in “Host” or in “Remote” mode. Visible in the GUI frontpage – “Host” or “Remote”. (The actual IP address can be seen in the license page)
  • Added a shutdown dialog to give options to reboot or only shutdown the system.
  • Investigated and found the issue why Bullseye have disappearing taskbars when attaching multichannel ALSA Sound Cards. See separate post at Z-LiveRec.com – Not implemented in Z-LiveRec – this is an OS patch.
  • Fixed a problem seen in PI OS Bulleye – Where Z-LiveRec did not store/read the saved hardisk path.
  • Updated the GUI on the license page/dialog.
  • Added a process to handle terminations of a Z-LiveRec window – like pressing windows “X” when not running in touch mode
  • Checked so that the autostart process uses the right credentials when created on the system.
  • Both 32-bit and 64-bit versions are available for both the trial and full version.

Check the Z-LiveRec V2.27 Manual for more information and details.

A free update is available for registered users (Login to “My Account” and download the latest edition or use the e-mail download link from the original order acknowledgement) and free demo/trial version is also available for everybody else to try the app!

Please note: Using the auto update function in Z-LiveRec (for registered users for the 32 bit version.) – You will find a zip file in the PI/Home directory – and you can just extract the zip file yourself – and the V2.27 version will show up.

The update process will try to unzip Z-LiveRec and overwrite the old version of the app – and a chmod r+x command can be required to get the V2.27 version to run again. See the manual for more information.

Best regards Anders / Z-LiveRec.com

A Raspberry PI OS Bullseye ALSA issue

A seen issue seen in both the 32 bit and 64 bit versions of the latest Raspberry PI OS called “Bullseye” is by using mixers with many channels like the Behringer XR18 or Mackie DL32S. The issue was showing up by just by inserting the USB cable in the Raspberry – the taskbar in the menu (also known as lxpanel) flashed for about 3 times and then the taskbar disappeared completely (Which made the Raspberry a bit hard to handle and work with) -even if Z-LiveRec would continue to work just perfectly.

However, this problem did not occur in the previous OS – “Buster”. So after much research around different sound cards and devices – because the problem was only seen with these multichannel mixers (2-10 channel devices were working fine)

So after digging hard and been looking on the alsa.conf, .asoundrc files etc…I gave up and just copied the alsa.conf file from an old Buster OS to my Bullseye installation. And viola – IT WORKED FINE!

So if you want to implement my “patch” – just follow these steps – (if you are not a Linux hacker):

  1. Go to the /usr/share/alsa directory on your Bullseye installation
  2. from the lxterminal use the follwing command: (To delete the current alsa.conf – 9.6kB)
    (You could make a copy of this file and store it some where else)

sudo rm alsa.conf
  • Download the Buster alsa.conf.zip from Z-LiveRec.com
  • Unpack it in your home/pi directory
  • From the lxterminal use the following command: (To copy the Buster alsa.conf – 9.4kB to it’s right place)
sudo cp /home/pi/alsa.conf /usr/share/alsa

READY Just to reboot – and you will not have any problems disappearing taskbars anymore!

64 bit trial version of Z-LiveRec available for download

Z-LiveRec

News from 2022-11-14: We added a 64-bit trial version for 64bit Raspberry PI OS. The trial version is available for download at the Z-LiveRec Shop. (And you will find the 32bit version here also)

The trial version is limited to maximum 200MB of recordings.

In the full version of Z-LiveRec – both 32 bit and 64 bit versions of Z-LiveRec are included.

Z-LiveRec V2.26 has been tested with Raspberry PI OS 11 (Bullseye)

Z-LiveRec V2.26 is launched

News and changes in version 2.26

I must first confess that development always takes 4… 8x 🙂 times more than expected. But here you have a new fresh version of Z-LiveRec – The multitrack recorder for Raspberry PI! In this new version you will find many nice improvements and also some new nice tools and functions that will make Z-LiveRec to the recorder and virtual soundcheck tool #1 for your digital mixer!

Have a look – and please check the new version out!

  • Added .sox as a audio format.
  • Locators – Show the real time HH:MM:SS instead of just seconds. Works with both play and export. Shifting from red to blue when playing in a loop.
  • 10 channels added as option to support Behringer Flow 8 mixer – a reset of the Z-LiveRec.cfg might be needed first time of use.
  • Add feature to set your own filenames when creating recordings. A checkbox in the license dialog will enable this function. If not entering a filename – an automatic name will be generated.
  • The actual filename is showing up on the Buffer Size Status in the main GUI when recording.
  • Full export and exports between the locators of recordings can now be converted to any of the other defined formats. Recording in SOX, CAF etc formats can be converted to for an example to w64 afterwards.
  • Added “Stop” function when doing loop/play in virtual soundcheck mode.
  • Added detailed OS version logging in Z-LiveRec.log for easier error handling.
  • Fixed an error with the tempeture reporting on long recordings (over 1.5h) – which made Z-LiveRec to crash. Thanks to Michael Klein for reporting. Recordings of 50GB/Several hours have been tested without any problems.
  • Checked and fixed a dialog error when closing license dialog and the saved parameters in cfg file.
  • Added Virtual VNC to be started at autostart for remote control Z-LiveRec from other devices like a iPhone/Ipad running VNC. This function is enabled in the license dialog and the remote function is enabled in autostart for the system. When enabled you see both the Raspberry host IP and also the client IP if running remote. A control function is added to show if several session of Z-LiveRec is running at the same time – Which is not allowed and could interfere with the audio device. There is a check function if VNC is running remote.
  • Added more buffer size options – if experiencing over-runs. The W64 format seems to always report buffer errors if the USB stick is too slow. A lower buffer size as 130K seems to work better for the format W64.
  • Fixed an error when more than 4 audio devices are present in system when using the touch GUI.

Check the Z-LiveRec V2.26 Manual for more information and details.

A free update is available for registered users (Login to “My Account” and download the latest edition or use the e-mail download link from the original order acknowledgement) and free demo/trial version is also available for everybody else to try the app!

Please note: Using the auto update function in Z-LiveRec (for registered users) – You will find a zip file in the PI/Home directory – and you can just extract the zip file yourself – and the V2.26 version will show up.

The update process will try to unzip Z-LiveRec and overwrite the old version of the app – and a chmod r+x command can be required to get the V2.26 version to run again. See the manual for more information.

Best regards Anders / Z-LiveRec.com

Using Behringer Flow 8 with Z-LiveRec

Maybe a bit off topic…but maybe some interest anyway. A client have a outdoor gig and without any supply of external power…and asked if I was able to fulfill such request. And with a Behringer Flow 8, a power bank of 40000mA, 2x Mackie Freeplay 150W speakers…I think I can say yes! 🙂

Of course, I also had to test if I was able to record 8 channels from the Flow 8 using my Raspberry PI multitrack recorder – www.z-liverec.com using the same power bank…and the answer was yes even here – but the solution consumes power. The battery will probably last for 1-1.5 hours) 🙂

But Z-LiveRec recorded 8 channels without any problems – you are even able to record the bluetooth stream (channel 9-10) at the same time. Note that the Flow 8 only have 4 USB return channels – so it is not possible to playback channels to make a virtual soundcheck etc.

But a pretty neat small environment!

Measuring storage performance on Raspberry PI.

The background for this post was that some Z-LiveRec users experienced problems with USB Sticks formatted in exFAT format and using the resources demanding W64 file format. The idea with using exFAT is the ability to utilize larger storage medias without any limits in file size – compared FAT32 which limit single files to 4GB. W64 is a wav format which is using 64 bits file structure…and supports unlimited file sizes – compared to wav which has a limit on 2GB.

By using W64 on exFAT…Z-LiveRec is able to store multitrack files which easily can be like 22GB for a 1.5h recordings with 48 channels. But it is here some users have started to see problems – a lot of buffer overruns was reported in Z-LiveRec. If selecting less channels – the problem disappears. Note: there is also another unlimited format available in Z-LiveRec called “CAF” (Apples multitrack format) which have the same characteristics as W64 – which seems to run more smooth and is nicer in performance for a Raspberry PI – so one solution is to use this format instead.

But why do W64 report a lot of buffer overruns in exfat? I had to investigate this more in detail – especially if using FAT32 instead – no problem was reported. 🙂

Equipment used:

  • Raspberry PI 4B with 2GB RAM.
  • Sandisk Ultrafit 64GB, USB 3.1 Stick. (130MB/s for reading and 55 MB/s writing)
  • Sandisk Extreme Go 64GB USB 3.2 stick (395 MB read/s and a write speed of 100 MB/s)
  • Samsung TEAM SX2 – 120GB SSD drive.
  • Behringer XR18
  • Raspberry PI OS “10” BUSTER 32 Bit.
  • Raspberry PI OS ”11” BULLSEYE 32 bit

First check the version of the Raspberry PI OS used:

cat /etc/os-versions

Ok – in theory – can a storage device be measured by Raspberry PI? Yes by moving to the drive you want to measure:

cd /media/pi/$HARD_DRIVE_LABEL

and then execute the following code:

dd if=/dev/zero of=test.bin bs=10M count=100

and the system will show: (Takes a little while)

100+0 records in
100+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 755.422 s, 1.4 MB/s

The system will show the write speed – e.g. 1.4MB in this case! (Too Slow!)

Ok, using this info and apply it to our storage devices used will give us the following data:

DeviceFilesystemWrite speed
Sandisk Ultrafit 16GB on Buster OSFAT3210,2MB/s
Sandisk Ultrafit 16GB on Buster OSexFAT5.9 MB/s
Sandisk Ultrafit 16GB on Buster OSNFTS15,7 MB/s
TEAM GROUP SX2 SSD over USB 2 on Buster OSFAT3233,8 MB/s
TEAM GROUP SX2 SSD over USB 2 on Buster OSexFAT36,8 MB/s
TEAM GROUP SX2 SSD over USB 2on Buster OSNTFS30 MB/s
Sandisk Ultrafit 16GB on Bullseye OSexFAT15,3 MB/s
Sandisk Extreme Go 64GB USB 3.2 stickexFAT12,6 MB/s

Ok, when used these storage types in Z-LiveRec with w64 format!

DeviceFile systemRecording sizebuffer sizechannelsBuffer Overruns
Sandisk Ultrafit 16GB on BusterexFAT6GB1MB486
Sandisk Ultrafit 16GB on BusterexFAT4GB1MB183
Sandisk Ultrafit 16GB on BusterexFAT4GB256K181
Sandisk Ultrafit 16GB on BusterexFAT16GB256K1816
Sandisk Ultrafit 16GB on BusterexFAT16GB128K4817
Sandisk Ultrafit 16GB on BusterNTFS16GB1MB3210
Sandisk Ultrafit 16GB on BusterNTFS16GB1MB180
TEAM SX2 on BusterNTFS22GB1MB328
Sandisk Extreme Go 64GB on BullseyeexFAT15GB1MB180

Conclusion

ExFAT seems to have performance problems in Buster…but works great in Bullseye! It seems like a faster USB stick makes great improvements to the write speed. Another recommendation is to use Sandisk Extreme Go USB 3.2 Flash drives with 64GB – which has a read speed of 395 MB read/s and a write speed of 100 MB/s. Compared to the Sandisk Ultra Slim Fit – which has a read speed on 150MB/S and a write speed on 55MB/S – the Extreme GO USB stick can improve the situation with experienced buffer overruns a lot! (e.g Zero overruns!)