Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fwcd/the-rhythm-of-salsa

Interactive introduction to Salsa music (WWDC 2024 Distinguished Winner)
https://github.com/fwcd/the-rhythm-of-salsa

dancing music salsa swift-student-challenge wwdc wwdc24

Last synced: about 1 month ago
JSON representation

Interactive introduction to Salsa music (WWDC 2024 Distinguished Winner)

Awesome Lists containing this project

README

        

# The Rhythm of Salsa

[![Build](https://github.com/fwcd/the-rhythm-of-salsa/actions/workflows/build.yml/badge.svg)](https://github.com/fwcd/the-rhythm-of-salsa/actions/workflows/build.yml)

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](https://github.com/fwcd/mini-cad), a parametric 3D modeller using a Swift-inspired DSL (my 2023 project)
- [MiniBlocks](https://github.com/fwcd/mini-blocks), an open-world sandbox game built with SceneKit (my 2022 project)
- [MiniCut](https://github.com/fwcd/mini-cut), a tiny video editor built with SpriteKit (my 2021 project)
- [MiniJam](https://github.com/fwcd/mini-jam), a tiny digital audio workstation built with SwiftUI (my 2020 project)