I am working on some audio manipulation with my RPI and have a question on how I should process the signals. Right now I have a USB adapter with an Audio In and an Audio Out. What I would like to do, is have an audio signal come from my phone through the 3.5mm jack into the Audio In, then process the signals coming from the Audio In, then once I am done with my data then send it out through the Audio Output of the USB adapter.

In the diagram below, the audio is coming from the phone through the 3.5mm jack (Gray wire) to the Audio Input of the USB adapter. It goes into the RPI and the RPI processes the input, then outputs the raw input value after all the processing is done to the Audio Output port.


  • Is this possible?
  • What application should I use to get the Audio input data from the USB and HOW do i get that information into Python so that I can control GPIO pins based on the frequency, pitch, etc of the Audio input?


1 Answer 1


The best example of audio data manipulating GPIO pins is the LightshowPi project. Experience in Python, especially NumPy is tantamount for the success of such a project. Audio input and output is done with the pyalsaaudio module.

TL,DR: Learn the mathematics behind the Fast Fourier Transform, learn NumPy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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