Granola
- Time:
- 4 weeks.
- Collaboration:
- Independent.
- Tools:
- XCode (SwiftUI, Swift), Figma.
About
Granular synthesis is a method of sound design that creates textured sounds by repeatedly playing a small slice of a larger sample usually 50 milliseconds to 2 seconds in length. It is a particularly popular method of sound design with artists who use unorthodox samples, such as sounds from nature.
The goal of this app was to make granular synthesis more accessible and portable by taking samples directly from the user’s surroundings using the iPhone's built-in microphone when the user is surrounded by their sampling material. Using Granola, users would be able to experiment on the go with a granular synthesis engine and four built-in audio effects.
Process
This app was built using SwiftUI, Apple’s declarative programming language.
Users record and save audio files within the app and can edit and play back audio effects.
Features include in-app recording, file export, file persistence, file editing, and four audio effects taken from AVFoundation found in Apple developer documentation: reverb, delay, a 3 channel EQ, and Bitcrush.
Libraries used: AVFoundation and dmrschmidt’s GitHub package for generating waveform images in iOS style.
Reflections
You can’t (and shouldn’t) build everything from scratch. Learning to use and build upon what people have already created is an important part of software development - this was my first time using real development documentation to build an application. A big part of this project for me was understanding how my code would be based on Apple developer documents and GitHub repositories.
This project was ambitious for its planned timeline. Figuring out how to scale the app’s functionality back while still being a useable standalone app that meets the project’s requirements was a necessary tradeoff. While the granulator remains to be built, the app still functions as a fun tool to experiment and play with.