samaaron
The Black Dog's New EP Seclusion released as code using Elixir and Luerl
Hi everyone,
just thought that some of you might be interested in a new experimental live coding system I co-developed with the University of Sheffield.
It doesn’t quite have a name yet, but we developed it in collaboration with the band The Black Dog who have used it to release a number of tracks of their latest EP Seclusion as code.
http://bleep.sheffield.ac.uk/artist/seclusion
The live coding system was built using Phoenix LiveView, Luerl and WebAudio. It was a huge amount of fun and it was amazing how much power the tools gave me to build it. Soooo much nicer than Qt and C++ ![]()
If you want to know a little more about how it works, we gave a workshop recently and the material we used is here:
Also, the source code is available here:
http://github.com/samaaron/bleep
I’m going to use ideas and experiences from this project to build the next version of Sonic Pi.
Most Liked
samaaron
I haven’t yet found any direct benefits from WebAudio + LiveView, but WebAudio + Phoenix Channels opens up a huge set of opportunities for collaborative jamming.
I plan to consolidate my learning from this project and fold it back into Tau5, a ground-up rewrite of Sonic Pi, which will drop Ruby and switch to Luerl + Elixir. I also plan to switch to Phoenix/LiveView for the GUI - working simultaneously with an embedded Qt WebEngine for a standard app feel and web browsers for a more web-approach.
I still plan on using SuperCollider for the standalone desktop app, but will definitely explore integrating the WebAudio engine from the project with The Black Dog to enable pure web-based audio possibilities. Note that the Web Audio engine was written by Guy Brown from Sheffield University and can be found here (still quite rough around the edges): GitHub - guyjbrown/synth-designer: A system for designing synthesizers with WebAudio, and a synthesis engine that underpins software for live coding. · GitHub
My plans for Tau5 can be found here: https://www.patreon.com/posts/112605951
Also, thanks for your kind words regarding my talks. It’s always wonderful to share the joy of programming with others!
binaryape
This is wonderful!
linusdm
Thanks for bumping this!
I’ve wondered about using the web audio api in combination with LV/Phoenix. Thanks for sharing Sam! In the past I’ve done some work on the crossroad of (very modest) audio processing and Qt. Nowhere near as fun as Elixir development. I can imagine how much more fun this other stack is for this kind of domain.
I’ve seen you present your work about Sonic Pi a few years ago in Londen. Till today it still stands as one of the most energetic and inspiring presentations I’ve seen. ![]()
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









