Skip to content

Open source granulator for iOS, made with Swift and SwiftUI.

License

Notifications You must be signed in to change notification settings

thestrangeagency/GrainSwift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Granular

Open source granular synthesizer for iOS, written in Swift using SwiftUI.

Where we are

How to get one

You can build from source or install a copy directly from the App Store.

How to load your own sounds

You can share sounds from other applications, like Voice Memos. More details in Part 5.

What this thing does

You may first wish to peruse the Wikipedia entry on Granular Synthesis.

For a deeper dive, have a look at Microsound.

What this button does

Some controls work in the horizontal and vertical directions. The vertical direction adds a random jitter to the parameter.

Some controls display two lfo: labels. Dragging these vertically sets the amount of LFO applied to the parameter. Similarly, the env: label lets you add envelope modulation to the respective parameter.

control effect
density1 number of grains playing at once
ramp amount of smoothing applied to each grain
position2 where in the source buffer grains are coming from
size size of each grain
spread spacing between subsequent grains
pitch playback speed a.k.a pitch
attack duration of amp envelope attack portion
release duration of amp envelope release portion
lfo low frequency oscillator modulator period
volume overall output volume
  1. The number of grains playable at once depends on your device's CPU. Too many grains will result in crunch or silence on slower devices.
  2. Touching the top waveform enables the amp envelope and lets you play by tapping. To get back to continuous playback, simply touch the position control.

Why we are here

I wanted to explore Swift in the context of audio and see how much I could get away with. It seemed like a ride worth taking others on. It also made for an opportunity to monkey with SwiftUI, as my clients are still a little bit wary of diving in.

How we got here

  1. Part 1: Intro
  2. Part 2: Loading Audio
  3. Part 3: Making it Grain
  4. Part 4: Control
  5. Part 5: Sharing Sounds
  6. Part 6: Jitter
  7. Part 7: Mixing Sounds
  8. Part 8: More Touchy
  9. Part 9: Pitch Control

About

Open source granulator for iOS, made with Swift and SwiftUI.

Resources

License

Stars

Watchers

Forks

Packages

No packages published