Difference between revisions of "Audio Through USB"
(30 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | '''NOTE: | + | == Using USB Audio Gadget == |
+ | |||
+ | '''NOTE: For best results please use v1.14 or later''' | ||
+ | |||
+ | '''NOTE: This is EXPERIMENTAL''' | ||
+ | |||
+ | First [[Access_MOD_using_SSH|ssh into the unit]], and run: | ||
+ | |||
+ | <pre> | ||
+ | touch /data/enable-usb-multi-gadget | ||
+ | touch /data/enable-usb-audio-gadget | ||
+ | # if using windows, also run: | ||
+ | touch /data/enable-usb-windows-compat | ||
+ | </pre> | ||
+ | |||
+ | Now we reboot | ||
+ | <pre> | ||
+ | sync && hmi-reset && reboot | ||
+ | </pre> | ||
+ | |||
+ | Some caveats and known issues: | ||
+ | |||
+ | * Only 48000 Hz sample rate is supported (this is intentional, matches the internal sample rate of the unit) | ||
+ | * USB audio requires very precise timings, loading big resources on the web interface over USB can lead to audio dropouts (best results are achieved with web interface over WiFi, leaving USB for audio and MIDI) | ||
+ | * MOD Duo X "limited edition" only works in capture mode | ||
+ | * For use in Windows, an up-to-date Windows 10 or later is required | ||
+ | |||
+ | Forum Threads: | ||
+ | |||
+ | * https://forum.moddevices.com/t/duo-x-as-usb-audio-input-and-midi-device-experimental/3469 | ||
+ | * https://forum.moddevices.com/t/solved-usb-audio-jack-with-pipewire-on-linux-how-to-mod-duo/7723/7 | ||
+ | |||
+ | === Windows specific tweaks === | ||
+ | |||
+ | When picking an audio driver/mode look for "WASAPI" or "Windows Audio".<br> | ||
+ | If there is an option for "exclusive mode" try that first; it won't allow other applications to use the usb audio device at the same time but it reduces the amount of latency. | ||
+ | |||
+ | Under this WASAPI/Windows-Audio mode with 512 buffer size we have measured roundtrip latencies of around 80ms in normal/shared mode, and 60ms in exclusive mode.<br> | ||
+ | When exclusive mode is selected we were able to reduce buffer size to 256, giving a roundtrip latency of around 38ms. | ||
+ | |||
+ | Note that latency decreases if you use the MOD unit analog IO, as the analog IO has a full roundtrip latency of 8ms.<br> | ||
+ | There is extra buffering for handling the USB audio card in software, which is needed in order to keep everything in sync between the MOD unit main audio interface and the USB audio side. | ||
+ | |||
+ | ==== ASIO4ALL ==== | ||
+ | |||
+ | Using ASIO4ALL has been confirmed to work, but needs some tweaks: | ||
+ | |||
+ | * Set buffer size to 128 or higher | ||
+ | * In advanced settings set buffer offset to 16ms | ||
+ | * Turn off all other options in advanced settings | ||
− | + | This should result in around 60ms total roundtrip latency, will be less if you use the MOD unit analog IO. | |
− | |||
− | |||
− | |||
− | + | ==== FL Studio ASIO ==== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The FL Studio ASIO driver has also been confirmed to work, no special tweaks needed.<br> | |
− | + | Its minimum buffer size of 256 should work fine as-is. | |
− | |||
− | < | ||
− | |||
− | + | In our measurements it gives a total roundtrip latency of around 75ms, will be less if you use the MOD unit analog IO. | |
− | + | == Using netJACK2 == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''NOTE: This requires the use of JACK as sound server in your PC.''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[ | + | See [[Audio Through NetJack2]] |
− |
Latest revision as of 10:11, 26 July 2023
Contents
Using USB Audio Gadget
NOTE: For best results please use v1.14 or later
NOTE: This is EXPERIMENTAL
First ssh into the unit, and run:
touch /data/enable-usb-multi-gadget touch /data/enable-usb-audio-gadget # if using windows, also run: touch /data/enable-usb-windows-compat
Now we reboot
sync && hmi-reset && reboot
Some caveats and known issues:
- Only 48000 Hz sample rate is supported (this is intentional, matches the internal sample rate of the unit)
- USB audio requires very precise timings, loading big resources on the web interface over USB can lead to audio dropouts (best results are achieved with web interface over WiFi, leaving USB for audio and MIDI)
- MOD Duo X "limited edition" only works in capture mode
- For use in Windows, an up-to-date Windows 10 or later is required
Forum Threads:
- https://forum.moddevices.com/t/duo-x-as-usb-audio-input-and-midi-device-experimental/3469
- https://forum.moddevices.com/t/solved-usb-audio-jack-with-pipewire-on-linux-how-to-mod-duo/7723/7
Windows specific tweaks
When picking an audio driver/mode look for "WASAPI" or "Windows Audio".
If there is an option for "exclusive mode" try that first; it won't allow other applications to use the usb audio device at the same time but it reduces the amount of latency.
Under this WASAPI/Windows-Audio mode with 512 buffer size we have measured roundtrip latencies of around 80ms in normal/shared mode, and 60ms in exclusive mode.
When exclusive mode is selected we were able to reduce buffer size to 256, giving a roundtrip latency of around 38ms.
Note that latency decreases if you use the MOD unit analog IO, as the analog IO has a full roundtrip latency of 8ms.
There is extra buffering for handling the USB audio card in software, which is needed in order to keep everything in sync between the MOD unit main audio interface and the USB audio side.
ASIO4ALL
Using ASIO4ALL has been confirmed to work, but needs some tweaks:
- Set buffer size to 128 or higher
- In advanced settings set buffer offset to 16ms
- Turn off all other options in advanced settings
This should result in around 60ms total roundtrip latency, will be less if you use the MOD unit analog IO.
FL Studio ASIO
The FL Studio ASIO driver has also been confirmed to work, no special tweaks needed.
Its minimum buffer size of 256 should work fine as-is.
In our measurements it gives a total roundtrip latency of around 75ms, will be less if you use the MOD unit analog IO.
Using netJACK2
NOTE: This requires the use of JACK as sound server in your PC.