Building a Collaborative Digital Audio Workstation
Web Audio Conference 2015
Jan Monschke
@thedeftone, janmonschke.com
Frontend Engineer @ SoundCloud from Berlin
Not really a musical background but
passionate about music
motivation: learning new things (audio essentials), experiment
"Building a collaborative music production environment using emerging web standards"
Analyzing audio editors
- years of development and best practices
- common interface patterns
- minimum feature sets
Minimum Feature Set
- timeline (left to right)
- previews, depending on content
- tracks as rows
- recording, importing, drums, synth
Recording
- Record audio
- Get live audio feedback for adjustments
- Upload recordings to server
- Select parts of audio
- Import audio files
Recording Node Graph
Web Audio nodes in combination with other new web tech
This is why you can't use it in IE, all modern web APIs in one place ;)
Drums
- Full control over speed and sounds
- Complex and varying drum loops
- Different drum sets
- Exact (!!!) timing
Synthesizer
consists of oscillators, filters and gain control, all present in web audio api
Minimoog
Collaboration
- Remote band brainstorming
- Easier melody brainstorming
- Auto-save and auto-backup
Differential Synchronization
Video collaboration (w/ WebRTC)
Demo: show track layout, each track has different type, name the three types
Control buttons on the top, timeline, skip things
control elements for each track
canvas previews in the track elements
Critique
- Offline support? (files & sync)
- Performance problems? (native plugins, more complex UI)
- Too basic for production (more sounds, functionality)