Focusrite Scarlett Solo

Greetings. I would like to try to change the sound card from internal (Hifiberry Stage) to external (Focusrite Scarlett Solo) to improve the sound quality. The problem is that the Focusrite only powers itself via the USB cable connected to Zynthian. I have the impression, however, that in this way (via USB) no power reaches the Focusrite (which in fact does not turn on) and therefore Zynthian does not see the external card. Thanks for your help

You may have a device that is not supported by Linux or that requires extra drivers. The Focusrite Scarlett Solo is not USB class compliant so requires drivers to work on any operating system. This discussion suggests that earlier models may have Linux drivers but later (v3) do not. With it plugged in, run lsusb from a command prompt and post the results here.

BTW - what improvement of sound quality do you expect? Is there a specific issue with the Hifiberry Stage you are trying to resolve? It is useful feedback in case we need to improve the ZynADAC derivative in the future.

Thanks Riban for your reply. These are the LSUSB results:
root@zynthian://zynthian# lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Furthermore, I do not have an operating problem but by comparing the sound, for example of Pianoteq, processed by the internal and external sound card, clear differences in timbre emerge. The sound of the piano converted by Hifiberry appears thinner, less full… in short, of lower quality than that generated by an external card.
root@zynthian://zynthian#

lsusb isn’t showing anything plugged in. Is the Focusrite plugged in and turned on?

How are you comparing internal / external if you don’t have the Focusrite working?

I specified in the first message that “The problem is that the Focusrite only powers itself via the USB cable connected to Zynthian. I have the impression, however, that in this way (via USB) no power reaches the Focusrite (which in fact does not turn on) and therefore Zynthian does not see the external card.”
That’s why it doesn’t work … but how can I fix it?
I made the comparison between the pianoteq sound from a windows app on an external card and the sound from zynthian with an internal card.

Raspberry Pi can power external equipment via USB, indeed I power an external MIDI interface and have used a USB audio device too. You need to be sure that the power supply has sufficient power / current rating. 3A should do it. I would expect the USB device to show to lsusb, even if it didn’t appear to power up. Devices that need drivers need to present themselves via USB so that the computer can identify them. Some may require drivers to enable them and may appear unpowered until that has happened. The USB MIDI device I use (MIDISport) is like that, appearing dead until the driver loads.

Pianoteq on Windows is likely to be configured with a higher internal sample rate, e.g. 44100 whereas Zynthian configures Pianoteq with a lower internal samplerate, e.g. 22050 to reduce CPU usage. This will result in a duller sound as it will roll off at about 10kHz. I doubt you will observe much (if any) improvement with the Focusrite. They are good soundcards but so is the Hifiberry.

You can access Pianoteq GUI via VNC and change its internal sample rate to a higher value to hear if it compares with your Windows test. It is likely to start clicking as it triggers xruns but you may be able to satisfy yourself whether the built-in soundcard is causing degradation.

Also a strong Power Supply and a heavy USB cable are needed for not suffering from underpower.

Now, in 2024, the Scarlett is already recognized by Linux. What would be a good jackd configuration to use the Scarlett Solo 3rd Gen with Zynthian?

@stefano.bellotta Are you still using the Scarlett? Could you share this tip?

It’s possible we could get further now, if in fact it shows up.

Also checkout Geoffrey Bennets alsa-scarlett-gui if using Scarletts.

Hint: The dev branch even brings (limited) support for 1st gen Scarletts.
And it runs on zynthian!
This did the job for me (Scarlett 18i8 1st gen):

apt install libgtk-4-dev
git clone -b dev https://github.com/geoffreybennett/alsa-scarlett-gui
cd alsa-scarlett-gui/src
make -j4
make install
1 Like

The last generations of Scarletts are definitely UAC class compliant. Geoffrey’s driver only allows access to the complex audio routing features and the mixer (and firmware update) of the interface. It is included by default in Linux kernel since version 6.8. The above mentioned repository contains a custom UI to the driver, providing easier way of configuration for all the routing and mixer capabilities - something that should in theory be possible also with the plain alsamixer, but one would apparently get completely lost in all the hundreds of options there. This way, his UI allows even configurations/combinations inaccessible from Windows/MacOS using Focusrite’s official software. It looks like the Scarletts currently have the best Linux support of all the current audio interfaces.

Fucusrite even lately provided Geoffrey with their latest models and promised him more technical support if necessary. I have just been in contact with him and he is currently rewriting the whole system and moving partly into the userspace. Apparently, the HW features and inner working (names, addresses) change depending on the firmware, so that the Linux interface/driver must be able to flexibly adapt to particular firmware version rather that just a “fixed piece of hardware”.

2 Likes