Skip to content

Modular synthesizer featuring a tutorial and an Audio Unit instrument wrapper (WWDC 2025 winner)

License

Notifications You must be signed in to change notification settings

fwcd/sineweaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sineweaver

A modular synthesizer featuring an interactive introduction.

Logo

Screenshot

Project Structure

The project is packaged in two main ways:

  • As a playground in Sineweaver.swiftpm, which includes both the tutorial and a standalone version of the synthesizer. This was my WWDC submission.
  • As an Audio Unit instrument in SineweaverAU, which includes a small AU host (for testing and as required e.g. on iOS), along with an app extension that includes the AU component which can be used from other AU hosts like Logic.

Currently only the AU version supports MIDI input (see #9).

Description

Sineweaver aims to provide an introduction to modular synthesizers, a class of instruments that plays a central role in electronic music, but which traditional music education rarely focuses on. The user is guided step-by-step through the different components, building up to a final stage featuring a fully customizable synth. Additionally, a number of presets are included to showcase how different instruments (e.g. drums, strings, flutes or brass instruments) can be created from scratch using just synthesizer primitives.

The app makes heavy use of SwiftUI and Combine for the UI layer, along with AVFoundation for its custom-built audio engine. SwiftUI is really nice due to its high-level, declarative approach to UI, including effortless support for animation. AVFoundation on the other hand gives the app sample buffer-level control over the audio output, which is perfect for our synthesizer that heavily relies on generating custom samples.

No AI tools were used in the making of this app.

Open Source

The project includes source code from my own MIT-licensed libraries swift-music-theory and swift-utils.

See also

  • The Rhythm of Salsa, a beat sequencer for Salsa music (my 2024 project)
  • 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

Modular synthesizer featuring a tutorial and an Audio Unit instrument wrapper (WWDC 2025 winner)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages