Alex-1100011 / Musicapp

A playground app created for the WWDC22 student challenge.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Musicapp

thumbnail

A playground app created for the WWDC22 student challenge.
The Playground is an interactive experience where the user can freely play on the music pad,
combining multiple sounds together at the same time, or listen to (and then try to replicate) different songs.
It also conveys how notes of different pitches are represented in music notation showing them on a music staff.

Technologies

Everything starts from a recording of a single note (for each instrument), modifying its pitch with AVFoundation to cover all of the instrument’s playable spectrum. This allows for great versatility when playing different notes, without needing more recordings.

For the music staff, I’ve placed an imaginary origin point in its middle, since notes can be placed indefinitely far toward the top or bottom.
Notes are dynamically drawn with shapes and placed with an offset based on their pitch, which is a combination of the note’s name and octave (since in music 7 notes always repeat, the octave is like an index of repetition to identify the exact note referring to).

This whole system can be used to display or play whatever set of notes at will.
Everything is created using Swift, SwiftUI, and AVFoundation; and the audio files were played and recorded by myself.

Demo

app.demo.mov

About

A playground app created for the WWDC22 student challenge.


Languages

Language:Swift 100.0%