This is my submission for the WWDC 2024 Student Swift Challenge
Selected by Apple as one of the 350 worldwide winners 🎉
This project is a simple drum machine that utilizes Swift, SwiftUI and AVAudioEngine allowing users to produce their own music!
The application enables users to play preset sounds on a 2x4 drum pad grid and record their compositions in any desired tempo or number of bars. Additionally, they can loop and play back their sounds. The app also includes an interactive tutorial on the basics of rhythm and beat production.
In this project, I harnessed the capabilities of Swift and SwiftUI to build a drum machine application for iPad OS 16.x, focusing on real-time recording, looping, playing, and visualizing musical compositions. Swift's programming features handled complex logic behind the audio processing, while SwiftUI was instrumental in creating a dynamic and responsive user interface. A significant part of the UI development involved using SwiftUI's GeometryReader, enabling the precise visualization of live beat data on a grid, and enhancing the interactive experience for users. I did a bit of design prototyping on Figma as well.
Central to the project's audio functionalities is the use of Apple's AVFoundation, specifically the AVAudioEngine. This advanced audio framework provided the necessary tools for implementing complex audio player pooling and scheduling, which is critical for achieving real-time audio manipulation. The application allows users to record and loop their beats with minimal latency, thanks to the sophisticated audio handling capabilities of AVAudioEngine.
By combining these technologies, the drum machine app offers an engaging platform for users to explore rhythm and music production. The project underscores the potential of combining Swift's versatility, SwiftUI's UI prowess, and AVFoundation's audio processing capabilities to create educational and creative tools in the music technology space.
- Neumorphic redesign hifi
- Implement new design in SwiftUI
- Turn into a full-fledged music sampler
- Interactive tutorial on how to sample
Design inspo from: https://www.youtube.com/watch?v=SENzTt3ftiU&t=1s