Converting analog audio to digital audio, to send to a USB device?

This may not be possible, but thought it worth pursuing. I do have some experience with Arduino, as I customized a guitar effect pedal and added MIDI control to it, and am not afraid to dig in deep to accomplish my goals. Here's my thread from a year or so ago on my previous project: Virtual, variable resistors, with saved presets recallable by MIDI - General Electronics - Arduino Forum

The current scenario is: I have a guitar floor processor (a Line 6 Helix) which has a USB-B type jack, and will accept a connection from an iOS device using an Apple Camera Connector Kit adapter, or direct connection to a computer. When the iOS device is connected, an 8x8 digital audio interface is established between the two, allowing audio to go in either direction. When directly connected to a computer, the guitar processor shows up as an audio interface in the computer's OS (so it becomes an available sound card).

I assume the iOS device is acting as a computer (a "USB Host" maybe?), and the guitar processor is acting as a "USB Device". Although I may be getting these terms completely wrong.

What I would like to investigate is, the possibility of building an Arduino powered device which can connect to the USB-B jack on the guitar processor, and accept a stereo audio signal (like an 1/8" stereo input jack), then convert the analog audio to digital audio, and send it to the guitar processor on USB audio 1/2 channels.

I assume this is more complicated than just converting analog audio to digital, as the host-to-device relationship connection would need to be made between the guitar processor and the Arduino as well; and I believe this relationship connection is where the complexity lies.

Is an Arduino even capable of doing this? There really isn't any other solutions for this, other than connecting the guitar processor to a computer, and then conecting the analog audio source to the computer; but that isn't very portable. And even the iOS device solution doesn't allow for an analog audio source to be passed into the guitar processor.

The end goal is to have something small and portable to enable analog audio to be sent into the guitar processor over the USB audio input.

I assume this is more complicated than just converting analog audio to digital, as the host-to-device relationship connection would need to be made between the guitar processor and the Arduino as well; and I believe this relationship connection is where the complexity lies.

The bad news is, you're right... On the host side there is a driver that communicates with the firmware in the USB device. I assume you installed some software for the Helix and that installation probably included some drivers. Windows and OSX come with some standard drivers and "class compliant" USB audio devices work with these Microsoft-supplied and Apple-supplied drivers so you don't have to install a driver because it's already there. I don't know about iOS.

I'm kind-of lost with your signal-flow and overall analog & digital "ins & outs" but I think you'd run into limitations with the Arduino. It's not fast-enough to do "complex" DSP (digital signal processing). There is no DAC (which you may not need with the Helix) and the ADC is only 10-bits and it's only accurate to a sample rate of 15kHz (which limits the audio to 7kHz. That might be "good enough" for guitar but it's 2018 and I'd say you ought to be using at-least "CD quality" (16-bits, 44.1kHz).

You might look into the [u]Raspberry Pi[/u]. it's got a built-in "soundcard" and a USB port. But drivers for the Helix might be an issue, as well as processing speed depending on how much processing you want to do.

Thanks for the reply. I was looking into the Pi as well, and think you're right in saying that is the way to go.

I didn't install any software for the Helix to work with the iOS (ie: Apple) device, but I'm sure that's because it is a USB class compliant device, which supports 8x8 audio and MIDI.

My desired signal flow is 1/8" stereo analog audio in from an external source (sound board, MP3 player, stage monitoring signal, etc ...), and two channels of USB audio out (into the Helix). There's a particular way the Helix handles USB audio in on channels 1 and 2 which I want to feed an analog signal directly into.

When the Helix is connected, it essentially becomes the sound card for the connected device. I believe the Pi can do this, since I'm dealing with a class compliant device, but I'm not sure how Linux handles it. When connected, there would be 2 sound cards. The integrated one in the Pi, for the incoming analog audio, and then the Helix as the second sound card (connected VIA USB) for the outgoing digital audio.

Thanks for the info, I'll go do some research on the Pi and see what I can come up with.

You might look into the Raspberry Pi. it's got a built-in "soundcard"

No it hasn't.