A beat sequencer for Salsa music featuring an interactive introduction.
"The Rhythm of Salsa" is a small introduction to Salsa music featuring an interactive, GarageBand-inspired beat sequencer. Diving into the rich polyrhythms of Latin music, the introduction provides an overview of the most important instruments and their rhythmic patterns in Salsa. During the entire tutorial, the user is encouraged to tweak the rhythm and experiment with new musical ideas. The final beat sequencer additionally supports fine-grained mixing controls, along with MIDI import and export, making it seamless to transition projects into a fully featured Digital Audio Workstation such as GarageBand or Logic Pro.
On the technical side, the app makes heavy use of SwiftUI, AVFoundation's powerful audio sequencer, its sampler and AudioToolbox's MIDI support. The app combines the classic model-view architecture with a modern, value- and protocol-oriented programming style that takes full advantage of modern Swift features such as property wrappers or multiple trailing closures. A delta update mechanism efficiently synchronizes the audio sequencer with the model, letting the user navigate the app freely while never missing a beat.
The project uses CC0 and Attribution 4.0-licensed audio samples from https://freesound.org. A detailed list of the respective sources, licenses and authors for these samples can be found in Resources/Samples/LICENSES.md
within the app playground bundle.
Other assets are original content.
- MiniCAD, a parametric 3D modeller using a Swift-inspired DSL (my 2023 project)
- MiniBlocks, an open-world sandbox game built with SceneKit (my 2022 project)
- MiniCut, a tiny video editor built with SpriteKit (my 2021 project)
- MiniJam, a tiny digital audio workstation built with SwiftUI (my 2020 project)