Dixon Steel
Dixon Steel

Reputation: 1061

Android and Sound processing?

I am taking this crazy class on Moble Programming. We have to do a final project and I would like to do some sort simple guitar processor app.

I wanted to do this in IOS, but it seems like the learning curve for IOS is to impractical for a short class.

No offense to anyone but Droid is easier to program, at least to me, but I am confused if you can even get guitar input from a jack (not mic) and then do some processing on the input and feed it to the output.

I'm aware of latency, which may or may not be a big deal for a class.

Does anyone know if Droid can do anything like this? If so any articles or somewhere to start? I know with IOS you can at least buy a jack and it seems to have tons of open source processing code, but I can't seem to find anything for Droid. All I have seen is "Ghetto Amp" for guitar stuff.

Any ideas?

Thanks

Upvotes: 2

Views: 2040

Answers (2)

I wrote a MIDI guitar for a college project a long time ago, in assembly for a Texas Instruments DSP. As long as you just played exactly one note, and were really careful about it, it could tell what you'd played.

Not much amplification was needed. In fact, I could get some notes even on an unamplified signal. I had oscilloscopes and a pretty generalized ADC to work with, you might have to amplify the signal...but if you do, be careful not to fry your input. Start low...and really, the more you can read up on the tolerances the better.

Looks like they never made any hi-fi micro-USB 24-bit ADCs or wrote drivers for them. I guess there's no market. :) But if you're doing a school project and not producing the latest Muse album, get a path from your guitar to the headset line in:

http://androidforums.com/android-media/194740-questions-about-audio-recording-droid.html

I'd probably just sacrifice a cheap or broken headset to get the headset plug. ( Maybe they sell appropriate tips at Radio Shack but I've learned not to assume such things anymore :-/ ) After building a cable I'd I'd feed it an amplified signal from the guitar so I could control the gain level to whatever I wanted.

Depending on latency requirements you can use Java or NDK. Note this answer:

Need help about sound processing

(I have one of the original Droids sitting around in a drawer, I'm sure I could use it for something but I just haven't figured out what!)

Upvotes: 2

SnowyTracks
SnowyTracks

Reputation: 1985

You may want to look at this project: http://code.google.com/p/moonblink/wiki/Audalyzer

should be pretty useful :)

However the core class you will be using to pick up and look at audio streams is: http://developer.android.com/reference/android/net/rtp/AudioStream.html

Upvotes: 2

Related Questions