Let's start with a chord. A chord is a group of notes played at the same time; at least 3 of them. If you play those same notes, one after another, you have an arpeggio.
For instance, C Major chord and its notes: C E G
| -- with @yaxu and @bgold help | |
| d1 $ n "c5*8" # s "supersquare" # release "0.3" | |
| # bandf (density 3 $ saw1 * (4500 * rand) + (100 * (density 1.0001 rand))) | |
| # bandq "5.5" | |
| # delay "0.9" # delaytime "0.15" # delayfeedback "0.5" -- some sonic sugar | |
| -- this one is similiar to previous one, just adding harmonic richness by replacing one note (c5) with a chord (c5 major 7th) | |
| d1 $ n "[c5,e5,g5,b5]*8" # s "supersquare" # release "0.3" | |
| # bandf (density 3 $ saw1 * (4500 * rand) + (300 * (density 1.0001 rand))) | |
| # bandq "5.5" |
| import Foundation | |
| protocol SummableType { | |
| func +(lhs: Self, rhs: Self) -> Self | |
| } | |
| extension Int: SummableType {} | |
| extension Float: SummableType {} | |
| extension Double: SummableType {} | |
| extension String: SummableType {} |