Victoria

Victoria is a basic audio sampler that tries to make playing music and sound as accessible as possible, lowering the barrier of entry and making it playful and experimental. The source sound samples can be saved on a USB thumb drive and are automatically mapped to the different touch interfaces of the device.

When you click play, data is loaded from Vimeo. Tracking is disabled and no cookies are set. Click here to read the privacy policy of Vimeo

The device is named after the movie of the same name from 2015. It is assembled from pre-built components and built on top of a Raspberry Pi Zero with different touch interface modules and interchangeable audio output HATs. It plays back audio samples from a USB thumb drive. The samples are mapped automatically to the touch interface based on their directory and name. It has a small screen for live debug information and five additional buttons that control the volume and the mode selection. The different modes influence how the samples are played; they can be played once, be looped, or layered on top of themselves and each other. The sampler can run off a power bank, and thus be played portably without the need for a power outlet. It can output either to a 3.5mm or RCA audio output, or directly drive small speakers. The script is written in Python and uses the Pygame library to control the audio channels.

The source code is available on GitHub.

I wrote down some notes if you want to build your own.

When you click play, data is loaded from Vimeo. Tracking is disabled and no cookies are set. Click here to read the privacy policy of Vimeo

The project started in 2020, and in 2022 I updated it to version 2. It uses Pimoronis Piano HAT, Drum HAT, pHAT Stack and Adafruits I2S Audio Bonnet (Pimoronis pHAT DAC also works; for direct output to speakers the HiFiBerry MiniAmp is a good option). A Raspberry Pi Zero W was soldered directly onto the pHAT Stack with enough spacing to put the Audio Bonnet on top. Only one micro USB cable is needed to power the sampler, so a power bank can be used to play on the go. One of those mobile phone OTG thumb drives is used (for example the Transcend JetFlash 880 is the perfect size to fit next to the power connector) because it plugs directly into the Pi Zeros micro USB interface, while also providing a USB Type-A connector.

On the USB thumb drive are two directories: drums and piano. The drums folder can hold up to 8 samples which can be played via the Drum HAT, the piano folder can hold hundreds of samples which can be played via the Piano HAT; with the Octave Up / Octave Down buttons one can cycle through the samples in batches of 13.

When holding the Instrument button and pressing either Octave Up or Octave Down one can change the output volume. Holding Instrument and pressing the Drum HAT pad #8 two times will shut down the Pi.

In 2022, I added a small screen, more buttons and more functionality. The volume can now be controlled via the A and B buttons, which makes it easier to adjust in a live environment. Buttons C, D and E offer the possibility to switch the mode on how sounds are played: C is the default mode, every sound can be started once and then plays until the end. The LEDs on each button is on for the duration of the sound, so you know which sounds are currently playing. D is the toggle mode: each sound loops, and you can stop it by pressing the button again. And finally, E is the chaos mode that works similiar to version 1: each sound starts playing on a button press, but you can press the button multiple times to play many instances of the same sound at the same time. Other than that, some bugs were fixed and the code cleaned up a bit.

Here are some more images, from version 1:

Thanks to Simona for the sound samples, the performance in the video of version 1 and some additional photos.