... | ... | @@ -124,11 +124,35 @@ Use the driver provided channel map. Default is false because many drivers don't |
|
|
|
|
|
Allow the card to be opened with multiple rates as the same time. Default is true. Some cards have only one clock and will us the wrong sample rates when a kernel < 5.16 is used.
|
|
|
|
|
|
## Systemic latency calibration
|
|
|
|
|
|
In addition to the software controlled latency (by controlling the amount of buffered data in the device), there
|
|
|
is also a hardware latency (caused by analog to digital conversion, bus transport, usb timings, etc...). This
|
|
|
latency is usually a few milliseconds.
|
|
|
|
|
|
This latency can be measured with a loopback cable and a tool like `jack_iodelay`. This tool will send a test
|
|
|
signal on the output port and measures when that signal is captured on the input port; this will be the total roundtrip delay of the signal. The tool will assume an equal latency for the source as the sink node (there is no way to know for sure) and will report this latency in samples.
|
|
|
|
|
|
Note that this latency can change when the device is reconfigured. For (pro-audio) devices that share a clock this latency will then be constant for as long as the device is running with the same configuration.
|
|
|
|
|
|
### `latency.internal.rate` and `latency.internal.ns`
|
|
|
|
|
|
The internal latency of the device. This is the latency introduced by the DAC or ADC. You can get this value with a tool like jack_iodelay. You can express this latency as a combination of samples and nanoseconds.
|
|
|
You can statically set the systemic latency with these properties. You can express this latency as a combination of samples and nanoseconds.
|
|
|
|
|
|
### Runtime calibration
|
|
|
|
|
|
The latency can be configured at runtime on the device with:
|
|
|
|
|
|
```
|
|
|
pw-cli s <device-name> ProcessLatency '{ rate=<latency> }'
|
|
|
```
|
|
|
Fill in the `<device-name>` with the `node.name` (constant accross reboots) or the `object.id` of the
|
|
|
sink and soure to adjust.
|
|
|
|
|
|
This latency will now be added to the software latency on the sink/source ports. You can check the new
|
|
|
increased latency with a tool like `jack_lsp -L`.
|
|
|
|
|
|
See also [here](Config-JACK#device-systemic-latency-settings).
|
|
|
You can safely rerun the calibration whenever the quantum or samplerate of the graph has changed.
|
|
|
|
|
|
## Driver Properties
|
|
|
|
... | ... | |