October 2024: Fractal Audio's VP4 Virtual Pedalboard has been added to the wiki.

Difference between revisions of "USB"

From Fractal Audio Wiki
Jump to navigation Jump to search
Line 337: Line 337:
  
 
=Tips, tricks and troubleshooting=
 
=Tips, tricks and troubleshooting=
 +
 +
==CPU usage==
 +
 +
USB traffic does not increase CPU usage on the Axe-Fx III and FM9, because it's handled by a dedicated processor.
 +
 +
<blockquote>
 +
'''FRACTAL AUDIO QUOTES'''
 +
<HR>
 +
 +
Axe-Fx III:
 +
<blockquote>
 +
[http://forum.fractalaudio.com/threads/how-many-users-are-using-the-axe-iii-as-an-audio-interface.140900/#post-1669577]
 +
The Axe-Fx III USB audio does not add CPU usage. It's handled by a separate processor.
 +
</blockquote>
 +
 +
FM9:
 +
<blockquote>
 +
[https://forum.fractalaudio.com/threads/announcing-the-new-fm9-amp-modeler-fx-processor.176122/post-2142260]
 +
USB is handled by a separate microcontroller (the same micro that the Axe-Fx III uses).
 +
</blockquote>
 +
</blockquote>
 +
 +
On older generations hardware, USB traffic increased CPU usage. [http://forum.fractalaudio.com/threads/usb-connection-raises-preset-cpu-utilization-by-5.41013/#post-551466]
 +
 +
<blockquote>
 +
'''PREVIOUS GENERATIONS'''
 +
<hr>
 +
Axe-FX II:
 +
<blockquote>
 +
[https://forum.fractalaudio.com/threads/usb-connection-raises-preset-cpu-utilization-by-5.41013/post-551466]
 +
[…]
 +
USB does increase CPU utilization since it is a bit of a bus hog.
 +
</blockquote>
 +
</blockquote>
  
 
==Fractal Audio Support==
 
==Fractal Audio Support==

Revision as of 11:42, 1 November 2024

About USB

On Fractal Audio's devices, a Universal Serial Bus (USB) cable connection does several things (depending on the device).

  • It's a physical connection between devices.
  • It's used to transmit digital data, such as transferring presets to/from a computer.
  • It's used for communication between the software editor and the hardware.
  • It's used to transmit MIDI data (MIDI-over-USB).
  • It carries USB Audio (audio data) through multiple channels.

USB is also used for mass storage, as in a USB thumb drive, but this is not supported on Fractal Audio products.

Axe-Fx III and FM9

Hardware

The Axe-Fx III and FM9 have a dedicated 16-core, 500 MHz USB microcontroller. The USB port is a USB peripheral, not a USB host.

The USB 2.0 protocol is used to connect the device to a computer and to run software for data transfers and MIDI-over-USB. USB Audio is also supported.

The USB subsystem boots instantly on power on. It doesn't depend on the main DSP(s), but it does need some time to settle down.

You can connect the Axe-Fx III and FM9 directly to an iOS device such as an iPhone or iPad. Use the appropriate USB cable, or a wireless MIDI adapter, or Apple's Lightning-to-USB Camera Adapter. This lets applications, such as BandHelper, communicate with the device without requiring an additional MIDI-to-USB interface which the Axe-Fx II requires. MIDI commands and USB Audio are supported.

FRACTAL AUDIO QUOTES


Axe-Fx III:

[1] […] the USB port is a USB peripheral.

[2] The USB port is USB 2. It is the computer's responsibility for any USB3 ports to be backwards compatible with USB2.

[3] Still USB-over-MIDI but at least 10x faster.

[4] Axe-Fx III and FM9 have a separate USB microcontroller that handles USB, among other tasks.

[5] (about support for MIDI Thru over USB) That would be what we'd call "USB adapter Mode" and it is not a feature of our current generation of products at this time.

FM9:

The FM9 has the same USB audio interface as the Axe-Fx III (same chip).

[6] Axe-Fx III and FM9 have a separate USB microcontroller that handles USB, among other tasks.

Firmware

The main firmware for the Axe-Fx III and FM9 does not cover USB communications. That is handled by separate USB firmware which doesn't need regular updates. The Setup menu on the hardware shows the installed version. The current USB firmware can be downloaded from the product pages on Fractal Audio's website. Install the USB firmware with Fractal-Bot.

Current USB firmware:

  • Axe-Fx III: 1.17
  • FM9: 1.03

With older firmware, the size of the USB buffer was adjustable in the I/O menu through the USB BUFFER SIZE parameter. This has been removed in current firmware.

If the I/O menu still shows the USB BUFFER SIZE parameter, check the installed USB firmware version in the Setup menu. If it's lower than the current version on the website, download and install the latest USB firmware update.

Operating system driver

Windows computers require installing a software driver for USB Audio and MIDI-over-USB on the Axe-Fx III and FM9. The driver can be downloaded from the product pages on Fractal Audio's website. Install the driver with Fractal-Bot.

Mac computers do not require a driver.

Meters

USB I/O performance can be monitored on the Meters page of the Home menu.

Iii meters.jpg

USB Audio

The Axe-Fx III and FM9 support 8x8 USB Audio (8 in, 8 out) which comes down to 16 channels.

Sample rate is fixed at 48kHz, 24-bit.

FRACTAL AUDIO QUOTES


[7] 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.

USB In (from device 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 device):
1+2: Routed to physical Output 1 L+R (audio from the 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 I/O menu provides some configuration parameters:

USB Output Mapping 
Incoming sound through USB Audio is mixed with the signal that goes out at Output 1. This can be changed to Output 2. This provides a way to route the computer's system audio that enters the processor to Output 2, instead of Output 1.
USB Output 7.8 Source 
The source of USB Outputs 7/8 (to computer) can be set to Input 2, 3 or 4.
USB Levels 
This lets you adjust the level of the incoming stereo USB Audio signals.

For more information see:

Input USB block

The Input USB block on the Axe-Fx III and FM9 allows signal from USB Outputs 7+8 from the computer to enter the grid. The block can be placed anywhere on the grid.

USB Audio.png

Audio Devices.png

Axe-Fx III USB-Audio.png

FM3

USB

Unlike the FM9 and Axe-Fx III, the FM3 doesn't have a dedicated USB controller. USE support is delivered through the integrated chipset (SoC). Therefore, there are some differences.

Besides the USB-C port, the FM3 also has a USB-A port. However, it's not being used and doesn't deliver power. Make sure to ALWAYS use the USB-B port to connect the FM3 to a computer.

The FM3 is NOT a USB MIDI Device. It uses “COM over USB” channels to communicate with apps such as Fractal-Bot, FM3-Edit and Cab-Lab, but it doesn't appear as a general MIDI device in a DAW or other MIDI program. Therefore, MIDI-over-USB isn't supported either. Instead, use a separate MIDI/USB cable or interface for that task.

A direct connection to iOS devices is not supported.

FRACTAL AUDIO QUOTES


[8] FM3 USB is built into the SoC.

[9] The USB-A connector is for a FLASH drive to import/ export presets. However it’s currently not working yet.

[10] The USB A port is NOT designed to be connected to a computer. It is reserved for future expansion.

[11] The USB-A port can be whatever we want but it requires writing drivers (or buying them and hooking them into the OS). If the demand is great enough we can look into these things. Peripheral drivers are a lot easier than host drivers and USB-A is host.

[12] The USB-A port can provide power if enabled. At this point the port is disabled and reserved for future expansion.

[13] MIDI over USB is used for Fractal-Bot and FM3-Edit, but the FM3 does not appear amongst the MIDI devices on your computer. For the purpose of preset changes, cc messages, tempo, etc, it can definitely be controlled by a 3rd party MIDI device or MIDI interface, such as a MIDI Sport.

[14] The FM-3 does NOT support MIDI-over-USB. Sending MIDI to it over USB can lead to unpredictable behavior.

No firmware

Unlike the Axe-Fx III and FM9, the FM3 doesn't require separate USB firmware.

Operating system driver

On Windows computers, a software USB driver for the FM3 needs to be installed. The driver can be downloaded from the product pages on Fractal Audio's website. Install the driver with Fractal-Bot.

macOS computers do not require a driver, because the units are class compliant.

USB Buffer Size parameter

The size of the USB Audio buffer can be set in the I/O menu through the USB BUFFER SIZE parameter. This determines the number of samples and thereby the latency between the FM3 and USB host. Lower settings result in better latency (recording and playback) but smaller sizes may not work well with all hosts. A good rule of thumb is to set the buffer to the smallest possible size, increasing if you encounter any USB audio performance issues.

From the 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.

Meters

USB I/O performance can be monitored on the Meters page of the Home menu.

USB Audio

The FM3 supports 4x4 USB Audio: 8 channels (4 in, 4 out). Sample rate is fixed at 48kHz, 24-bit.

When recording:

  • Computer inputs 1+2 receive the signal from the OUT 1 block (to record stereo output from the FM3)
  • Computer inputs 3+4 receive the signal from either the Input 1 port (to record DI for reamping), or the Input 2 port (i.e. to record stereo input signal without processing). This can be selected in the I/O menu.

When playing back audio:

  • Computer outputs 1+2 send the signal directly to the Output 1 ports and headphones port, for unprocessed playback through the FM3 (mixed with the signal from the grid)
  • Computer outputs 3+4 send the signal to either the Input 1 block (for processing), or to the Output 2 ports (for unprocessed playback through the FM3). This can be selected in the I/O menu.

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

The I/O menu provides USB Audio configuration parameters:

  • USB 3.4 Record Source
  • USB 1.2 Playback Destination
  • USB 3.4 Playback Destination
  • USB Buffer Size (see above)
  • USB Levels — The level of the incoming stereo USB Audio signals can be adjusted in the I/O menu.

No Input USB block

Unlike the Axe-Fx III and FM9, the FM3 doesn't provide an Input USB block.

VP4

USB

The VP4 has a USB-C port.

No firmware

The VP4 doesn't require separate USB firmware.

USB Audio

The VP4 supports 2x2 USB Audio: 4 channels (2 in, 2 out). Sample rate is fixed at 48kHz, 24-bit.

When recording:

  • Computer inputs 1+2 receive the signal from the VP's output (to record stereo output from the VP4)
  • Computer inputs 3+4 receive the unprocessed signal from the VP4's input

When playing back audio:

  • Computer outputs 1+2 send the signal directly to the VP4's output, for unprocessed playback (mixed with the signal from the grid)
  • Computer outputs 3+4 send the signal to the VP4's input for processing

No Input USB block

The VP4 doesn't have an Input USB block.

Legacy processors

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 and Fractal-Bot 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).

You can download the USB driver/installer for macOS 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 Setup 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.

FRACTAL AUDIO QUOTES


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 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 Utilities 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.

FRACTAL AUDIO QUOTES


[15] 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.

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.

USB features.png


The Axe-Fx II itself can be used as a USB-to-MIDI interface (USB Interface Mode). 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's manual.

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

FRACTAL AUDIO QUOTES


[16] 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.

USB Adapter Mode has not been implemented in the Axe-Fx III, FM9 and FM3.

AX8 and FX8

The AX8 and FX8 have a USB 2.0 type B port that is fully class-compliant.

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

USB Audio is not supported.

Tips, tricks and troubleshooting

CPU usage

USB traffic does not increase CPU usage on the Axe-Fx III and FM9, because it's handled by a dedicated processor.

FRACTAL AUDIO QUOTES


Axe-Fx III:

[17] The Axe-Fx III USB audio does not add CPU usage. It's handled by a separate processor.

FM9:

[18] USB is handled by a separate microcontroller (the same micro that the Axe-Fx III uses).

On older generations hardware, USB traffic increased CPU usage. [19]

PREVIOUS GENERATIONS


Axe-FX II:

[20] […] USB does increase CPU utilization since it is a bit of a bus hog.

Fractal Audio Support

See Fractal Audio Support's USB Troubleshooting and Testing article for more information.

Cables

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 that are as short as possible, preferably less than 5 meters per the USB specification. Cable length is a frequent cause of intermittent failures.

FRACTAL AUDIO QUOTES


[21] 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).

[22] The USB 2.0 specification is a maximum length of 5 meters (about 16 ft.).

USB-C to USB-B

Directly connecting the USB-B port on a device to a computer with an onboard USB type C port, like a modern MacBook, with a single cable, can cause issues. The connection may drop, especially after the computer awakes from sleep mode, and may require a reboot to work again. It helps to power up the computer first, then the device(s). In many cases it helps to add a multiport adapter to the USB-C port, to make things work.

Owner's Manual:


If you are using a USB-B to USB-C adapter on 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.

Ground loop

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

FRACTAL AUDIO QUOTES


[23] 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.

[24] USB has a flaw in its design in that it causes a ground loop because both ends are grounded. You can use a USB Isolator to break the ground loop. (...) "Disconnecting the ground is dangerous. While it can solve noise due to a ground loop it increases the risk of an overvoltage on the Vbus and data pins which can damage the USB controllers (this is why the spec calls for ground at both ends). The correct way to solve a USB ground loop is to make sure the peripheral and PC are plugged into the same power strip. Keep all power cables bundled close together as possible.

Screen flicker

PREVIOUS GENERATIONS


Axe-FX II:

[25] An occasional flicker when hooked up to USB is not unusual. This is due to the screen redraw being interrupted by the USB thread.

Protection against electrostatic discharges

FRACTAL AUDIO QUOTES


[26] The USB lines have ESD protection. All our products do.

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.

NOTE: Linux is not supported officially.

FRACTAL AUDIO QUOTES


[27] The number of people using Linux is too low to justify the resources required to support it.

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 Axe-Fx II and Linux (again) for more information.

Loading the USB firmware:

  • Ubuntu 16.04 and above users can use AlbertA's PPA and install the axefx2-usb-firmware package using
   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 at archive.axefx.fr.

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 <linux>/sound/usb/clock.c kernel module. There is more information in Axe-Fx II and Linux (again).
  • 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 in ALSA: usb-audio: add implicit fb quirk for Axe-Fx II. More information is available in Linux: USB Overflows.
    • 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.

You will also need to install these Linux packages for USB to show up in Wine.

 lib32-alsa-plugins lib32-libpulse lib32-openal

After that you can start Axe-Edit with the following command:

 WINEDLLOVERRIDES=dwrite=d wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Fractal\ Audio/Axe-Edit/Axe-Edit.exe 

The following threads contain more information 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 a derivative, has upgraded to kernel 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:

These threads have more information about using the Axe-Fx III with Linux: