Pure Data is a free programming language that is ideal for creating audio synthesizers. This project demonstrates how to connect physical controllers such as sensors, slide pots, and switches to your Pure Data program. An Arduino type microprocessor is used to collect the controller data and send it to the computer running Pure Data over USB serial data lines using a unique data transmission protocol.
Just to make things interesting, the computer running Pure Data is a Raspberry Pi housed in an antique phone, and the Arduino programmed micro is Adafruit's sensor packed Circuit Playground Express attached to the phone's earpiece.