diff --git a/FAQ.md b/FAQ.md index a1dec8e..9b3c198 100644 --- a/FAQ.md +++ b/FAQ.md @@ -4,11 +4,11 @@ The Scarlett2 Protocol Driver (also known as the Scarlett2 Mixer Driver) is a part of the Linux kernel, enhancing the ALSA kernel -driver with additional controls for Focusrite Scarlett and Clarett -interfaces. +driver with additional controls for Focusrite Scarlett, Clarett, and +Vocaster interfaces. -To check your current version or for upgrade instructions, see the -[Control Panel Installation Prerequisites — Linux +To check if your kernel is already up-to-date, and how to upgrade if +not, see the [Control Panel Installation Prerequisites — Linux Kernel](https://github.com/geoffreybennett/alsa-scarlett-gui/blob/master/INSTALL.md). `alsa-scarlett-gui` is an easy-to-use application to adjust those @@ -19,7 +19,7 @@ controls. In order to get audio working? No. Focusrite USB interfaces are “plug-and-play” — they are USB Audio Class Compliant, meaning they work out-of-the-box with the standard ALSA USB audio driver (to get -full functionality on Scarlett 3rd/4th Gen interfaces, first +full functionality on Scarlett 3rd/4th Gen/Vocaster interfaces, first deactivate MSD mode by holding down the 48V button while powering it on). @@ -31,22 +31,22 @@ on). If MSD Mode is enabled, you need to disable it and restart your interface to get access to its full functionality. -When you plug the interface in, there'll be a tiny read-only virtual +When you plug the interface in, there’ll be a tiny read-only virtual disk that has a link to the Focusrite product registration page; until you turn off MSD Mode not all features of the interface will be available. You can turn off MSD Mode by holding down the 48V button while powering on the interface, or by clicking the button in -`alsa-scarlett-gui`. +`alsa-scarlett-gui` and rebooting it. -## What is the purpose of the driver if it's not needed for audio? +## What is the purpose of the driver if it’s not needed for audio? This driver is for users who want more control over their interface. It allows for detailed manipulation of internal audio routing and -settings specific to Scarlett and Clarett devices, beyond the basic -audio I/O functionality. Also, being able to monitor the audio levels -seen by the interface is really useful. +settings specific to Scarlett, Clarett, and Vocaster devices, beyond +the basic audio I/O functionality. Also, being able to monitor the +audio levels seen by the interface is really useful. ## What interfaces are supported? @@ -56,8 +56,12 @@ seen by the interface is really useful. - All Scarlett 3rd Gen interfaces. +- Scarlett 4th Gen Solo, 2i2, and 4i4. + - All Clarett USB and Clarett+ interfaces. +- Vocaster One and Vocaster Two. + ## Where are the options to set the sample rate and buffer size? It’s important to note that the Scarlett2 driver and @@ -72,10 +76,6 @@ sound server such as PulseAudio, JACK, or PipeWire. Note that not all features are available at higher sample rates; refer to the user manual of your interface for more information. -## Scarlett Gen 4? Vocaster? - -Support coming soon. Email me if you want to help test. - ## Help?! For help with the driver: diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index 238a6b4..0000000 --- a/INSTALL.md +++ /dev/null @@ -1,184 +0,0 @@ -# ALSA Scarlett2 Control Panel Installation - -## Prerequisites - -### Linux Kernel - -You need to be running a Linux Kernel that has the ALSA Scarlett2 -Protocol Driver. Use `uname -r` to check what kernel version you are -running. - -- Use at least version 5.14 for Scarlett Gen 3 support and bug fixes - for the Gen 2 support. -- For Clarett+ 8Pre support, you need 6.1. -- For the other Clarett USB and Clarett+ models, you need 6.7. -- For the level meters to work, you need 6.7. - -If you don't have 6.7, you can get the driver from here and build it -for your current kernel: - -https://github.com/geoffreybennett/scarlett-gen2/releases/tag/v6.5.11c1 - -### Gtk4 - -You need a Linux distribution with Gtk4 development libraries. If it -doesn't have them natively, try the Flatpak instructions below. - -## Enabling the Driver - -As of Linux 6.7 the driver is enabled by default and you can skip this -section. - -If you're running a kernel before 6.7, the driver needs to be enabled -at module load time with the `device_setup=1` option to -insmod/modprobe. Create a file /etc/modprobe.d/scarlett.conf -containing the appropriate line for your device: - -Scarlett Gen 2: - -- 6i6: `options snd_usb_audio vid=0x1235 pid=0x8203 device_setup=1` -- 18i8: `options snd_usb_audio vid=0x1235 pid=0x8204 device_setup=1` -- 18i20: `options snd_usb_audio vid=0x1235 pid=0x8201 device_setup=1` - -Scarlett Gen 3: - -- Solo: `options snd_usb_audio vid=0x1235 pid=0x8211 device_setup=1` -- 2i2: `options snd_usb_audio vid=0x1235 pid=0x8210 device_setup=1` -- 4i4: `options snd_usb_audio vid=0x1235 pid=0x8212 device_setup=1` -- 8i6: `options snd_usb_audio vid=0x1235 pid=0x8213 device_setup=1` -- 18i8: `options snd_usb_audio vid=0x1235 pid=0x8214 device_setup=1` -- 18i20: `options snd_usb_audio vid=0x1235 pid=0x8215 device_setup=1` - -Clarett+: - -- 8Pre: `options snd_usb_audio vid=0x1235 pid=0x820c device_setup=1` - -Or you can use a sledgehammer: -``` -options snd_usb_audio device_setup=1,1,1,1 -``` -to pass that option to the first 4 USB audio devices. - -To see if the driver is present and enabled: `dmesg | grep -i -A 5 -B -5 focusrite` should display information like: - -``` -New USB device found, idVendor=1235, idProduct=8215, bcdDevice= 6.0b -Product: Scarlett 18i20 USB -Focusrite Scarlett Gen 2/3 Mixer Driver enabled pid=0x8215 -``` - -If the driver is disabled you’ll see a message like: - -``` -Focusrite Scarlett Gen 2/3 Mixer Driver disabled; use options -snd_usb_audio vid=0x1235 pid=0x8215 device_setup=1 to enable and -report any issues to g@b4.vu -``` - -### Firmware - -As of Linux 6.8, firmware updates of all the supported interfaces can -be done through Linux. This is mandatory for Scarlett 4th Gen and -Vocaster interfaces (unless you've already updated it using the -manufacturer's software), and optional for Scarlett 2nd and 3rd Gen, -Clarett USB, and Clarett+ interfaces. - -Download the firmware from -https://github.com/geoffreybennett/scarlett2-firmware and place in -`/usr/lib/firmware/scarlett2` or use the RPM/deb package. - -## Building and Running - -On Fedora, these packages need to be installed: - -``` -sudo dnf -y install alsa-lib-devel gtk4-devel openssl-devel -``` - -On OpenSUSE: - -``` -sudo zypper in git alsa-devel gtk4-devel libopenssl-devel -``` - -On Ubuntu: - -``` -sudo apt -y install git make gcc libgtk-4-dev libasound2-dev libssl-dev -``` - -To download from github: - -``` -git clone https://github.com/geoffreybennett/alsa-scarlett-gui -cd alsa-scarlett-gui -``` - -To build: - -``` -cd src -make -j4 -``` - -To run: - -``` -./alsa-scarlett-gui -``` - -You can install it into `/usr/local` (binary, desktop file, and icon) -with: - -``` -sudo make install -``` - -And uninstall with: - -``` -sudo make uninstall -``` - -Continue on to reading [USAGE.md](USAGE.md) for usage information and -known issues. - -## Flatpak - -With Flatpak, in any distro: - -``` -flatpak-builder --user --install --force-clean flatpak-build \ - vu.b4.alsa-scarlett-gui.yml -``` - -Be sure to use `flatpak-build` as the directory where the flatpak is -built or hence you risk bundling the artifacts when committing! - -If you get messages like these: - -``` -Failed to init: Unable to find sdk org.gnome.Sdk version 45 -Failed to init: Unable to find runtime org.gnome.Platform version 45 -``` - -Then install them: - -``` -flatpak install org.gnome.Sdk -flatpak install org.gnome.Platform -``` - -If you get: - -``` -Looking for matches… -error: No remote refs found for ‘org.gnome.Sdk’ -``` - -Then: - -``` -flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -``` diff --git a/INTERFACES.md b/INTERFACES.md deleted file mode 100644 index c23dd3a..0000000 --- a/INTERFACES.md +++ /dev/null @@ -1,579 +0,0 @@ -# Focusrite Scarlett and Clarett Interface Features by Model - -The information here was compiled carefully and is believed accurate -but there might still be mistakes. Please independently confirm before -relying on anything here. - -# Table of Contents - -- [Scarlett 6i6 Gen 2](#scarlett-6i6-gen-2) -- [Scarlett 18i8 Gen 2](#scarlett-18i8-gen-2) -- [Scarlett 18i20 Gen 2](#scarlett-18i20-gen-2) -- [Scarlett Solo Gen 3](#scarlett-solo-gen-3) -- [Scarlett 2i2 Gen 3](#scarlett-2i2-gen-3) -- [Scarlett 4i4 Gen 3](#scarlett-4i4-gen-3) -- [Scarlett 8i6 Gen 3](#scarlett-8i6-gen-3) -- [Scarlett 18i8 Gen 3](#scarlett-18i8-gen-3) -- [Scarlett 18i20 Gen 3](#scarlett-18i20-gen-3) -- [Clarett 2Pre USB and Clarett+ 2Pre](#clarett-2pre-usb-and-clarett-2pre) -- [Clarett 4Pre USB and Clarett+ 4Pre](#clarett-4pre-usb-and-clarett-4pre) -- [Clarett 8Pre USB and Clarett+ 8Pre](#clarett-8pre-usb-and-clarett-8pre) - -## Scarlett 6i6 Gen 2 - -- 6× Hardware Inputs - - Analogue In 1–2: Mic/Line/Inst In 1–2 (Pad) - - Analogue In 3–4: Line In 3–4 - - S/PDIF 1–2 - -- Hardware Input Controls - - 2× Input Gain knobs for Analogue In 1–2 - - Fixed Input Gain for Analogue In 3–4 - - Phantom Power for Analogue 1–2 linked - -- 6× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) + Headphone 1 Left - - Analogue 2: Line 2 Out (Monitor R) + Headphone 1 Right - - Analogue 3: Line 3 Out + Headphone 2 Left - - Analogue 4: Line 4 Out + Headphone 2 Right - - S/PDIF 1–2 - -- Hardware Output Controls - - Monitor volume knob controlling Line 1+2 - - No physical control for Line 3+4 output volume - - Headphone 1 volume knob controlling Headphone 1 Volume - - Headphone 2 volume knob controlling Headphone 2 Volume - - 4× Mute + Line Out Gain controls −127dB to 0dB - - 1–2 control Line 1–2 Out and Headphone 1 - - 3–4 control Line 3–4 Out and Headphone 2 - -- Mixer: 18 input (1–18), 10 output (A–J) - - 18×10 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 6× PCM Inputs (USB device to host) - -- 6× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–4, S/PDIF 1–2, Mix A–J, PCM Outputs 1–6 - -- Sync Status - -- Clock Source: Internal or S/PDIF - -## Scarlett 18i8 Gen 2 - -- 18× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Pad) - - Analogue 3–4: Mic/Line In 3–4 (Pad) - - Analogue 5–8: Line In 5–8 - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Input Controls - - 4× Input Gain knobs for Analogue In 1–4 - - Fixed Input Gain for Analogue In 5–8 - - Phantom Power for Analogue 1–2 linked - - Phantom Power for Analogue 3–4 linked - -- 8× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Headphone 1 Left - - Analogue 4: Headphone 1 Right - - Analogue 5: Headphone 2 Left - - Analogue 6: Headphone 2 Right - - S/PDIF 1–2 - -- Hardware Output Controls - - Monitor volume knob controlling Line 1+2 - - Headphone 1 volume knob controlling Headphone 1 Volume - - Headphone 2 volume knob controlling Headphone 2 Volume - - 6× Mute + Line Out Gain controls −127dB to 0dB - - 1–2 control Line 1–2 Out - - 3–4 control Headphone 1 - - 5–6 control Headphone 2 - -- Mixer: 20 input (1–20), 10 output (A–J) - - 20×10 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 20× PCM Inputs (USB device to host) - -- 8× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–8, S/PDIF 1–2, ADAT 1–8, Mix A–J, PCM - Outputs 1–8 - -- Sync Status - -- Clock Source: Internal, S/PDIF, or ADAT - -## Scarlett 18i20 Gen 2 - -- 18× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Pad) - - Analogue 3–8: Mic/Line In 3–8 - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Input Controls - - 8× Input Gain knobs for Analogue In 1–8 - - Phantom Power for Analogue 1–4 linked - - Phantom Power for Analogue 5–8 linked - -- 20× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Line 3 Out - - Analogue 4: Line 4 Out - - Analogue 5: Line 5 Out - - Analogue 6: Line 6 Out - - Analogue 7: Line 7 Out + Headphone 1 Left - - Analogue 8: Line 8 Out + Headphone 1 Right - - Analogue 9: Line 9 Out + Headphone 2 Left - - Analogue 10: Line 10 Out + Headphone 2 Right - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Output Controls - - For Analogue 1–8 Outputs: - - 8× SW/HW Volume Control Switch - - 8× SW Line Out Gain controls −127dB to 0dB - - 8× SW Mute - - Monitor volume knob controlling volume of Analogue 1–8 (selected - by SW/HW Volume Control Switches) - - Global Mute and Dim controlling Analogue 1–8 (enabled per-channel - if SW/HW Volume Control Switch set to HW) - - 2× Headphone volume knob controlling Headphone volume (applied in - addition to the SW/HW Volume Control) - -- Mixer: 20 input (1–20), 10 output (A–J) - - 20×10 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 20× PCM Inputs (USB device to host) - -- 18× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–8, S/PDIF 1–2, ADAT 1–8, Mix A–J, PCM - Outputs 1–8 - -- Sync Status - -- Clock Source: Internal, S/PDIF, or ADAT - -## Scarlett Solo Gen 3 - -- 2× Hardware Inputs - - Analogue In 1: Mic In (Air, Phantom Power) - - Analogue In 2: Line/Inst In - -- Hardware Input Controls - - 2× Input Gain knobs for Analogue 1–2 - - Phantom Power Persistence - -- 2× Hardware Outputs - - Analogue Out 1: Line Out Left + Headphone Left - - Analogue Out 2: Line Out Right + Headphone Right - -- Hardware Output Controls - - Monitor volume knob controls all outputs together - -- 2× PCM Inputs (USB device to host) - - Fixed to Analogue Inputs 1–2 - -- 2× PCM Outputs (USB host to device) - - Fixed to Analogue Outputs 1–2 - -- Direct Monitor: - - On: mixes Analogue 1+2 Inputs into both Analogue 1+2 Outputs - -## Scarlett 2i2 Gen 3 - -- 2× Hardware Inputs - - Analogue In 1–2: Mic/Line/Inst In 1–2 (Air) - -- Hardware Input Controls - - 2× Input Gain knobs for Analogue 1–2 - - Phantom Power for Analogue 1–2 linked - - Phantom Power Persistence - -- 2× Hardware Outputs - - Analogue Out 1: Line Out Left + Headphone Left - - Analogue Out 2: Line Out Right + Headphone Right - -- Hardware Output Controls - - Monitor volume knob for Line Out Left and Right - - Headphone volume knob for Headphone - -- 2× PCM Inputs (USB device to host) - - Fixed to Analogue Inputs 1–2 - -- 2× PCM Outputs (USB host to device) - - Fixed to Analogue Outputs 1–2 - -- Direct Monitor: - - Mono: mixes both Analogue 1+2 Inputs into both Analogue 1+2 - Outputs - - Stereo: mixes Analogue 1+2 Inputs into Analogue 1+2 Outputs - respectively - -## Scarlett 4i4 Gen 3 - -- 4× Hardware Inputs - - Analogue In 1–2: Mic/Line/Inst In 1–2 (Air, Pad) - - Analogue In 3–4: Line In 3–4 - -- Hardware Input Controls - - 2× Input Gain knobs for Analogue In 1–2 - - Fixed Input Gain for Analogue In 3–4 - - Phantom Power for Analogue 1–2 linked - - Phantom Power Persistence - -- 4× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Line 3 Out + Headphone Left - - Analogue 4: Line 4 Out + Headphone Right - -- Hardware Output Controls - - Monitor volume knob controlling Line 1+2 - - Headphone volume knob controlling Headphone volume - - No physical control for Line 3+4 output volume - - 4× Mute + Line Out Gain controls −127dB to 0dB - - 1–2 control Line 1–2 Out - - 3–4 control Line 3–4 Out and Headphone - -- Mixer: 8 input (1–8), 6 output (A–F) - - 8×6 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 6× PCM Inputs (USB device to host) - -- 4× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–4, Mix A–F, PCM Outputs 1–4 - -- Sync Status - -## Scarlett 8i6 Gen 3 - -- 8× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Air, Pad) - - Analogue 3–6: Line In 3–6 - - S/PDIF 1–2 - -- Hardware Input Controls - - 2× Input Gain knobs for Analogue In 1–2 - - Fixed Input Gain for Analogue In 3–6 - - Phantom Power for Analogue 1–2 linked - - Phantom Power Persistence - -- 6× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) + Headphone 1 Left - - Analogue 2: Line 2 Out (Monitor R) + Headphone 1 Right - - Analogue 3: Line 3 Out + Headphone 2 Left - - Analogue 4: Line 4 Out + Headphone 2 Right - - S/PDIF 1–2 - -- Hardware Output Controls - - Monitor volume knob controlling Line 1+2 - - No physical control for Line 3+4 output volume - - Headphone 1 volume knob controlling Headphone 1 Volume - - Headphone 2 volume knob controlling Headphone 2 Volume - - 4× Line Out Gain controls −127dB to 0dB - - 1–2 control Line 1–2 Out and Headphone 1 - - 3–4 control Line 3–4 Out and Headphone 2 - -- Mixer: 8 input (1–8), 8 output (A–H) - - 8×8 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 10× PCM Inputs (USB device to host) - -- 6× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–6, S/PDIF 1–2, Mix A–H, PCM Outputs 1–6 - -- Sync Status - -- Clock Source: Internal or S/PDIF - -## Scarlett 18i8 Gen 3 - -- 18× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Air, Pad) - - Analogue 3–4: Mic/Line In 3–4 (Air, Pad) - - Analogue 5–8: Line In 5–8 - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Input Controls - - 4× Input Gain knobs for Analogue In 1–4 - - Fixed Input Gain for Analogue In 5–8 - - Phantom Power for Analogue 1–2 linked - - Phantom Power for Analogue 3–4 linked - - Phantom Power Persistence - -- 10× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Line 3 Out (Alt Monitor L) - - Analogue 4: Line 4 Out (Alt Monitor R) - - Analogue 5: Headphone 1 Left - - Analogue 6: Headphone 1 Right - - Analogue 7: Headphone 2 Left - - Analogue 8: Headphone 2 Right - - S/PDIF 1–2 - -Note: The Headphones outputs are internally Analogue 3–6 and the rear -Line 3/4 outputs (Alt Monitor) are internally Analogue 7/8, but the -driver hides this from you. - -- Hardware Output Controls - - For Analogue 1–8 Outputs: - - 8× SW/HW Volume Control Switch - - 8× SW Line Out Gain controls −127dB to 0dB - - 8× SW Mute - - Monitor volume knob controlling volume of Analogue 1–8 (selected - by SW/HW Volume Control Switches) - - Global mute and dim controlling Analogue 1–8 (enabled per-channel - if SW/HW Volume Control Switch set to HW) - - 2× Headphone volume knob controlling Headphone volume (applied in - addition to the SW/HW Volume Control) - -- Mixer: 18 input (1–18), 10 output (A–J) - - 18×10 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 18× PCM Inputs (USB device to host) - -- 8× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–8, S/PDIF 1–2, ADAT 1–8, Mix A–J, PCM - Outputs 1–20 - -- Speaker Switching - -- Sync Status - -- Clock Source: Internal, S/PDIF, or ADAT - -## Scarlett 18i20 Gen 3 - -- 19× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Air, Pad) - - Analogue 3–8: Mic/Line In 3–8 (Air, Pad) - - Analogue 9: Talkback Mic - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Input Controls - - 8× Input Gain knobs for Analogue In 1–8 - - Phantom Power for Analogue 1–4 linked - - Phantom Power for Analogue 5–8 linked - - Phantom Power Persistence - -- 20× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Line 3 Out - - Analogue 4: Line 4 Out - - Analogue 5: Line 5 Out - - Analogue 6: Line 6 Out - - Analogue 7: Line 7 Out + Headphone 1 Left - - Analogue 8: Line 8 Out + Headphone 1 Right - - Analogue 9: Line 9 Out + Headphone 2 Left - - Analogue 10: Line 10 Out + Headphone 2 Right - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Output Controls - - For Analogue 1–8 Outputs: - - 8× SW/HW Volume Control Switch - - 8× SW Line Out Gain controls −127dB to 0dB - - 8× SW Mute - - Monitor volume knob controlling volume of Analogue 1–8 (selected - by SW/HW Volume Control Switches) - - Global Mute and Dim controlling Analogue 1–8 (enabled per-channel - if SW/HW Volume Control Switch set to HW) - - 2× Headphone volume knob controlling Headphone volume (applied in - addition to the SW/HW Volume Control) - -- Mixer: 25 input (1–25), 12 output (A–L) - - 25×12 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 20× PCM Inputs (USB device to host) - -- 20× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–8, S/PDIF 1–2, ADAT 1–8, Mix A–L, PCM - Outputs 1–8 - -- Speaker Switching - -- Talkback Mic - -- Sync Status - -- Clock Source: Internal, S/PDIF, or ADAT - -## Clarett 2Pre USB and Clarett+ 2Pre - -- 12× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Air) - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Input Controls - - 2× Input Gain knobs for Analogue In 1–2 - - Phantom Power for Analogue 1–2 separate - -- 4× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Line 3 Out + Headphone Left - - Analogue 4: Line 4 Out + Headphone Right - -- Hardware Output Controls - - For Analogue 1–4 Outputs: - - 4× SW/HW Volume Control Switch - - 4× SW Line Out Gain controls −127dB to 0dB - - 4× SW Mute - - Monitor volume knob controlling volume of Analogue 1–4 (selected - by SW/HW Volume Control Switches) - - Global Mute and Dim controlling Analogue 1–4 (enabled per-channel - if SW/HW Volume Control Switch set to HW) - - Headphone volume knob controlling Headphone volume (applied in - addition to the SW/HW Volume Control) - -- Mixer: 18 input (1–18), 10 output (A–J) - - 18×10 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 12× PCM Inputs (USB device to host) - -- 4× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–2, S/PDIF 1–2, ADAT 1–8, Mix A–J, PCM - Outputs 1–4 - -- Sync Status - -- Clock Source: Internal, S/PDIF, or ADAT - -## Clarett 4Pre USB and Clarett+ 4Pre - -- 12× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Air) - - Analogue 3–4: Mic/Line In 3–4 (Air) - - Analogue 4–8: Mic/Line In 4–8 - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Input Controls - - 4× Input Gain knobs for Analogue In 1–4 - - Phantom Power for Analogue 1–2 linked - - Phantom Power for Analogue 3–4 linked - -- 8× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Line 3 Out + Headphone 1 Left - - Analogue 4: Line 4 Out + Headphone 1 Right - - Analogue 5: Line 5 Out + Headphone 2 Left - - Analogue 6: Line 6 Out + Headphone 2 Right - - S/PDIF 1–2 - -- Hardware Output Controls - - For Analogue 1–6 Outputs: - - 6× SW/HW Volume Control Switch - - 6× SW Line Out Gain controls −127dB to 0dB - - 6× SW Mute - - Monitor volume knob controlling volume of Analogue 1–6 (selected - by SW/HW Volume Control Switches) - - Global Mute and Dim controlling Analogue 1–6 (enabled per-channel - if SW/HW Volume Control Switch set to HW) - - 2× Headphone volume knob controlling Headphone volume (applied in - addition to the SW/HW Volume Control) - -- Mixer: 18 input (1–18), 10 output (A–J) - - 18×10 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 18× PCM Inputs (USB device to host) - -- 8× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–8, S/PDIF 1–2, ADAT 1–8, Mix A–J, PCM - Outputs 1–8 - -- Sync Status - -- Clock Source: Internal, S/PDIF, or ADAT - -## Clarett 8Pre USB and Clarett+ 8Pre - -- 18× Hardware Inputs - - Analogue 1–2: Mic/Line/Inst In 1–2 (Air) - - Analogue 3–8: Mic/Line In 3–8 (Air) - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Input Controls - - 8× Input Gain knobs for Analogue In 1–8 - - Phantom Power for Analogue 1–4 linked - - Phantom Power for Analogue 5–8 linked - -- 20× Hardware Outputs - - Analogue 1: Line 1 Out (Monitor L) - - Analogue 2: Line 2 Out (Monitor R) - - Analogue 3: Line 3 Out - - Analogue 4: Line 4 Out - - Analogue 5: Line 5 Out - - Analogue 6: Line 6 Out - - Analogue 7: Line 7 Out + Headphone 1 Left - - Analogue 8: Line 8 Out + Headphone 1 Right - - Analogue 9: Line 9 Out + Headphone 2 Left - - Analogue 10: Line 10 Out + Headphone 2 Right - - S/PDIF 1–2 - - ADAT 1–8 - -- Hardware Output Controls - - For Analogue 1–10 Outputs: - - 6× SW/HW Volume Control Switch - - 6× SW Line Out Gain controls −127dB to 0dB - - 6× SW Mute - - Monitor volume knob controlling volume of Analogue 1–10 (selected - by SW/HW Volume Control Switches) - - Global Mute and Dim controlling Analogue 1–10 (enabled per-channel - if SW/HW Volume Control Switch set to HW) - - 2× Headphone volume knob controlling Headphone volume (applied in - addition to the SW/HW Volume Control) - -- Mixer: 18 input (1–18), 10 output (A–J) - - 18×10 gain controls −80dB to +6dB - - Each input assignable to any of the assignable outputs - -- 18× PCM Inputs (USB device to host) - -- 20× PCM Outputs (USB host to device) - -- Assignable outputs to the hardware outputs, mixer, and PCM Inputs: - - Off, Analogue Inputs 1–8, S/PDIF 1–2, ADAT 1–8, Mix A–J, PCM - Outputs 1–20 - -- Sync Status - -- Clock Source: Internal, S/PDIF, or ADAT diff --git a/README.md b/README.md index a6e1817..bc28f71 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,12 @@ the Linux kernel Focusrite Scarlett2 USB Protocol Mixer Driver. Supported interfaces: -- Scarlett 2nd Gen 6i6, 18i8, 18i20 (the smaller interfaces are - controlled with physical buttons only) +- Scarlett 2nd Gen 6i6, 18i8, 18i20 - Scarlett 3rd Gen Solo, 2i2, 4i4, 8i6, 18i8, 18i20 +- Scarlett 4th Gen Solo, 2i2, 4i4 - Clarett 2Pre, 4Pre, 8Pre USB - Clarett+ 2Pre, 4Pre, 8Pre +- Vocaster One and Vocaster Two ## About @@ -16,64 +17,50 @@ Supported interfaces: The Focusrite USB audio interfaces are class compliant meaning that they work “out of the box” on Linux as audio and MIDI interfaces -(although on Gen 3/4 you need to disable MSD mode first for full -functionality). However, except for some of the smallest models, they -have a bunch of proprietary functionality that required a kernel +(although on Gen 3/4/Vocaster you need to disable MSD mode first for +full functionality). However, except for some of the smallest models, +they have a bunch of proprietary functionality that required a kernel driver to be written specifically for those devices. -Linux kernel support (the “ALSA Focusrite Scarlett2 USB Protocol Mixer -Driver”) for the proprietary functionality was first added in: -- Scarlett Gen 2: Linux 5.4 (bugs fixed in Linux 5.14) -- Scarlett Gen 3: Linux 5.14 -- Clarett+ 8Pre: Linux 6.1 -- Clarett 2Pre/4Pre/8Pre USB, Clarett+ 2Pre/4Pre: Linux 6.7 - Unfortunately, actually using this functionality used to be quite an awful experience. The existing applications like `alsamixer` and `qasmixer` become completely user-hostile with the hundreds of controls presented for the Gen 3 18i20. Even the smallest Gen 3 4i4 interface at last count had 84 ALSA controls. -Announcing the ALSA Scarlett Gen 2/3 (and Clarett USB/Clarett+!) -Control Panel! +Announcing the ALSA Scarlett2 Control Panel, now supporting Scarlett +Gen 2, 3, 4, Clarett, and Vocaster! ![Demonstration](img/demo.gif) -The GUI supports all features presented by the driver (if not, please -report a bug). - ## Documentation -Refer to [INSTALL.md](INSTALL.md) for prerequisites, how to build, -install, and run. +Refer to [INSTALL.md](docs/INSTALL.md) for prerequisites, how to +build, install, and run. -Refer to [USAGE.md](USAGE.md) for usage information and known issues. +Refer to [USAGE.md](docs/USAGE.md) for general usage information and +known issues. + +Information specific to various models: + +- [Scarlett 3rd Gen Solo and 2i2](docs/iface-small.md) + +- [Scarlett 2nd Gen 6i6+, 3rd Gen 4i4+, Clarett USB, and + Clarett+](docs/iface-large.md) + +- [Scarlett 4th Gen](docs/iface-4th-gen.md) ## Donations This program is Free Software, developed using my personal resources, over hundreds of hours. -If you like this software, please consider a donation to say thank you -as it was expensive to purchase one of each model for development and -testing! Any donation is appreciated. +If you like this software, please consider a donation to say thank +you! Any donation is appreciated. - https://liberapay.com/gdb - https://paypal.me/gdbau -## Scarlett Gen 4 Support - -Focusrite recently released 3 new “Generation 4” interfaces: Solo, -2i2, and 4i4. The first draft of kernel support is available here: -https://github.com/geoffreybennett/scarlett-gen2/releases/tag/v6.5.11-g4.1 - -Please contact me by email if you would like to help test. - -## Vocaster Support - -Vocaster One and Two support will be coming once I've completed the -Scarlett 4th Gen support. - ## License Copyright 2022-2024 Geoffrey D. Bennett diff --git a/USAGE.md b/USAGE.md deleted file mode 100644 index de4684a..0000000 --- a/USAGE.md +++ /dev/null @@ -1,366 +0,0 @@ -# ALSA Scarlett2 Control Panel Usage - -Refer to [INSTALL.md](INSTALL.md) for prerequisites, how to build, -install, and run. - -For usage instructions, read on... - -## No interface connected - -If no interface is detected (usually because there isn’t one -connected!) you’ll see this window: - -![No Interface Connected](img/iface-none.png) - -Plug in an interface or select the menu option File → Interface -Simulation and load a demo file to make more interesting things -happen. - -## MSD (Mass Storage Device) Mode - -If MSD Mode is enabled (as it is from the factory), you need to -disable it and restart your interface to get access to its full -functionality. - -![MSD Mode](img/iface-msd.png) - -## Using on Small Interfaces - -For the small Gen 3 interfaces (Solo and 2i2), there’s just a few -buttons to control the Air, Line, Phantom Power, and Direct Monitor -settings. Mostly nothing that you can’t access from the front panel -anyway. - -![Gen 3 Small Interfaces](img/iface-small-gen3.png) - -The Line/Inst (Level), Air, and 48V controls are described below in -the Analogue Input Controls section. - -Direct Monitor sends the analogue input signals to the analogue -outputs for zero-latency monitoring. On the 2i2, you have the choice -of Mono or Stereo monitoring. Mono sends both inputs to the left and -right outputs. Stereo sends input 1 to the left, and input 2 to the -right output. - -The one control not accessible from the front panel is “Phantom Power -Persistence” (menu option View → Startup) which controls the Phantom -Power state when the interface is powered on. - -## Gen 2 6i6+, Gen 3 4i4+, Clarett USB, and Clarett+ Interfaces - -The Gen 2 6i6+, Gen 3 4i4+, and Clarett interfaces have many controls -available. The controls are split between 4 windows, 3 of which are by -default hidden. - -The main window has: -- Global Controls -- Analogue Input Controls -- Analogue Output Controls - -![Main Window](img/window-main.png) - -The View menu option on the main window lets you open three other -windows which contain the other controls: -- Routing -- Mixer -- Startup - -### Global Controls - -Global controls affect the operation of the interface as a whole. - -#### Clock Source - -Clock Source selects where the interface receives its digital clock -from. If you aren’t using S/PDIF or ADAT inputs, set this to Internal. - -#### Sync Status - -Sync Status indicates if the interface is locked to a valid digital -clock. If you aren’t using S/PDIF or ADAT inputs and the Sync Status -is Unlocked, change the Clock Source to Internal. - -#### Speaker Switching (18i8 Gen 3 and 18i20 Gen 3 only) - -Speaker Switching lets you swap between two pairs of monitoring -speakers very easily. - -When enabled (Main or Alt): - -- Line Out 1–4 Volume Control Switches are locked to HW -- Line Out 3/4 routing is saved -- Line Out 3/4 routing is set to the Line Out 1/2 routing - -When set to Main, Line outputs 3 and 4 are muted. - -When set to Alt, Line outputs 1 and 2 are muted. - -When disabled (Off): -- Global mute is activated -- Line Out 1–4 Volume Control Switches are unlocked -- Line Out 3/4 routing is restored to the saved values - -#### Talkback (18i20 Gen 3 only) - -Talkback lets you add another channel (usually the talkback mic) to a -mix with a button push, usually to talk to musicians, and without -using an additional mic channel. - -The Talkback feature has a few parts: - -- Talkback Microphone connected to Analogue Input 9 -- Talkback Disable/Enable internal switch -- Talkback Off/On physical switch -- Talkback Mix (one switch per mix) -- Mix Input 25 - -To set up the talkback feature, set Mix Input 25 to the talkback -source (usually Analogue Input 9), enable the Talkback Mix switches -for the mixes you want the talkback input to be heard on, and change -the Talkback control from Disabled to Off. Leave the Mix Input 25 gain -controls at zero (−127dB), otherwise the talkback inputs will be heard -even when talkback is disabled/off. - -Pressing the Talkback switch on the device will then lower the volume -of the other inputs on the mixes for which talkback is enabled and -unmute Mix Input 25 on those mixes. - -Talkback can also be activated by changing the Talkback control from -Off to On. - -The talkback microphone can also be used just the same as any of the -other analogue inputs and routed to a physical output, PCM input, or -mixer input. - -### Analogue Input Controls - -This is applicable to all interfaces except the Gen 2 18i20 which has -hardware-only buttons for these features. - -#### Level - -The Level buttons are used to select between Mic/Line and Instrument -level/impedance. When plugging in microphones or line-level equipment -to the input, set it to “Line”. The “Inst” setting is for instrument -with pickups such as guitars. - -#### Air (Gen 3, Clarett USB, and Clarett+ only) - -Enabling Air will transform your recordings and inspire you while -making music. - -#### Pad - -Enabling Pad engages an attenuator in the channel, giving you more -headroom for very hot signals. - -#### Phantom Power (48V) - -Gen 2 devices have a hardware button for controlling phantom power. - -Gen 3 devices have hardware and software control of phantom power. -Turning the “48V” switch on sends “Phantom Power” to the XLR -microphone input. This is required for some microphones (such as -condensor microphones), and damaging to some microphones (particularly -vintage ribbon microphones). - -On Gen 3 device, phantom power is turned off by default when the -interface is turned on. This can be changed in the startup -configuration (menu option View → Startup). - -### Analogue Output Controls - -The analogue output controls let you set the output volume (gain) on -the analogue line out and headphone outputs. All interfaces support -setting the gain and muting individual channels. - -Click and drag up/down to change the volume, or use your mouse scroll -wheel. You can also double-click on the volume dial to quickly toggle -the volume between the minimum value and 0dB. - -The bigger interfaces: Gen 2 18i20, Gen 3 18i8, and Gen 3 18i20 have a -switchable hardware/software volume control. The position of the big -volume knob on the front of the interface is indicated by the “HW” -dial in the GUI. The analogue outputs can have their volume set either -by the knob (“HW” setting of of the HW/SW button) or by the dials on -each output (“SW” setting of the HW/SW button). - -When set to HW, the mute/volume status for those channels is -controlled by the hardware volume knob and the global dim/mute -controls and the software volume dial and mute button for those -channels are disabled. - -There are “mute” and “dim” (reduce volume) buttons below the “HW” dial -which affect only the outputs with “HW” control enabled. The Gen 3 -18i8 doesn’t have physical buttons or indicator lights for these -controls, but the 18i20 devices do. - -On the other (smaller) interfaces, the big volume knob on the front of -the interface controls the volume of the Line 1 and 2 outputs. This is -in addition to the software volume control, therefore both must be -turned up in order to hear anything. The other (line 3+) analogue -outputs are only controlled by the software controls. - -The volume controls for the headphone outputs on each interface -operate in addition to any other hardware or software volume controls -for those channels. When using headphones, the volumes for those -channels would usually be set to 0dB and the actual volume controlled -with the physical headphone volume control(s). - -See [INTERFACES.md](INTERFACES.md) for detailed information about the -analogue inputs and outputs. - -### Routing - -The routing window allows complete control of signal routing between -the hardware inputs/outputs, internal mixer, and PCM (USB) -inputs/outputs. - -![Routing Window](img/window-routing.png) - -To manage the routing connections: - -- Click and drag from a source to a sink or a sink to a source to - connect them. Audio from the source will then be sent to that sink. - -- Click on a source or a sink to clear the links connected to that - source/sink. - -Note that a sink can only be connected to one source, but one source -can be connected to many sinks. If you want a sink to receive input -from more than one source, use the mixer inputs and outputs. - -The Presets menu can be used to clear all connections, or to set up -common configurations: - -- The “Direct” preset sets up the usual configuration using the - interface as an audio interface by connecting: - - - all Hardware Inputs to PCM Inputs - - all PCM Outputs to Hardware Outputs - -- The “Preamp” preset connects all Hardware Inputs to Hardware Outputs. - -- The “Stereo Out” preset connects PCM 1 and 2 Outputs to pairs of - Hardware Outputs. - -The Direct routing configuration is the simplest most-generally-useful -configuration: - -![Direct Routing](img/routing-direct.png) - -#### Loopback - -Gen 2, Clarett USB, and Clarett+ interfaces have as many PCM Inputs as -Hardware Inputs. Gen 3 interfaces have two more PCM Inputs which -Focusrite Control uses as “Loopback” inputs. - -The “Loopback” feature advertised for Gen 3 devices is actually a -limitation of the proprietary Focusrite Control software. All devices -(except Solo/2i2) support full reassignment of the PCM Inputs, so you -can have any PCM Input as a “Loopback” or assigned to any other -source. - -#### Talkback - -The Gen 3 18i20 talkback microphone is Analogue Input 9 and can be -routed like any other source. If you want to record using it, there is -no need for the loopback hack suggested by the vendor. Just route it -to a PCM Input. - -### Mixer - -If you use the Routing window to connect Sources to Mixer Inputs and -Mixer Outputs to Sinks, then you can use the Mixer window to set the -amount of each Mixer Input that is sent to each Mixer Output using a -matrix of controls: - -![Mixer Window](img/window-mixer.png) - -Click and drag up/down on the gain controls to adjust, or use your -mouse scroll wheel. You can also double-click on the dial to quickly -toggle between the minimum value and 0dB. - -### Startup - -The Startup window is used to configure settings that only take effect -when the interface is powered on. - -![Startup Window](img/window-startup.png) - -#### Standalone - -When Standalone mode is enabled, the interface will continue to route -audio as per the previous routing and mixer settings after it has been -disconnected from a computer. By configuring the routing between the -hardware and mixer inputs and outputs appropriately, the interface can -act as a standalone preamp or mixer. - -Standalone mode is supported on all devices supported by the kernel -driver. Even the 4i4 Gen 3 (which is bus-powered) will operate in -standalone mode. - -#### Phantom Power Persistence (Gen 3 only) - -When Phantom Power Persistence is enabled, the interface will restore -the previous Phantom Power/48V setting when the interface is turned -on. For the safety of microphones which can be damaged by phantom -power, the interface defaults to having phantom power disabled when it -is turned on. - -#### MSD (Mass Storage Device) Mode (Gen 3 only) - -When MSD Mode is enabled (as it is from the factory), the interface -has reduced functionality. You’ll want to have this disabled. On the -other hand, when MSD Mode is enabled, the interface presents itself as -a Mass Storage Device (like a USB stick), containing a link to the -Focusrite web site encouraging you to register your product and -download the proprietary drivers which can’t be used on Linux. - -By default, once MSD Mode is disabled, the control for it is hidden. -If for some reason you want to re-enable MSD Mode, you can set the -`device_setup` option to 3 to get the control back. - -## Load/Save Configuration - -The entire state of the interface can be loaded and saved using the -File → Load Configuration and File → Save Configuration menu options. - -Internally, this uses `alsactl`: - -- Load: `alsactl restore USB -f ` -- Save: `alsactl store USB -f ` - -The saved state files can be used to simulate an interface if you -don’t have one attached. The `demo` directory in the distribution -contains a sample file for every supported model. - -## Interface Simulation Mode - -The GUI can load an `alsactl` state file saved from a real interface -and display a GUI as if the corresponding interface was connected. - -This is useful if you don’t have an interface connected and want to -try, develop, or debug the GUI. - -Either specify the `.state` filename on the command line or select the -menu option File → Interface Simulation to load. - -## Known Bugs/Issues - -- Load/Save uses `alsactl` which will be confused if the ALSA - interface name (e.g. `USB`) changes. - -- Load/Save is not implemented for simulated interfaces. - -- The read-only status of controls in interface simulation mode does - not change when the HW/SW button is clicked. - -- When there’s more than one main window open, closing one of them - doesn’t free and close everything related to that card. - -- There is no facility to group channels into stereo pairs (needs - kernel support to save this information in the interface). - -- There is no facility to give channels custom names (needs kernel - support to save this information in the interface). diff --git a/docs/INSTALL.md b/docs/INSTALL.md new file mode 100644 index 0000000..445a561 --- /dev/null +++ b/docs/INSTALL.md @@ -0,0 +1,154 @@ +# ALSA Scarlett2 Control Panel Installation + +## Prerequisites + +### Linux Kernel + +You need to be running a Linux Kernel that has the ALSA Scarlett2 +Protocol Driver. Use `uname -r` to check what kernel version you are +running. + +- For reasonable functionality of Scarlett 2nd and 3rd Gen and Clarett + interfaces, you need at least Linux kernel version 6.7 +- For Scarlett 4th Gen support and firmware updates from Linux, you + need at least 6.8 +- For Vocaster support, you’ll need to build an updated + `snd-usb-audio` driver (or wait for 6.10) + +If you’ve got a Vocaster, or if your distribution doesn’t include a +recent-enough kernel for your interface, you can get the latest driver +from here and build it for your current kernel: + +https://github.com/geoffreybennett/scarlett-gen2/releases + +#### Enabling the Driver + +As of Linux 6.7 the driver is enabled by default. Check the driver +status (after plugging your interface in) with this command: + +``` +dmesg | grep -i -A 5 -B 5 focusrite +``` + +If all is good you’ll see messages like this: + +``` +New USB device found, idVendor=1235, idProduct=8215, bcdDevice= 6.0b +Product: Scarlett 18i20 USB +Focusrite Scarlett Gen 3 Mixer Driver enabled (pid=0x8215); report +any issues to https://github.com/geoffreybennett/scarlett-gen2/issues +``` + +If you don’t see the “Mixer Driver” message or if it shows “disabled” +then check the [OLDKERNEL.md](OLDKERNEL.md) instructions. + +### Gtk4 + +You need a Linux distribution with Gtk4 development libraries. If it +doesn’t have them natively, try the Flatpak instructions below. + +### Firmware + +As of Linux 6.8, firmware updates of all the supported interfaces can +be done through Linux. This is mandatory for Scarlett 4th Gen and +Vocaster interfaces (unless you’ve already updated it using the +manufacturer’s software), and optional for Scarlett 2nd and 3rd Gen, +Clarett USB, and Clarett+ interfaces. + +Download the firmware from +https://github.com/geoffreybennett/scarlett2-firmware and place it in +`/usr/lib/firmware/scarlett2` or use the RPM/deb package. + +## Building and Running + +On Fedora, these packages need to be installed: + +``` +sudo dnf -y install alsa-lib-devel gtk4-devel openssl-devel +``` + +On OpenSUSE: + +``` +sudo zypper in git alsa-devel gtk4-devel libopenssl-devel +``` + +On Ubuntu: + +``` +sudo apt -y install git make gcc libgtk-4-dev libasound2-dev libssl-dev +``` + +To download from github: + +``` +git clone https://github.com/geoffreybennett/alsa-scarlett-gui +cd alsa-scarlett-gui +``` + +To build: + +``` +cd src +make -j4 +``` + +To run: + +``` +./alsa-scarlett-gui +``` + +You can install it into `/usr/local` (binary, desktop file, and icon) +with: + +``` +sudo make install +``` + +And uninstall with: + +``` +sudo make uninstall +``` + +Continue on to reading [USAGE.md](USAGE.md) for how to use the GUI. + +## Flatpak + +With Flatpak, in any distro: + +``` +flatpak-builder --user --install --force-clean flatpak-build \ + vu.b4.alsa-scarlett-gui.yml +``` + +Be sure to use `flatpak-build` as the directory where the flatpak is +built or hence you risk bundling the artifacts when committing! + +If you get messages like these: + +``` +Failed to init: Unable to find sdk org.gnome.Sdk version 45 +Failed to init: Unable to find runtime org.gnome.Platform version 45 +``` + +Then install them: + +``` +flatpak install org.gnome.Sdk +flatpak install org.gnome.Platform +``` + +If you get: + +``` +Looking for matches… +error: No remote refs found for ‘org.gnome.Sdk’ +``` + +Then: + +``` +flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +``` diff --git a/docs/OLDKERNEL.md b/docs/OLDKERNEL.md new file mode 100644 index 0000000..9735d33 --- /dev/null +++ b/docs/OLDKERNEL.md @@ -0,0 +1,73 @@ +# ALSA Scarlett2 Usage With Old Kernels + +Linux kernel 6.7 (check your version with `uname -r`) was the first +kernel version with this driver enabled by default. It’s recommended +that you run 6.7 or later, or build the backported driver for your +kernel. If you do, then these instructions aren’t relevant; continue +with [INSTALL.md](INSTALL.md) for prerequisites, how to build, +install, and run `alsa-scarlett-gui`. + +If you’ve got a Scarlett Gen 2 or 3 or a Clarett+ 8Pre and don’t mind +the level meters not working, then the minimum kernel versions are: + +- **Scarlett Gen 2**: Linux 5.4 (bugs fixed in Linux 5.14) +- **Scarlett Gen 3**: Linux 5.14 +- **Clarett+ 8Pre**: Linux 6.1 + +## Linux Kernel with Backported Driver (recommended) + +Install the latest version of the backported driver from here: + +https://github.com/geoffreybennett/scarlett-gen2/releases + +then you can ignore the instructions below. + +## Linux Kernel before 6.7 without Backported Driver + +If you’re running a kernel before 6.7 without the backported driver, +you need to enable it at module load time with the `device_setup=1` +option to insmod/modprobe. Create a file +`/etc/modprobe.d/scarlett.conf` containing the appropriate line for +your device: + +Scarlett Gen 2: + +- **6i6**: `options snd_usb_audio vid=0x1235 pid=0x8203 device_setup=1` +- **18i8**: `options snd_usb_audio vid=0x1235 pid=0x8204 device_setup=1` +- **18i20**: `options snd_usb_audio vid=0x1235 pid=0x8201 device_setup=1` + +Scarlett Gen 3: + +- **Solo**: `options snd_usb_audio vid=0x1235 pid=0x8211 device_setup=1` +- **2i2**: `options snd_usb_audio vid=0x1235 pid=0x8210 device_setup=1` +- **4i4**: `options snd_usb_audio vid=0x1235 pid=0x8212 device_setup=1` +- **8i6**: `options snd_usb_audio vid=0x1235 pid=0x8213 device_setup=1` +- **18i8**: `options snd_usb_audio vid=0x1235 pid=0x8214 device_setup=1` +- **18i20**: `options snd_usb_audio vid=0x1235 pid=0x8215 device_setup=1` + +Clarett+: + +- **8Pre**: `options snd_usb_audio vid=0x1235 pid=0x820c device_setup=1` + +Or you can use a sledgehammer: +``` +options snd_usb_audio device_setup=1,1,1,1 +``` +to pass that option to the first 4 USB audio devices. + +To see if the driver is present and enabled: `dmesg | grep -i -A 5 -B +5 focusrite` should display information like: + +``` +New USB device found, idVendor=1235, idProduct=8215, bcdDevice= 6.0b +Product: Scarlett 18i20 USB +Focusrite Scarlett Gen 2/3 Mixer Driver enabled pid=0x8215 +``` + +If the driver is disabled you’ll see a message like: + +``` +Focusrite Scarlett Gen 2/3 Mixer Driver disabled; use options +snd_usb_audio vid=0x1235 pid=0x8215 device_setup=1 to enable and +report any issues to g@b4.vu +``` diff --git a/docs/USAGE.md b/docs/USAGE.md new file mode 100644 index 0000000..c64fb82 --- /dev/null +++ b/docs/USAGE.md @@ -0,0 +1,144 @@ +# ALSA Scarlett2 Control Panel Usage + +Refer to [INSTALL.md](INSTALL.md) for prerequisites, how to build, +install, and run. + +## No interface connected + +If no interface is detected (usually because there isn’t one +connected!) you’ll see this window: + +![No Interface Connected](../img/iface-none.png) + +Plug in an interface or select the menu option File → Interface +Simulation and load a demo file to make more interesting things +happen. + +## First Time Usage + +If your interface is fresh out of the box (or you haven’t updated it +using the manufacturer’s software), you may need to update the +firmware and/or disable MSD Mode first. + +### Firmware Update Required + +Some interfaces require a firmware update before all their +functionality is available. If the firmware is not available on your +system, you’ll see this window: + +![Firmware Update Required (Firmware +Missing)](../img/firmware-missing.png) + +In this case, click on the link, download and install the firmware +package, then restart `alsa-scarlett-gui`. + +If a firmware update is required and the firmware is available, you’ll +see this window: + +![Firmware Update Required](../img/firmware-update-required.png) + +Click “Update”, then “Yes” to update the firmware. + +![Firmware Update Progress](../img/firmware-updating.png) + +The update will take about 15 seconds, and then your interface will +restart, showing the main window. + +### MSD (Mass Storage Device/Quick Start/Easy Start) Mode + +If MSD Mode is enabled (as it is from the factory) and a firmware +update is not available or required, then you’ll see this window: + +![MSD Mode](../img/iface-msd.png) + +Click the “Enabled” button to disable MSD Mode, then click “Reboot” to +restart the interface, and in a moment the main window will appear. + +## Startup Controls + +The View → Startup menu option opens a window to configure settings +that only take effect when the interface is powered on. + +The options common to all interfaces are: + +- **Reset Configuration**: this will reset the configuration to the + factory defaults. This is particularly useful with the 4th Gen and + Vocaster interfaces if you’ve made a mess of the configuration and + want to start again. + +- **Update Firmware**: if a firmware update is found in the + `/usr/share/firmware/scarlett2` directory, then an option to update + the firmware will be available here. + +## File Menu + +The File menu contains options to load and save the configuration, +load a configuration in simulation mode, and to exit the application. + +### Load/Save Configuration + +The entire state of the interface can be loaded and saved using the +File → Load Configuration and File → Save Configuration menu options. + +Internally, this uses `alsactl`: + +- **Load**: `alsactl restore USB -f ` +- **Save**: `alsactl store USB -f ` + +The saved state files can be used to simulate an interface if you +don’t have one attached. The `demo` directory in the distribution +contains a sample file for every supported model. + +### Interface Simulation Mode + +The GUI can load an `alsactl` state file saved from a real interface +and display a GUI as if the corresponding interface was connected. + +This is useful if you don’t have an interface connected and want to +try, develop, or debug the GUI. + +Either specify the `.state` filename on the command line or select the +menu option File → Interface Simulation to load. + +## Interface Controls + +The controls and menu items which are available vary widely, depending +on your specific interface. + +There are three broad categories of interfaces with different +capabilities; each category of interface is described in a separate +ocument: + +- [Scarlett 3rd Gen Solo and 2i2](iface-small.md) + + Minimal number of controls, and they mostly accessible through + hardware buttons anyway. Not very interesting. + +- [Scarlett 2nd Gen 6i6+, 3rd Gen 4i4+, Clarett USB, and + Clarett+](iface-large.md) + + Full routing and mixing capabilities. + +- [Scarlett 4th Gen](iface-4th-gen.md) + + Full routing and mixing capabilities, remote-controlled input gain, + but no output controls. + +## Known Bugs/Issues + +- Load/Save uses `alsactl` which will be confused if the ALSA + interface name (e.g. `USB`) changes. + +- Load/Save is not implemented for simulated interfaces. + +- The read-only status of controls in interface simulation mode does + not change when the HW/SW button is clicked. + +- When there’s more than one main window open, closing one of them + doesn’t free and close everything related to that card. + +- There is no facility to group channels into stereo pairs (needs + kernel support to save this information in the interface). + +- There is no facility to give channels custom names (needs kernel + support to save this information in the interface). diff --git a/docs/iface-4th-gen.md b/docs/iface-4th-gen.md new file mode 100644 index 0000000..2256507 --- /dev/null +++ b/docs/iface-4th-gen.md @@ -0,0 +1,349 @@ +# ALSA Scarlett2 Control Panel + +## Scarlett 4th Gen Interfaces + +This document describes how to use the ALSA Scarlett2 Control Panel +with the Scarlett 4th Gen interfaces: + +- Scarlett 4th Gen Solo, 2i2, and 4i4 + +### Comparison with earlier Scarlett and Clarett Interfaces + +If you are familiar with the Scarlett 2nd and 3rd Gen interfaces or +the Clarett interfaces, the major differences to the 4th Gen +interfaces from the point of view of this software are: + +- The 4th Gen Solo and 2i2 interfaces have the full routing and mixing + capabilities of the larger 2nd and 3rd Gen and Clarett interfaces + (although the line outputs and the headphone outputs are still + linked). + +- The 4th Gen 2i2 and 4i4 interfaces have software-controllable + (“remote”) input gain controls. + +- The 4th Gen interfaces don’t have the output volume and mute + controls that the 2nd and 3rd Gen and Clarett interfaces have. + +- The Air mode with Presence+Drive is implemented with a DSP which is + separately routable. + +## Main Window + +The main window is divided into three sections: +- Global Controls +- Analogue Input Controls +- Analogue Output Controls + +The main window for the Solo and 2i2 interfaces is shown below; the +4i4 interface is similar to the 2i2, but doesn’t have the Direct +Monitor control, and can show the position of the front panel volume +knobs. + +![Main Window](../img/iface-4th-gen.png) + +### Global Controls + +#### Sync Status + +Sync Status indicates if the interface is locked to a valid digital +clock. This should only ever briefly show “Unlocked” when the sample +rate is changed as these interfaces can only use their internal clock. + +#### Power + +The 4i4 has a “Power” control that displays the power status. It can +be “Fail”, “Bus”, or “External”. “Fail” means that the interface is +not receiving sufficient power; please see the Scarlett 4i4 4th Gen +User Guide for more information. “Bus” vs. “External” indicates +whether the interface is receiving power from the second USB-C port +(“External”) or not (“Bus”). + +#### Sample Rate + +Sample Rate is informative only, and displays the current sample rate +if the interface is currently in use. In ALSA, the sample rate is set +by the application using the interface, which is usually a sound +server such as PulseAudio, JACK, or PipeWire. + +### Analogue Input Controls + +The analogue input controls available depend on the interface model: + +- **Instrument, Air, and Phantom Power**: All models +- **Mix**: Solo only (described later in the [Solo Mix + Control](#solo-mix-control) section) +- **Input Select, Link, Gain, Autogain, and Safe**: 2i2 and 4i4 + +#### Instrument + +The Inst button(s) are used to select between Mic/Line and Instrument +level/impedance. When plugging in microphones or line-level equipment +(such as a synthesizer, external preamp, or effects processor) to the +input, set it to “Line”. The “Inst” setting is for instruments with +pickups such as guitars. + +#### Air + +The Scarlett 3rd Gen introduced Air mode which transformed your +recordings and inspired you while making music by boosting the +signal’s high-end. The 4th Gen interfaces now call that “Air Presence” +and add a new mode “Air Presence+Drive” which boosts mid-range +harmonics in your sound. + +#### Phantom Power (48V) + +Turning the “48V” switch on sends “Phantom Power” to the XLR +microphone input. This is required for some microphones (such as +condensor microphones), and damaging to some microphones (particularly +vintage ribbon microphones). + +The 2i2 has a single 48V switch that controls both channels, and the +4i4 has an independent 48V switch for each channel. + +#### Input Select + +The 2i2 and 4i4 interfaces have hardware buttons for 48V, Inst, Air, +Auto, and Safe. The “Input Select” control allows you to choose which +channel those buttons control. + +#### Link + +The “Link” control links the 48V, Inst, Air, Auto, and Safe controls +together so that they control both channels simultaneously. + +#### Gain + +The “Gain” controls adjust the input gain for the selected channel. +Click and drag up/down on the control to adjust the gain, use your +mouse scroll wheel, or click the control to select it and use the +arrow keys, Page Up, Page Down, Home, and End keys. + +#### Autogain + +When the “Autogain” control is enabled, the interface will listen to +the input signal for ten seconds and automatically adjust the gain to +get the best signal level. When autogain is not running, the +most-recent autogain exit status is shown below the “Autogain” +control. + +#### Safe + +“Safe” mode is a feature that automatically reduces the gain if the +signal is too loud. This can be useful to prevent clipping. + +### Analogue Output Controls + +The analogue output controls available depend on the interface model: + +- **Direct Monitor**: Solo and 2i2 +- **Volume Knobs**: 4i4 + +#### Direct Monitor + +Enabling Direct Monitor sends the analogue input signals to the +analogue outputs (speakers/headphones) for zero-latency monitoring. + +On the 2i2, you have the choice of Mono or Stereo monitoring when you +click the button: + +- **Mono** sends both inputs to the left and right outputs +- **Stereo** sends input 1 to the left, and input 2 to the right + output. + +As the 4th Gen Solo and 2i2 interfaces have the full routing and +mixing capabilities of the larger 2nd and 3rd Gen interfaces, the +Direct Monitor levels can be [adjusted in the +mixer](#solo-direct-monitor). + +The 4i4 has no Direct Monitor button, but that functionality can be +achieved with [appropriate configuration in the routing and mixing +windows](#4i4-sample-direct-monitor-configuration). + +#### Volume Knobs + +The 4i4 interface has volume knobs on the front panel, the position of +which is shown in the main window. + +## Routing and Mixing + +The routing and mixing capabilities of the 4th Gen interfaces are the +same in concept as the 2nd and 3rd Gen interfaces, but there is a DSP +which is separately routable, and the default routing uses the mixer +extensively. + +From the main window, open the Routing window with the View → Routing +menu option or pressing Ctrl-R: + +![4th Gen 2i2 Routing](../img/scarlett-4th-gen-2i2-routing.png) + +To understand the signal flow, note the following: +1. The Analogue 1 & 2 Inputs (i.e. the Mic/Line/Inst inputs) are + routed to the DSP Inputs. +2. The DSP Outputs are routed to the PCM 1 & 2 Inputs (that’s what + ALSA sees as the first two inputs from the interface for + recording). +3. The PCM Outputs (that’s what ALSA sees as the interface outputs for + playback) and the DSP Outputs are all connected to the Mixer + Inputs. +4. The Mixer A & B Outputs are connected to the Hardware Analogue + outputs (i.e. your speakers/headphones) so you can hear any mix of + the PCM and DSP Outputs (this is how the Direct Monitor function + works). +5. The Mixer C & D Outputs are connected to the PCM 3 & 4 Inputs (this + is referred to as Loopback, for recording audio from your computer, + but can be used for another purpose if you want). + +Important Notes: +- The “Presets” are generally not useful with the 4th Gen interfaces + as they are designed for the 2nd and 3rd Gen interfaces. If you try + these out, you’ll probably want to reset back to the factory + defaults afterwards. +- Besides Air Mode, the DSP is also used for the gain halo level + meters and autogain, so if you route something else to the DSP + Inputs, those features will work “rather differently”. +- The Focusrite Control 2 software can’t control most of this routing, + so if you make changes here and then want to use Focusrite Control + 2, you’ll probably need to reset the routing back to the factory + default settings. There’s currently no way to reset to factory + default settings from the Focusrite Control 2 software; you’ll need + to use the [Reset Configuration](USAGE.md#startup-controls) option + in this software, or the `scarlett2` utility. + +To adjust the routing: + +- Click and drag from a source to a sink or a sink to a source to + connect them. Audio from the source will then be sent to that sink. + +- Click on a source or a sink to clear the links connected to that + source/sink. + +Note that a sink can only be connected to one source, but one source +can be connected to many sinks. + +To adjust the mixer output levels: + +1) Open the mixer window with the main window View → Mixer menu + option, or press Ctrl-M. + +2) Mixer levels can be adjusted with your keyboard or mouse in the + same way as the [Gain Controls](#gain). + +### Solo Direct Monitor + +When you enable or disable Direct Monitor on the Solo interface, the +interface will update the Mix A and B Outputs so that the DSP 1 & 2 +Outputs are mixed in (or not) with the PCM 1 & 2 Outputs. Note how the +volume of the PCM outputs is also reduced when Direct Monitor is +enabled so that you can hear the DSP outputs (i.e. your Analogue +inputs) more clearly. + +![4th Gen Solo Direct Monitor](../img/scarlett-4th-gen-solo-monitor.gif) + +If you customise the Mix A/B mixer levels while Direct Monitor is +enabled, the new settings will be saved and used when Direct Monitor +is enabled again. + +### 2i2 Direct Monitor + +Similarly to the Solo interface, the 2i2 interface will update the Mix +A and B Outputs when you enable or disable Direct Monitor, but the 2i2 +has Mono and Stereo options: + +![4th Gen 2i2 Direct Monitor](../img/scarlett-4th-gen-2i2-monitor.gif) + +Note how in Mono mode: + +- the DSP 1 & 2 Outputs are mixed to both the left and right outputs + +and in Stereo mode: + +- DSP 1 (i.e. Analogue Input 1) is sent to the left output (Mix A), + and +- DSP 2 (i.e. Analogue Input 2) is sent to the right output (Mix B). + +### Solo Mix Control + +The Mix control is only available on the Solo interface. It switches +the source for the PCM 1 & 2 Inputs between the DSP Outputs and the +Mixer E & F Outputs. + +![4th Gen Solo Mix Control](../img/scarlett-4th-gen-solo-mix.gif) + +By default, enabling this control will mix the Analogue 1 & 2 Inputs +together before they are sent to the PCM 1 & 2 Inputs: + +![4th Gen Solo Mixer E & F Outputs](../img/scarlett-4th-gen-solo-mix-e-f.png) + +This can be useful if you want to treat the PCM 1 & 2 Inputs as a +stereo pair, and not have the line/instrument input panned hard left +and the microphone input panned hard right. + +The mixer levels for the Mix E & F Outputs can adjusted to suit. + +### 4i4 Routing and Mixing + +Although the 4th Gen 4i4 has no explicit Direct Monitor control, it is +far more flexible because it has 6 PCM inputs, 6 PCM outputs, a 10×6 +mixer, and 6 Analogue Hardware outputs. + +Analogue Outputs 1–4 correspond to the Line Outputs 1–4 on the back of +the interface, and Analogue Outputs 5–6 correspond to the Headphone +Output on the front of the interface. + +The default routing and mix for the 4i4 is shown below: + +![4th Gen 4i4 Routing](../img/scarlett-4th-gen-4i4-routing.png) + +Note that with the default routing/mix settings: +- The Analogue Inputs 1–4 are routed to the PCM Inputs 1–4 (the first + two going via the DSP). +- PCM Inputs 5–6 are used for Loopback (recording audio from your + computer). +- All the Hardware Inputs and PCM Outputs are connected to the Mixer + Inputs. +- PCM Outputs 1–4 are connected to the Analogue Outputs 1–4 (via the + mixer). +- The Line 1–2 Outputs (Analogue Outputs 1–2) and the Headphones + (Analogue Outputs 5–6) share the Mixer Outputs A & B. + +#### 4i4 Sample Direct Monitor Configuration + +A common configuration for the 4i4 is to send the PCM 1 & 2 Outputs +mixed with the Analogue Inputs 1 & 2 to the Headphones, while leaving +the Analogue Outputs 1–2 as they are. This is an advanced version of +the direct monitoring feature that is available on the Solo and 2i2. +It can be implemented by: + +1) Route Mixer Outputs E & F to Analogue Outputs 5 & 6. +2) Turn up Mix E & F DSP 1 & 2 levels in the mixer (see the mixer + example above for [2i2 Direct Monitor](#2i2-direct-monitor)). + +As there are only 6 Mixer Outputs, the PCM 5 & 6 Inputs (Loopback) are +now shared with the headphones. If you want to retain the Loopback +functionality without having the Analogue Inputs mixed in, you could: +- Route the PCM 1 & 2 Outputs directly to the PCM 5 & 6 Inputs, rather + than going via the mixer, or +- Free up Mixer Outputs A & B for Loopback by routing PCM Outputs 1 & + 2 directly to Analogue Outputs 1 & 2. + +Besides Direct Monitor, there are many other possibilities for +routing/mixing with the 4i4. For example, by using the additional PCM +Outputs and Inputs you could set up a mix-minus configuration for a +podcast/video call. + +## Levels + +The meters show the levels seen by the interface at every routing +sink: Hardware Outputs, Mixer Inputs, DSP Inputs, and PCM Inputs. Open +this window by selecting the View → Levels menu option or pressing +Ctrl-L. + +![Levels](../img/window-levels-4th-gen.gif) + +Look at this in conjunction with the routing window to understand +which meter corresponds to which source or sink. + +Thanks for reading this far! If you appreciate the hundreds of hours +of work that went into the kernel driver, the control panel, and this +documentation, please consider supporting the author with a +[donation](../README.md#donations). diff --git a/docs/iface-large.md b/docs/iface-large.md new file mode 100644 index 0000000..79e421c --- /dev/null +++ b/docs/iface-large.md @@ -0,0 +1,321 @@ +# ALSA Scarlett2 Control Panel + +## Large Scarlett 2nd and 3rd Gen and Clarett Interfaces + +This document describes how to use the ALSA Scarlett2 Control Panel +with the larger Scarlett 2nd Gen, 3rd Gen, and Clarett USB interfaces: + +- Scarlett 2nd Gen 6i6, 18i8, 18i20 +- Scarlett 3rd Gen 4i4, 8i6, 18i8, 18i20 +- Clarett 2Pre, 4Pre, 8Pre USB +- Clarett+ 2Pre, 4Pre, 8Pre + +## Main Window + +The main window is divided into three sections: + +- Global Controls +- Analogue Input Controls +- Analogue Output Controls + +The particular controls available depend on the interface model; the +3rd Gen 18i20 has all the controls so is shown here: + +![Main Window](../img/window-main.png) + +Note that the View menu option lets you open three other windows which +contain additional controls, described in the following sections: +- [Routing](#routing) +- [Mixer](#mixer) +- [Levels](#levels) +- [Startup](#startup) + +### Global Controls + +Global controls relate to the operation of the interface as a whole. + +![Global Controls](../img/main-global.png) + +#### Clock Source (interfaces with S/PDIF or ADAT inputs only) + +Clock Source selects where the interface receives its digital clock +from. If you aren’t using S/PDIF or ADAT inputs, set this to Internal. + +#### Sync Status + +Sync Status indicates if the interface is locked to a valid digital +clock. If you aren’t using S/PDIF or ADAT inputs and the Sync Status +is Unlocked, change the Clock Source to Internal. + +#### Sample Rate + +Sample Rate is informative only, and displays the current sample rate +if the interface is currently in use. In ALSA, the sample rate is set +by the application using the interface, which is usually a sound +server such as PulseAudio, JACK, or PipeWire. + +#### Speaker Switching (Scarlett 3rd Gen 18i8 and 18i20 only) + +Speaker Switching lets you swap between two pairs of monitoring +speakers very easily. + +When enabled (Main or Alt): + +- Line Out 1–4 Volume Control Switches are locked to HW +- Line Out 3/4 routing is saved +- Line Out 3/4 routing is set to the Line Out 1/2 routing + +When set to Main, Line outputs 3 and 4 are muted. + +When set to Alt, Line outputs 1 and 2 are muted. + +When disabled (Off): +- Global mute is activated ⭐ +- Line Out 1–4 Volume Control Switches are unlocked +- Line Out 3/4 routing is restored to the saved values + +⭐ You likely won’t expect this to happen. Make sure to unmute the +outputs after disabling speaker switching if you want to hear +something again. + +#### Talkback (Scarlett 3rd Gen 18i20 only) + +Talkback lets you add another channel (usually the talkback mic) to a +mix with a button push, usually to talk to musicians, and without +using an additional mic channel. + +The Talkback feature has a few parts: + +- Talkback Microphone connected to Analogue Input 9 +- Talkback Disable/Enable and Off/On software switches +- Talkback Off/On physical switch +- Talkback Mix (one switch per mix) +- Mix Input 25 + +To set up the talkback feature, set Mix Input 25 to the talkback +source (usually Analogue Input 9), enable the Talkback Mix switches +for the mixes you want the talkback input to be heard on, and change +the Talkback control from Disabled to Off. Leave the Mix Input 25 gain +controls at zero (−127dB), otherwise the talkback inputs will be heard +even when talkback is disabled/off. + +Pressing the Talkback switch on the device will then lower the volume +of the other inputs on the mixes for which talkback is enabled and +unmute Mix Input 25 on those mixes. + +Talkback can also be activated by changing the Talkback control from +Off to On. + +The talkback microphone can also be used just the same as any of the +other analogue inputs and routed to a physical output, PCM input, or +mixer input. + +### Analogue Input Controls + +This section is applicable to all interfaces except the Scarlett 2nd +Gen 18i20 which has hardware-only buttons for these features. + +![Analogue Input Controls](../img/main-inputs.png) + +#### Inst + +The Inst buttons are used to select between Mic/Line and Instrument +level/impedance. When plugging in microphones or line-level equipment +(such as a synthesizer, external preamp, or effects processor) to the +input, set it to “Line”. The “Inst” setting is for instruments with +pickups such as guitars. + +#### Air (Scarlett 3rd Gen and Clarett only) + +Enabling Air will transform your recordings and inspire you while +making music. + +#### Pad + +Enabling Pad engages a 10dB attenuator in the channel, giving you more +headroom for very hot signals. + +#### Phantom Power (48V) + +Scarlett 2nd Gen and Clarett devices have a hardware button for +controlling phantom power. + +Scarlett 3rd Gen devices have hardware and software control of phantom +power. Turning the “48V” switch on sends “Phantom Power” to the XLR +microphone input. This is required for some microphones (such as +condensor microphones), and damaging to some microphones (particularly +vintage ribbon microphones). + +On Scarlett 3rd Gen devices, phantom power is turned off by default +when the interface is turned on. This can be changed in the startup +configuration (menu option View → Startup). + +### Analogue Output Controls + +The analogue output controls let you set the output volume (gain) on +the analogue line out and headphone outputs. All interfaces support +setting the gain and muting individual channels. + +![Analogue Output Controls](../img/main-outputs.png) + +Click and drag up/down on the volume dial to change the volume, use +your arrow keys, Home/End/PgUp/PgDn keys, or use your mouse scroll +wheel to adjust. You can also double-click on it to quickly toggle the +volume between off and 0dB. + +The biggest interfaces: Scarlett 2nd Gen 18i20, 3rd Gen 18i8, and 3rd +Gen 18i20 have a switchable hardware/software volume control. The +position of the big volume knob on the front of the interface is +indicated by the “HW” dial in the GUI. The analogue outputs can have +their volume set either by the knob (“HW” setting of of the HW/SW +button) or by the dials on each output (“SW” setting of the HW/SW +button). + +When set to HW, the mute/volume status for those channels is +controlled by the hardware volume knob and the global dim/mute +controls and the software volume dial and mute button for those +channels are disabled. + +There are “mute” and “dim” (reduce volume) buttons below the “HW” dial +which affect only the outputs with “HW” control enabled. The 3rd Gen +18i8 doesn’t have physical buttons or indicator lights for these +controls, but the 18i20 devices do. + +On the other (smaller) interfaces, the big volume knob on the front of +the interface controls the volume of the Line 1 and 2 outputs. This is +in addition to the software volume control, therefore both must be +turned up in order to hear anything. The other (line 3+) analogue +outputs are only controlled by the software controls. + +The volume controls for the headphone outputs on each interface +operate in addition to any other hardware or software volume controls +for those channels. When using headphones, the volumes for those +channels would usually be set to 0dB and the actual volume controlled +with the physical headphone volume control(s). + +## Routing + +The routing window allows complete control of signal routing between +the hardware inputs/outputs, internal mixer, and PCM (USB) +inputs/outputs. + +![Routing Window](../img/window-routing.png) + +To manage the routing connections: + +- Click and drag from a source to a sink or a sink to a source to + connect them. Audio from the source will then be sent to that sink. + +- Click on a source or a sink to clear the links connected to that + source/sink. + +Note that a sink can only be connected to one source, but one source +can be connected to many sinks. If you want a sink to receive input +from more than one source, use the mixer inputs and outputs: + +- Connect the sources that you want to mix together to mixer inputs +- Connect mixer outputs to the sinks that you want to receive the + mixed audio +- Use the Mixer window to set the amount of each mixer input that is + sent to each mixer output + +The Presets menu can be used to clear all connections, or to set up +common configurations: + +- The “Direct” preset sets up the usual configuration using the + interface as a regular audio interface by connecting: + + - all Hardware Inputs to PCM Inputs + - all PCM Outputs to Hardware Outputs + +- The “Preamp” preset connects all Hardware Inputs to Hardware + Outputs. + +- The “Stereo Out” preset connects PCM 1 and 2 Outputs to pairs of + Hardware Outputs. + +The Direct routing configuration is the simplest most-generally-useful +configuration: + +![Direct Routing](../img/routing-direct.png) + +### Loopback + +Scarlett 2nd Gen, Clarett USB, and Clarett+ interfaces have as many +PCM Inputs as Hardware Inputs. Scarlett 3rd Gen interfaces have two +more PCM Inputs which Focusrite Control uses as “Loopback” inputs. + +The “Loopback” feature advertised for Scarlett 3rd Gen devices is +actually a limitation of the proprietary Focusrite Control software. +All supported devices with a mixer (that’s all but the 2nd and 3rd Gen +Solo/2i2 interfaces) support full reassignment of the PCM Inputs, so +you can have any PCM Input as a “Loopback” or assigned to any other +source. + +### Talkback + +The Scarlett 3rd Gen 18i20 talkback microphone is Analogue Input 9 and +can be routed like any other source. If you want to record using it, +there is no need for the loopback hack suggested by the manufacturer. +Just route it to a PCM Input. + +## Mixer + +If you use the Routing window to connect Sources to Mixer Inputs and +Mixer Outputs to Sinks, then you can use the Mixer window to set the +amount of each Mixer Input that is sent to each Mixer Output using a +matrix of controls: + +![Mixer Window](../img/window-mixer.png) + +Click and drag up/down on the gain controls to adjust, or use your +mouse scroll wheel. You can also double-click on the control to +quickly toggle between off and 0dB. + +## Levels + +The Levels window shows the current levels of the hardware outputs, the +mixer inputs, and the PCM inputs. + +![Levels Window](../img/window-levels-3rd-gen.png) + +Look at this in conjunction with the routing window to understand +which meter corresponds to which source or sink. + +## Startup + +The Startup window is used to configure settings that are +applied/relevant when the interface is powered on. + +![Startup Window](../img/window-startup.png) + +### Standalone + +When Standalone mode is enabled, the interface will continue to route +audio as per the previous routing and mixer settings after it has been +disconnected from a computer. By configuring the routing between the +hardware and mixer inputs and outputs appropriately, the interface can +act as a standalone preamp or mixer. + +Standalone mode is supported on all devices supported by the kernel +driver. Even the Scarlett 3rd Gen 4i4 (which is bus-powered) will +operate in standalone mode. + +### Phantom Power Persistence (Scarlett 3rd Gen only) + +When Phantom Power Persistence is enabled, the interface will restore +the previous Phantom Power/48V setting when the interface is turned +on. For the safety of microphones which can be damaged by phantom +power, the interface defaults to having phantom power disabled when it +is turned on. + +### Reset Configuration + +This will reset the configuration of the interface to the factory +defaults (except for MSD mode which is left off). + +### Update Firmware + +If a firmware update is found in the `/usr/share/firmware/scarlett2` +directory, then an option to update the firmware will be available +here. diff --git a/docs/iface-small.md b/docs/iface-small.md new file mode 100644 index 0000000..b0a1d40 --- /dev/null +++ b/docs/iface-small.md @@ -0,0 +1,56 @@ +# ALSA Scarlett2 Control Panel + +## Small Scarlett 3rd Gen Interfaces + +The Scarlett 3rd Gen Solo and 2i2 interfaces have just a few buttons to control +the Air, Line, Phantom Power, and Direct Monitor settings. Mostly +nothing that you can’t access from the front panel anyway. + +![Gen 3 Small Interfaces](../img/iface-small-gen3.png) + +## Input Controls + +### Air + +Enabling Air will transform your recordings and inspire you while +making music. + +### Inst + +The Inst buttons are used to select between Mic/Line and Instrument +level/impedance. When plugging in microphones or line-level equipment +(such as a synthesizer, external preamp, or effects processor) to the +input, set it to “Line”. The “Inst” setting is for instruments with +pickups such as guitars. + +### 48V (Phantom Power) + +Turning the “48V” switch on sends “Phantom Power” to the XLR +microphone input(s). This is required for some microphones (such as +condensor microphones), and damaging to some microphones (particularly +vintage ribbon microphones). + +## Output Controls + +### Direct Monitor + +Direct Monitor sends the analogue input signals to the analogue +outputs for zero-latency monitoring. + +On the 2i2, you have the choice of Mono or Stereo monitoring when you +click the button. Mono sends both inputs to the left and right +outputs. Stereo sends input 1 to the left, and input 2 to the right +output. + +## Startup Controls + +#### Phantom Power Persistence + +By default, phantom power is turned off when the interface is turned +on. This can be changed in the startup configuration (menu option View +→ Startup). + +The one control not accessible from the front panel is “Phantom Power +Persistence” (menu option View → Startup) which controls the Phantom +Power state when the interface is powered on. + diff --git a/img/demo.gif b/img/demo.gif index b40f5d3..028f912 100644 Binary files a/img/demo.gif and b/img/demo.gif differ diff --git a/img/firmware-missing.png b/img/firmware-missing.png new file mode 100644 index 0000000..667b5de Binary files /dev/null and b/img/firmware-missing.png differ diff --git a/img/firmware-update-required.png b/img/firmware-update-required.png new file mode 100644 index 0000000..a598b84 Binary files /dev/null and b/img/firmware-update-required.png differ diff --git a/img/firmware-updating.png b/img/firmware-updating.png new file mode 100644 index 0000000..a0723aa Binary files /dev/null and b/img/firmware-updating.png differ diff --git a/img/iface-4th-gen.png b/img/iface-4th-gen.png new file mode 100644 index 0000000..77d8952 Binary files /dev/null and b/img/iface-4th-gen.png differ diff --git a/img/iface-msd.png b/img/iface-msd.png index d7db9fc..02420b5 100644 Binary files a/img/iface-msd.png and b/img/iface-msd.png differ diff --git a/img/iface-none.png b/img/iface-none.png index df0dbe7..025e23d 100644 Binary files a/img/iface-none.png and b/img/iface-none.png differ diff --git a/img/iface-small-gen3.png b/img/iface-small-gen3.png index e9f63e4..503bf0d 100644 Binary files a/img/iface-small-gen3.png and b/img/iface-small-gen3.png differ diff --git a/img/main-global.png b/img/main-global.png new file mode 100644 index 0000000..a307af9 Binary files /dev/null and b/img/main-global.png differ diff --git a/img/main-inputs.png b/img/main-inputs.png new file mode 100644 index 0000000..1b823fe Binary files /dev/null and b/img/main-inputs.png differ diff --git a/img/main-outputs.png b/img/main-outputs.png new file mode 100644 index 0000000..c203773 Binary files /dev/null and b/img/main-outputs.png differ diff --git a/img/routing-direct.png b/img/routing-direct.png index 66192c4..b43badb 100644 Binary files a/img/routing-direct.png and b/img/routing-direct.png differ diff --git a/img/scarlett-4th-gen-2i2-monitor.gif b/img/scarlett-4th-gen-2i2-monitor.gif new file mode 100644 index 0000000..985191a Binary files /dev/null and b/img/scarlett-4th-gen-2i2-monitor.gif differ diff --git a/img/scarlett-4th-gen-2i2-routing.png b/img/scarlett-4th-gen-2i2-routing.png new file mode 100644 index 0000000..60f48d1 Binary files /dev/null and b/img/scarlett-4th-gen-2i2-routing.png differ diff --git a/img/scarlett-4th-gen-4i4-routing.png b/img/scarlett-4th-gen-4i4-routing.png new file mode 100644 index 0000000..0f52437 Binary files /dev/null and b/img/scarlett-4th-gen-4i4-routing.png differ diff --git a/img/scarlett-4th-gen-solo-mix-e-f.png b/img/scarlett-4th-gen-solo-mix-e-f.png new file mode 100644 index 0000000..cfcba88 Binary files /dev/null and b/img/scarlett-4th-gen-solo-mix-e-f.png differ diff --git a/img/scarlett-4th-gen-solo-mix.gif b/img/scarlett-4th-gen-solo-mix.gif new file mode 100644 index 0000000..03cfd3b Binary files /dev/null and b/img/scarlett-4th-gen-solo-mix.gif differ diff --git a/img/scarlett-4th-gen-solo-monitor.gif b/img/scarlett-4th-gen-solo-monitor.gif new file mode 100644 index 0000000..0d6b389 Binary files /dev/null and b/img/scarlett-4th-gen-solo-monitor.gif differ diff --git a/img/window-levels-3rd-gen.png b/img/window-levels-3rd-gen.png new file mode 100644 index 0000000..fdd2f7f Binary files /dev/null and b/img/window-levels-3rd-gen.png differ diff --git a/img/window-levels-4th-gen.gif b/img/window-levels-4th-gen.gif new file mode 100644 index 0000000..3bbc579 Binary files /dev/null and b/img/window-levels-4th-gen.gif differ diff --git a/img/window-main.png b/img/window-main.png index 9123a4a..fda19d2 100644 Binary files a/img/window-main.png and b/img/window-main.png differ diff --git a/img/window-mixer.png b/img/window-mixer.png index b333c5a..00b8f7e 100644 Binary files a/img/window-mixer.png and b/img/window-mixer.png differ diff --git a/img/window-routing.png b/img/window-routing.png index 7bd87c2..5b3a315 100644 Binary files a/img/window-routing.png and b/img/window-routing.png differ diff --git a/img/window-startup.png b/img/window-startup.png index 2907f34..617f767 100644 Binary files a/img/window-startup.png and b/img/window-startup.png differ