samaaron

samaaron

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++ :wink:

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.

Showing Posts 1 to 3

binaryape

binaryape

This is wonderful!

linusdm

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. :smiling_face:

samaaron

samaaron OP

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!

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91898 914
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews