HOWL and CRUNCH dev updates

Hi all, hi @mars

TLDR: HOWL is getting company! I am working on Vanilla Processors, a book on how to learn audio DSP and CRUNCH, a fast mobile DSP Lab that runs in a browser to test your fancy patches with! Interested? Read on…

Thanks to some of you out there testing and giving feedback here in the forum and on github I got HOWL to a point where I already quite like it. It’s been some time since I’ve posted news on Howl here because i was working on other things but heres a recap and an outlook for HOWL and some extra toppings to go with it.

The HOWL virtual machine is currently ready for compiling native c/c++ patches and deploying them to OWL devices out of the box. Since Enzien closed down and hvcc was open sourced now, it is time to reintegrate pd support in HOWL which currently will not work with the enzien services having gone dark. I will further add FAUST support with the coming update. I really encourage using FAUST more it’s been very cool experimenting with this language and its powerful compiler.

As hinted, there are more plans :slight_smile: … I started teaching myself DSP earlier this year and decided to write an open source book on it called Vanilla Processors (cause it all started as and idea that was based on Vanilla Pd). The plan is for 6 (Bitcrusher, Virtual Analog Distortion, Moog like filter, …) chapters on 6 staple audio FX that can teach you the ropes of how to get started on writing your own effects and understanding better what DSP processing is happening behind the scenes plus how it all works. Writing a book is a challenge but Im at a point where I’ve handed the first chapter on VA waveshaping into proof-reading.

It took time to setup development tools appropriately (actually it was quite a pain to learn everything) but now that it works I thought it could be cool to think about how you could have development tools for audio up and running more quickly without having to install and learn many 3rd party tools. @mars also inquired if I had looked at the web target for OWL yet within context of HOWL (which now I have done). While doing that I had the idea for CRUNCH, a docker image running a webserver that you can use to test your DSP patches with in the browser. The plan is to implement this lab as a test loop for patches, i.e. some audio inputs to run into your patch and a bunch of meters (FFT, scope etc.) you can debug your patch output with. The test environment will be running in the browser. The lab will be built with webassembly which will make its realtime performance efficient in the browser.

With the book project, HOWL and CRUNCH combined people can have a polyglot DSP patch development environment running quickly and for free as everything will (continue to) be open source. Another bonus: vagrant and docker make it easy to install and get rid of this software :slight_smile:

I’d love any feedback, input and discussions on these ideas from and with yall, so drop some comments here or get in touch here: www.htaudio.de using the contact form in the footer.

I have decided to document my turbulent journey into DSP in the blog section of the website. It’s all growing as we speak so make sure to check in every once in a while :slight_smile: as theres not a heap of content yet. But i post updates once a week in the blog.

Thanks and talk later,
Ben

2 Likes

Hi all,

Ive started working on CRUNCH today. CRUNCH is currently an idea to run a simple audio workstation or test lab in the browser. By run, I mean run it fast and reliably, without glitches. You could use CRUNCH locally or serve it up somewhere in the web and make it possible for people to run their native audio effects/synths directly in the browser! I’ve managed to get a first bypass c++ audio processor running for the browser now. All the bypass processor does is take the input audio and hand it to the output. I got this up and running pretty fast which makes me very excited for the future of CRUNCH. Im using relatively new technology shipped with all main browsers, so some of this stuff might still be subject to change in the near future. To get from c++ to fast code that runs on the browser’s VM i use a special compiler frontend that can create a new target format called WebAssembly, which - simply put - is a very fast-running alternative to running java script. If you’re keen on learning more about this or if you want to get in touch, either write me a message in this thread or follow our blog and video updates on https://www.htaudio.de/blog and https://www.instagram.com/_htaudio/. For the future i hope I can get something like Twitter up and running, too :slight_smile: .

In the big picture of things, I hope we can essentially run formats like OWL patches in CRUNCH in the long run, too, which is why Im posting this here, too.

Btw, big thanks to @mars for his input on using WASM and all the brilliant people with mozilla and chrome who are doing a great job in making all this possible. It is really fun learning and bouncing back ideas on this topic.

Later,
Ben

1 Like

Been a while and life has happened :P. Kind of lost track of time but thought in case anybody happens to be interested I will leave a short update here.

I have shelved CRUNCH for the time since there were some issues in WASM browser audio integration at the time that seemed too cumbersome for me to navigate in the free time I had available. I am following along with some dev threads here though and hopefully will find time to jump back into this topic at some point down the line.

HOWL has also not been updated any time recently. However, bringing this up to date would probably not be too complicated. If someone is interested in contributing let me know.

In the meantime I am focussing on writing some open source synth FW platform code with a small group of DIY guys out there. The programmable RT OWL and Wizard have played a big role in inspiring our work and so have projects such as the ELK audio OS.

At the moment we are still in the prototype phase for both HW and SW, both will be completely open source once we are ready.

We are very interested in sharing all DSP patch code developed down the road with this community and porting as much of the open Patches available here to our platform. Currently we only support native C++ and Pd patch format, I hope we can manage some more interesting formats at some point but for now we are trying to keep things simple :).

I will try to leave some updates here every once in a while (I hope I don’t lose track of time again for so long :slight_smile: ).

Stay safe out there.

Cheers,
Ben

1 Like

Ben,

This “open source synth FW” sounds fairly interesting. What hardware does it run on? Also, I might be able to add support for Faust patches compilation.