Always consult the official Owners Manuals first!
March 2024: all pages have been checked and are up-to-date

Difference between revisions of "USB"

From Fractal Audio Wiki
Jump to navigation Jump to search
Line 89: Line 89:
 
'''Apple''' – Apple does support Audio Class 2.0, but poorly. To overcome this, you can increase the buffer size in the Axe-Fx II's [[I/O menu]]. The driver for Macs is NOT an audio driver. It is a firmware installer. The Axe-Fx II uses a "soft" USB controller. It gets its code from the host computer. When you turn the Axe-Fx II on it requests firmware from the host. This is superior to a hard-coded controller in that updates merely require a new host image rather than reflashing the controller.
 
'''Apple''' – Apple does support Audio Class 2.0, but poorly. To overcome this, you can increase the buffer size in the Axe-Fx II's [[I/O menu]]. The driver for Macs is NOT an audio driver. It is a firmware installer. The Axe-Fx II uses a "soft" USB controller. It gets its code from the host computer. When you turn the Axe-Fx II on it requests firmware from the host. This is superior to a hard-coded controller in that updates merely require a new host image rather than reflashing the controller.
  
OS X Catalina: this requires the 64-bit driver from Fractal Audio.  
+
OS X Catalina and later require the 64-bit driver from Fractal Audio.  
  
 
<blockquote>"The driver that we supply for OS-X computers is NOT an audio driver. It is a firmware installer. The Axe-Fx II uses a "soft" USB controller. It gets its code from the host computer. When you turn the Axe-Fx II on it requests firmware from the host. This is superior to a hard-coded controller in that updates merely require a new host image rather than reflashing the controller."</blockquote>
 
<blockquote>"The driver that we supply for OS-X computers is NOT an audio driver. It is a firmware installer. The Axe-Fx II uses a "soft" USB controller. It gets its code from the host computer. When you turn the Axe-Fx II on it requests firmware from the host. This is superior to a hard-coded controller in that updates merely require a new host image rather than reflashing the controller."</blockquote>

Revision as of 12:58, 16 October 2019

About USB

It's important to understand that USB can mean several things:

  • connection method to transmit digital data between USB ports, for example to transfer presets to/from a computer, to run the editor, to transmit MIDI-over-USB etc.
  • USB Audio: streaming of audio signals
  • mass storage, as in a USB thumb drive

Support for these features differs per processor.

Processors

Axe-Fx III

The Axe-Fx III has a dedicated 16-core, 500 MHz USB microcontroller. It supports USB 2.0 to connect the unit to a computer, to run software editors and Fractal-Bot. It also support USB Audio and direct connection to iOS devices.

The USB subsystem boots instantly on power on, it doesn't depend on the DSP. But it does need some time to settle down though. It's recommended to wait a little, before launching the editor.

Windows – requires installing a USB driver. Requires Windows 7 SP1 or newer.

Mac – no driver required (class compliant). Requires OS X 10.6.8 for MIDI over USB, 10.9 for USB Audio.

