In this chapter we will explore generating audio on the Raspberry Pi. This will include:
Sound on the Raspberry Pi
Interacting with the GPIO pins
Writing applications in Python and C
Generative composition and live coding with Sonic Pi
We will first learn how to configure the Raspberry Pi to switch between either the analogue or digital (HDMI) sound outputs.
Following this, we will discover how we can use the GPIO pins to provide input for playing sounds on the Raspberry Pi via Python. This will introduce us to ALSA. ALSA stands for Advanced Linux Sound Architecture and provides audio and MIDI support to Raspbian.
After looking at audio via Python, we will then move on to see how ALSA is implemented in C and how programs can be written that incorporate it.
Our final exploration of sound on the Raspberry Pi will lead us to Sonic Pi. You will discover how you can write scripts in the GUI that play a variety of sounds and ultimately allow you to construct...