geoffreybennett / alsa-scarlett-gui

alsa-scarlett-gui is a Gtk4 GUI for the ALSA controls presented by the Linux kernel Focusrite Scarlett2 Mixer Driver
615 stars 36 forks source link

The Problem with 2 interfaces chained with ADAT #28

Closed juanpc2018 closed 2 years ago

juanpc2018 commented 2 years ago

People that has 2 interfaces: for example: $ lsusb Bus 001 Device 013: ID 1235:8201 Focusrite-Novation Scarlett 18i20 USB Bus 001 Device 012: ID 1235:8208 Focusrite-Novation Clarett 8Pre USB

And needs to record a Live Performance/Band with more than 8-Mics, for example...

Problem with the Official Focusrite Control Software for Windows or OSX v2.2 to v3.6.8 is that: Only can Select 1x USB interface at a time, Does Not allow to Change / Select the other USB interface, like Pages or Tabs. clicking the Scarlett or Clarett Name in the Control Software to open the other interface for example.

to change settings with 2x USB interfaces: must be done 1-by-1, disconnecting the other, reconnecting, disconecting the other. reconnecting, so the Focusrite Control Software can detect the other interface.

Big Issue for people that has 2x USB interfaces connected by ADAT. Cannot be done Live / while DAW software is running.

Other methods would require a Virtual Windows Machine, with USB passthrough. to select the other USB interface in the other Virtual Focusrite Control Software. In Parallels, VirtualBox, VMware Fusion for OSX, Qemu, VMware Workstation Player for Win. etc...

1 interface must be Stand Alone mode: Analog-In --> ADAT Out Analog-Out <-- ADAT In

The other works as a Single ASIO / CoreAudio interface in the DAW software,

ASIO4ALL in Windows allows to join / bridge 2 interfaces, but WDM / DX drivers to ASIO. increasing latency & cpu load,

JackOSX also allows to join 2 interfaces but... last time i tested did Not worked in OSX HighSierra.

Anyway... one interface must be a Clock Source / Master. the other interface must be a Clock Slave.

because signlas are sent by ADAT, ADAT is usually the Master & Slave. Stand Alone is Master, DAW interface is ADAT Slave, with only 1x ADAT cable available..

Option B) 2 ADAT cables, DAW as Master, Stand Alone as ADAT Slave.

Option C) 1x ADAT 1x s/pdif cable. DAW Master, StandAlone s/pdif slave.

Option D) External Master Clock with 1x s/pdif output... a Y-Rca splitter Male = 2 Females, can be used, with similar cables. directly to both s/pdif inputs, and both interfaces Slave to s/pdif but.... that method sometimes does Not work, because different interfaces have different circuit routing, and clock signal phase sometimes does Not match. requires identical interfaces to avoid clock issues.

also if Masterclock has 2 s/pdif outputs, usually also does Not work, because usually both outputs are Not Parfect Phase Sync / Aligned. requires a very advanced PCB design software like Altium to phase align clock signals. or very advanced oscilloscope, and many PCB Trial & Error Test Pressings.

IF both interfaces are Not Clock sync, Recordings will have Pitch Tunning issues over 200Hz, Most Internal clock are Not Pro. 44.1Khz is Not 44.1000 or 44100,0 Hz 48Khz is Not 48.0000 or 48000,0 Hz

Rubidium Atomic clocks allow 10 decimals. OCXO allows 6 decimals, DOCXO allows 8 decimals, TCXO allows 4 decimals, but lower jitter. 4 decimals if the dot is in KHz, 1 decimal if the dot is in Hz.

Digital Audio has 2 problems Drift & Jitter, similar to Wow % Flutter in old analog tape machines.

the only way to sync without a slave clock, both master is using ultra stable clock source in both.

all clocks and interfaces have "small" errors in the clock signal, one has: 44.1004 for example, the other has: 44.1002

same for: 48.0005 etc... Actually Focusrite has much more.

those affect Audio Pitch, 1Khz is Not exactly 1Khz, 3Khz is Not 3Khz, has a oscillation, a vibration. when generated by software mathematically, and analyzed in loop DA-AD with a Software that allows to zoom to those levels, like: APTuner 3.09 https://www.bromsaudio.com/ https://www.bromsaudio.com/Downloads/APTunerInstall309.zip works in Wine3 / 4, maybe also latest 7.x

or using HW Frequency counter in Digital Oscilloscopes, Software Frequency counters are 2 decimals = useless for calibration, TCXO has a trimmer that can Tune clock frequency.

If both interfaces are Clock Phase in-Sync, in-theory both will have the same drift error.

geoffreybennett commented 2 years ago

Again, this is interesting information, but mostly not applicable to this alsa-scarlett-gui project.

Unlike the Focusrite Control software, alsa-scarlett-gui does support working with multiple devices simultaneously, but the Clarett 8Pre is not supported.

If you want to use two audio interfaces simultaneously under Linux then PipeWire makes it "just work", unlike plain-ALSA/PulseAudio/JACK.