(Owner's Manual) "If you are using a USB-B to USB-C adapter own a newer Apple computer, always plug the USB-C end of the adapter into a USB-C or Thunderbolt 3 (USB-C) port on your Mac first, and then connect the USB cable of your Axe-Fx III to the adapter."

"Still USB-over-MIDI but at least 10x faster." source

"The Axe-Fx III has a new driver. I just tested it under Reaper and was able to set the buffer size to 8 with no problems. I typically have it at 256 because I monitor directly from the output but it seems to be working fine on the lowest setting." source

"I can only get 8 to work on my fastest machine with nothing else running. 16 works on all my machines except my Macbook which I have to use 64." source

"The USB buffer size on the Axe-Fx III itself goes all the way down to 8. 256 is the highest setting and is the (conservative) default value." source

Note: the quotes above apply to the Windows driver. Macs typically require a higher buffer setting to prevent audio distortion. From the Axe-Fx III Owner's Manual:

“Set this to lower values for less latency with USB Audio, set to higher values if you are experiencing distorted audio. Stop USB audio streaming when changing this value so as to allow the buffer to reset properly. Streaming can be stopped by closing the application sending data to the Axe-Fx III or by disconnecting the USB cable."

USB performance can be monitored on the Meters page of the Home menu. Also, Utilities > USB shows the USB buffer performance which should be around 50%.

USB Audio:

The Axe-Fx III supports 8x8 USB Audio: 16 channels (8 in, 8 out). Sample rate is fixed at 48kHz, 24-bit.

"The effective throughput of USB 2.0 is roughly 280 Mb/s. One channel of audio is 48000 samples/s * 24 bits/sample = 1.152 Mb/s. Theoretically you could transfer over 200 channels of audio on USB 2.0." source

USB In (from Axe-Fx III to Computer):
1+2: Output 1 (regular stereo output)
3+4: Output 2 (regular stereo output)
5+6: Input 1 (copy of signal at front/rear Instrument input, for reamping, mono)
7+8: Input 2 (copy of signal at Input 2, stereo)

USB Out (from computer to Axe-Fx III):
1+2: Routed to physical Output 1 L+R (audio from computer, added to OUT1)
3+4: Routed to physical Output 2 L+R (audio from computer, i/e/ backing tracks that can be processed separately)
5+6: Routed to the Grid via INPUT 1 block when its source is set to USB (for reamping)
7+8: Routed to the Grid via the dedicated INPUT USB block (for additional computer audio)

The source of USB Outputs 7,8 (to computer) can be set. Inputs 2-4 can be assigned to USB 7,8.

The level of the incoming USB Audio signal can be adjusted in the I/O menu.

A USB audio sound source can be placed anywhere on the grid with its own dedicated USB block.

Incoming sound from USB Audio is mixed with the signal that comes out at Output 1. Firmware Ares allows changing this to Output 2 in the I/O menu.

This provides a way to route the computer's system audio, entering the processor, to Output 2 instead of Output 1.

Iii meters.jpg

USB Audio.png Audio Devices.png

iOS: The Axe-Fx III supports direct connection to iOS devices, using Apple's Lightning-to-USB Camera Adapter. This lets you run apps (such as BandHelper and Set List Maker) on a mobile device without requiring an additional MIDI-to-USB interface (which the Axe-Fx II required). The connection also supports USB Audio between the III and the iOS device.

FM3

To be added... @@

"The USB outputs (IN Endpoints) are Output 1 L/R, Instrument In and Input 2 Left." source

Axe-Fx II

To connect the Axe-Fx II through USB, a driver (Windows) or firmware installer (Mac) must be downloaded to the device first from a computer. If it's not installed, utilities such as the editor, Fractal-Bot and Cab-Lab won't recognize the Axe-Fx II. Also, tablets such as an iPad do not connect to the Axe-Fx II, until the support system has been downloaded to the unit first (without power cycling).

Download USB driver/installer for Mac and Windows

Windows – the Axe-Fx II is an Audio Class 2.0 compliant device. A class-compliant device requires no drivers. The drivers are provided by the OS manufacturer. Audio Class 2.0 also encompasses MIDI-over-USB. Microsoft does not support Audio Class 2.0. Therefore FAS provides a driver for Windows systems. The driver for Windows contains both the firmware installer and the audio drivers.

Apple – Apple does support Audio Class 2.0, but poorly. To overcome this, you can increase the buffer size in the Axe-Fx II's I/O menu. The driver for Macs is NOT an audio driver. It is a firmware installer. The Axe-Fx II uses a "soft" USB controller. It gets its code from the host computer. When you turn the Axe-Fx II on it requests firmware from the host. This is superior to a hard-coded controller in that updates merely require a new host image rather than reflashing the controller.

OS X Catalina and later require the 64-bit driver from Fractal Audio.

"The driver that we supply for OS-X computers is NOT an audio driver. It is a firmware installer. The Axe-Fx II uses a "soft" USB controller. It gets its code from the host computer. When you turn the Axe-Fx II on it requests firmware from the host. This is superior to a hard-coded controller in that updates merely require a new host image rather than reflashing the controller."

The Axe-Fx II supports USB-to-MIDI, so there's no need to use a MIDI interface in most cases. An external audio interface is required only when connecting the analog Axe-Fx II outputs to a computer.

USB Audio:

USB Audio is supported. Sample rate is fixed at 48 kHz, 24-bits.

Lower USB Buffer Size in the I/O menu for less latency, and increase when experiencing distorted audio. You should stop USB audio streaming when changing this value so as to allow the buffer to reset properly. Streaming can be stopped by closing the application sending data to the Axe-Fx or by disconnecting the USB cable.

The meters in the Utility menu display the USB performance. Ideally the bar should be at around 50%. If the bar sinks all the way to the bottom or goes all the way to the top, then the buffer may under/overflow and the USB buffer size should be increased. The number of buffer errors that have occurred since the last buffer reset is indicated above the bar graph.

USB Level in the I/O menu sets the level of the USB input signal sent to the main outputs. If you don't hear anything when monitoring the Axe-Fx through a computer, check this parameter. Also verify the USB/DIGI OUT setting.

"The Axe-Fx II USB is 24 bits. This is 144.7 dB of dynamic range. Full-scale is about +20 dBu. So even if your guitar is -20 dBu (-40 dB re. FS) you still have over 100 dB of dynamic range. A typical single coil pickup can easily exceed -20 dBu. A humbucker can easily exceed 0 dBu. Full-scale of 20 dBu gives you a few bits of headroom in case of very hot pickups. The self noise of a guitar pickup and associated electronics limits its dynamic range to less than 100 dB typically." And: "The digital bit depth on the USB and Digital I/O exceeds both the dynamic range of the Axe-Fx itself and certainly that of any guitar. Furthermore the bit depth is sufficient to fully capture the dynamic range of a guitar while still maintaining +20 dBu as full-scale." source

"The hardware is incapable of doing 4x4. The only choices are 3x3 or 4x2 and Logic doesn't work with 3x3. We also had some issues with 3x3 in Windows 7 IIRC." source

USB features.png


USB Adapter Mode:

The Axe-Fx II itself can be used as an USB-to-MIDI interface. This can be handy to update the firmware on the MFC-101 MIDI foot controller using Fractal-Bot. This is explained in the Fractal-Bot manual.

Always disable this special feature when not using it, because it slows down all USB transfers.

"The USB Adapter feature was added for simple USB-to-MIDI functionality, specifically firmware updates for the MFC-101. It is a low priority task since audio processing is the Axe-Fx's primary usage. Latency is not guaranteed. It is not intended as anything more than a no-frills, simple MIDI adapter for non-critical tasks." source

USB Adapter Mode has not been implemented in the Axe-Fx III.

AX8 and FX8

The AX8 and FX8 have an USB 2.0 type B port (host). It's fully class-compliant.

USB is used to connect the unit to a computer, to run software editors and Fractal-Bot. No driver required.

USB Audio is not supported.

USB-B to USB-C

The Axe-Fx II, AX8 and FX8 have USB type B ports. Directly connecting these to a computer with a USB type C port, like a MacBook, can cause issues when using a straight USB-B to USB-C cable. Always connect the cable to the computer first. Sometimes it helps to put an adapter (multiport) between devices to make things work.

The Axe-Fx III doesn't have this issue.

CPU usage

Read this: CPU usage

USB Audio

Read this: Digital I/O

Troubleshooting

Length of USB cable

"The Axe-Fx III moves a LOT more data over USB than the II. The audio is 8x8 vs. 4x2 and the MIDI-Over-USB interface runs 10-100x faster. Therefore it is important that the cable adhere to specifications (5m max)." source

Ground loop

High-pitched noise may be caused by a ground loop.

"The USB spec calls for grounding the cable at both ends (mistake). This can create an USB ground loop. Make sure everything is plugged into the same outlet strip." source

Screen flicker

(Axe-Fx II) "An occasional flicker when hooked up to USB is not unusual. This is due to the screen redraw being interrupted by the USB thread." source

USB problem? Check the cable

When experiencing problems such as dropped connections or worse, always replace the USB cable first! Even if the cable works with other devices, it may be faulty.

Also, use cables which are as short as possible (< 5 meter). Cable length is a frequent cause of intermittent failures.

Distorted audio playback

If audio playback through the Axe-Fx II or III is distorted, increase the USB buffer size.

USB performance can be monitored in the Utility menu.

Solving Apple audio problems

If you have issues using USB with a Mac, try cleaning all audio preferences, as explained here.

Linux

The Axe-Fx II and Axe-Fx III can work as an audio and MIDI interface just as they do on Windows or OS X, although Linux is not supported officially.

Axe-Fx II

Procedure:

  • Before firmware is loaded the device will be reported as a USB device with Vendor ID 2466 and Product ID 0003.
  • After the USB controller gets loaded with its firmware the Axe-Fx II will be recognized as a USB soundcard device with Vendor ID 2466 and Product ID 8003.
  • For a named output when using lsusb, adequate entries for Fractal Audio Systems and the Axe-Fx II must be added to "usb.ids" (typically under /usr/share/misc/usb.ids). See source

Loading the USB firmware:

  • Ubuntu 16.04 and above users can use AlbertA's PPA and install the axefx2-usb-firmware package (sudo add-apt-repository ppa:albaguirre/axe-fx2 && sudo apt update && sudo apt install axefx2-usb-firmware)
  • For others, volt created an install script package that is available for download here.

Since the Axe-Fx II is an Audio Class 2.0 compliant device no additional drivers are needed. The Linux kernel already supports such devices. However, depending on your kernel version, there can be some issues:

  • For systems with a kernel older than 3.10, you will need to patch clock.c in the ALSA's usb-audio kernel module (<linux>/sound/usb/clock.c). See more here.
  • For systems with a kernel older than 4.10, the ALSA usb-audio driver may cause overflows or underflows at the device since there is no proper sync applied. A patch is available here. See more here.
    • Ubuntu 16.04/16.10 users can use AlbertA's PPA and install the snd-usb-audio-dkms package which installs the patched kernel module (DKMS actually builds it for your running kernel and rebuilds any time there's a kernel update).
    • To verify check the “USB” bar graph in Utility->Status which displays the amount of data in the USB FIFO buffer. Ideally the bar should be at around 50%. The number of buffer errors that have occurred since the last buffer reset is indicated above the bar graph - this should be zero when the driver is functioning correctly.

Threads about using Axe-Fx II with Linux:

Axe-Fx III

The Axe-Fx III, unlike the Axe-Fx II, has the firmware built in - so there are no firmware binary blobs that have to be uploaded.

Kernel patches

The required kernel patches have been merged in Linux v4.18. Ubuntu 18.04.2 (or derivative) has upgraded to kernel version v4.18 so the Axe-Fx III should work out of the box.

What follows are descriptions of the required patches previous to v.18:

Threads about using Axe-Fx III with Linux: