0
$\begingroup$

I'm developing a mobile application that controls Bluetooth sound-speaker functions, which includes an equalizer to modify the output audio frequencies.

The audio processing module on the speaker only has an Audio Codec processor (but no Digital Signal Processor, DSP). Is it possible to still implement a program that modifies the audio frequencies (but only relying on the DSP of the host device i.e Apple, Android device), and then transmits the modified frequencies to the speaker (Audio Codec Processor)? Thus, can you bypass the DSP?

Beginner

$\endgroup$
  • $\begingroup$ just a note: DSP usually stands for Digital Signal Processor; sound is just a special kind of signal ;) Generally, what any chip can and can't do depends on the chip; you'll need to dig up a datasheet for whatever you're using. $\endgroup$ – Marcus Müller Feb 20 at 10:34
  • 1
    $\begingroup$ Can you please clarify where would ideally the processing take place? Is it on the phone? If the phone uses the bluetooth audio functionality then the signal path there is almost analog. If you are talking about processing data before it gets streamed to the speaker, then you could do it using the mobile device's CPU. Otherwise, the only way to "bypass the DSP" is an analog signal path. $\endgroup$ – A_A Feb 20 at 14:37
2
$\begingroup$

Is it possible to still implement a program that modifies the audio frequencies (but only relying on the DSP of the host device i.e Apple, Android device), and then transmits the modified frequencies to the speaker?

I can give you an absolute, positive, definite maybe.

You absolutely positively can do digital signal processing in your cell phone's CPU -- digital signal processing is just math, and can be done in any general-purpose processor. The only thing special about a digital signal processor is that it's heavily optimized for the sort of computation that's needed for most DSP work.

The presence of dedicated DSP chips on the market is fading these days, because general purpose processors are getting cheaper and faster in general, and because general purpose processors are getting more and more "DSP-ish" features. So there's a good chance that a new device will have plenty of raw horsepower.

Where the "maybe" comes in is whether the phone's operating system supports doing real-time DSP on the processor, whether the processor has sufficient computational power do implement your desired algorithm, and how easy the phone's operating system makes it for an app to do the work. The answer to the OS part of that "maybe" is a question for Stack Overflow or some other more "pure" software-engineering oriented site; the answer to the processor loading part of that "maybe" is for you to determine experimentally once you've figured out how to write an app that can diddle with the audio stream.

| improve this answer | |
$\endgroup$
0
$\begingroup$

Yes. I have several apps in the App Store which do a significant portion of classic DSP (filtering, equalization, spectral analysis, etc.) on the CPUs of Mac and iOS devices. The DSP performance of the Apple A12 chip greatly outperforms most DSP chips of just a few years back (in raw computation, not necessarily power consumption efficiency).

There many other audio equalizer and DSP apps from other developers in the App Store as well.

iOS includes built-in frameworks with many APIs supporting DSP (biquads, ffts, convolutions, and etc.)

The A series chips in iOS device may contain an audio DSP (perhaps more than one, to do microphone beam forming, radio modulation, and etc.) in addition to the CPUs and GPUs, but those DSPs are inaccessible to developers on stock OS devices.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.