Skip to content

Interactive introduction to Salsa music (WWDC 2024 Distinguished Winner)

License

Notifications You must be signed in to change notification settings

fwcd/the-rhythm-of-salsa

Repository files navigation

The Rhythm of Salsa

Build

A beat sequencer for Salsa music featuring an interactive introduction.

Logo

Screenshot

Description

"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.

Credits

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.

See also

  • 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)

About

Interactive introduction to Salsa music (WWDC 2024 Distinguished Winner)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published