DIY 4 Channels USB Audio interface (Instrument inputs, configurable gain) ?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Dear experts,

I Would be happy to get your help with my project.
I am trying to connect 3-4 piezo sensors (attached to guitar sound board) to my PC, the idea is that the "guitar" will be connected to the PC with USB cable so that means that I must turn the guitar into an audio interface.

I tried to use Teensy 3.2 with 2 Audio Adapters, but I have faced with 3 major problems.
1. the Teensy Audio Board have very high self noise.
2. The USBAudioOutput object of the teensy is capable of patch only 1 Stereo channel toward the PC.. I tried write a new object but I have failed with this mission.
3. The Teensy Audio Adapter has 1 mic input and 2 Line In inputs, the 2 Line in impedance are 29Kohm.. My Piezos are probably higher than 100K :( SO I had to plan some pre-amp...this also cause a lot of strange things..

At this point I wonder if I should give up with the Teensy soloution, and maybe looking for something else... I have 2 PCM 1803A Breakout boards, (SparkFun Analog to Digital Stereo Converter Breakout - PCM1803A - BOB-09365 - SparkFun Electronics) but I will need to build an pre-amps..the inputs are 40K..


so I am lost and I will be happy to get your help or ideas where to start.
a short summary with the limits i've got :
- 3-4 High impedance inputs (>100Kohm) with configurable gain.
- USB interface
- At least 16bit, 44.1Khz sampling.
- 4*3 cm size... ( After I will find the stable solution I will design a small PCB)

Thanks in advance for any suggestion.
Alon
 
Hi Thanks for this super-fast reply
This looks interesting...I have never heard about Bela. I will look for specifications.. But I am afraid that it too big..

Maybe I wasn't clear with my explanation.. So I will give some background :
We built a guitar, it's a modular guitar with soundboard that can be replaced.
I Would like to transmit the vibrations from the soundboard, in realtime (low latency must) to a PC.
I am collecting the vibrations, the sound, with Piezo sensors (Pure Mini | K&K Sound). ofcourse each of this pickup\sensor produce analog signal.
So I need to build some platform to transmit 3-4 signals simultaneously , coming from those Piezo sensors with high impedances..the power and voltage is not constant since We've got different soundboards, each vibrate different, and each affect the impedance of the piezo sensor differently..


The Teensy story I have mentioned was to explain some challenges I couldn't face so far..
 
Hello alonper,

So what I understand about your project is that you have a guitar with some piezo sensors which are supposed to pickup the sound from the strings. You want to then send that signal to a USB signal so you can record. Right?

You need to preamp the sensors first, so the project must have a preamp. Then you'll need an analog to digital converter (4 of them), and then you'll need a processor to perform data transfer to the USB Host using USB OTG.

The size limitations you speak about should be left until the very last piece of this project. Most things can be miniaturized, but this would come at a cost (commercialization). So if this is a commercial product you'll just need to design your widget first and then miniaturize it by eliminating extra parts and creating your own custom PCB.

I have a similar goal in my project but it is also much different. I want to preamp 4 microphones, and feed them into their own ADC, to be processed by a DSP and sent to speakers with low latency. I'm not looking to record each channel separately, I'm looking for it to be processed by the processor not sent to the Host PC but directly out to the speakers.

Jay
 
Hi Jay, You absolutely understood my needs. Thanks for your response.

Hello alonper,

So what I understand about your project is that you have a guitar with some piezo sensors which are supposed to pickup the sound from the strings. You want to then send that signal to a USB signal so you can record. Right?
Yep. just to clarify, I would like to send 4 signals of the piezos.
You need to preamp the sensors first, so the project must have a preamp. Then you'll need an analog to digital converter (4 of them), and then you'll need a processor to perform data transfer to the USB Host using USB OTG.
I know that I must amplify the signals from the piezos by creating an active filter and amplify, and also to reduce the impedance for the input of the ADC, most have input impedance of lower than 40Kohm, and the piezos can get to a 1Mohm, and it hard to measure it because it depends on the surface they are attached with...

The truth is that I am working on that project for more than 10 months already ...and I was trying to work with the Teensy 3.2
as the USB OTG and the Audio Adapter for teensy as my ADC (Currently working with 1 Teensy and 2 Audio adapters to recieve 4 signals to the LINE-IN inputs...but, there are two main problems with the Teensy.
- The Audio library allows me to send only 2 signals through the USB, I tried to modify the library but it requires deep knowledge in the USB protocol...I have failed with that.
- The Audio Adaptor is based on the SGTL5000, the real problem is that it's got a very high self-noise.

The size limitations you speak about should be left until the very last piece of this project. Most things can be miniaturized, but this would come at a cost (commercialization). So if this is a commercial product you'll just need to design your widget first and then miniaturize it by eliminating extra parts and creating your own custom PCB.

I have a similar goal in my project but it is also much different. I want to preamp 4 microphones, and feed them into their own ADC, to be processed by a DSP and sent to speakers with low latency. I'm not looking to record each channel separately, I'm looking for it to be processed by the processor not sent to the Host PC but directly out to the speakers.

Jay
How do you gonna preamp the Microphones? Is it in your design?..
My real problem Is that I'm kind of a dumb and noobie in the Analog and the Digital business..Attached the Pre-amp I have created( I used the MCP6024 chip for the opamp....and my real problem is that I couldnt simulate the circuit and check the frequency response of this...Is there any free or student-license program that I can try to work with to simulate my circuit without deep knowledge? ( Currently I am working with EAGLE 8.3.2)


I was searching for a different solution than the Teensy, cause of the self-noise and also the limit with the amount of the signals that can be transfers over the USB..
I thought about the miniDSP USBStreamer(its the smallest I found.. to be my new USB OTG and working with another ADC via I2S..Currently I've got two PCM1803A breakouts...But I'm not sure if it can work with the PCM1803A...
Anyway, I will be happy to get advises from your experience..


I Hope that I was clear enough with my bad English.
anyway Thanks a lot for your time.
any suggestion will be great
 
I am not totally clear on your configuration. However, my suggestion is you simply tie all the piezos together and then run them into a 9v battery powered acoustic instrument preamp. All 4 transducers are on the same guitar, correct?

You definitely need to amplify the piezos. There are a lot of commercial products out there for acoustic instruments. However, they are for a single input, not 4 separate channels. But, running all the piezos in parallel (tying them all together) will not degrade the sound. Many guitar piezo saddles have 6 separate piezos which are wired in parallel, then wired into an onboard preamp.

So, I would simply solder all the piezos together and then run them through a preamp of some sort.

From there you need an analog input to USB adapter box. There are quite a few on the market for about $100.

A/D conversion is very fast. Your latency issues are going to be inside your computer. Whatever software you use to access the audio data is going to have adjustments for buffer sizes, and that's where you tweak it for minimum latency while maintaining good audio quality.

If you need 4 separate audio streams simultaneously into your computer via USB, that becomes a much more complex and/or expensive problem.

A simple op-amp based mixer with preamp would be a way to allow adjusting the relative signal strengths of each piezo. Four channels, each with a volume control (and eq if you need it), then sum all of those together through a final op-amp buffer for an analog output. Then put that analog output into a commercial USB interface box.
 
How do you gonna preamp the Microphones? Is it in your design?..

If I were to use an analog microphone preamp for my project, I would look into the ESP Low Noise Balanced Microphone Preamp. It's audio grade quality. I actually have two of them soldered up from a friend of mine but I haven't had time to test them. After the new year I'll make it a point to turn them on and test the quality of the sound.

But I've been more interested in the preamps built into some modern audio IC's. I'm interested in the TLV320AIC3104 series. They are inexpensive and they have built in microphone preamps, with balanced inputs. They can be used in multiples to create 2x2, 4x4, 8x8, etc configurations. I'm also interested in the PCM1864 series as well. They are 4 channel ADC converters that can be used in multiples as well. Both chips have preamps built right in.

We need to figure out if we can get the Pi Zero to serve as an I2S bridge, acting as a soundcard. If so, how many record/playback channels is theoretically possible.
 
So, I would simply solder all the piezos together and then run them through a preamp of some sort.
My main goal in this project is to stream each of the Piezos signals separately...
I am working on a new version for this research The Chameleon Guitar, and the most important aspect is to stream all the 4 piezos thats located on a different places on the resonator (soundboard) to the PC and then analyze them and perform some sound manipulations...it pretty complicated to understand why, but this is the main goal of our research..

Anyway I've got to design a good pre-amp to convert the high impedance to low, and to amplify to line level..then I need to find an 4 channel ADC with USB interface, or add another USB gate , maybe the miniDSP USBStreamer, its got I2S inputs..

Quote:
If you need 4 separate audio streams simultaneously into your computer via USB, that becomes a much more complex and/or expensive problem.
Yes, I agree with flysig. If you can merge your 4 channels together and record a mix, your project is quite simple and can be accomplished with any USB soundcard. Including those very inexpensive (and tiny) ones.
I know that this mission is complicated but this is the main goal of my project :(

But I've been more interested in the preamps built into some modern audio IC's. I'm interested in the TLV320AIC3104 series. They are inexpensive and they have built in microphone preamps, with balanced inputs. They can be used in multiples to create 2x2, 4x4, 8x8, etc configurations. I'm also interested in the PCM1864 series as well. They are 4 channel ADC converters that can be used in multiples as well. Both chips have preamps built right in.
The PCM1864 input impedaces per analog input is really low...its about 10-20K.
 
Thank you, it's been a while and I just got the miniDSP USBstreamer that has 4 I2S inputs and It can be my USB gateway...
Currently I am trying to concentrate on the USB ADC module, later on, I will design the pre-amp for the channels.
so I am looking on this breakout :SparkFun PCM1803A Stereo breakout,and I am working on redesign this board to have 2*PCM1803 adcs, with 2*I2S data outputs, removing the crystal oscillator and receiving the Master Clock from the USBStreamer.
 
Yes, that's an option, but I must redesign the original SparkFun design because it doesn't have MSCLK I2S input and it cant work with the USBstreamer,
In the meantime, I just removed the oscillator and added pin with MSCLK input. you can look here : OSH Park ~
now I am trying to add extra PCM1803 chip for 2 more channels..
 
Last edited:
alonper,

The Teensy Audio Library can record 4 channels input, it's pretty tiny, but it doesn't have a preamp. I saw you on that forum so I figure you know about this right?

Teensy Audio Library, high quality sound processing in Arduino sketches on Teensy 3.1

I don't think you can record 4 channels USB - but you can record 4 channels to the SD card and then import those files into the computer. I'm not sure if that does what you want it to do.

I'm currently looking at this for my project. My Teensy comes in the mail Friday.

Jay
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.