willbinzi / fs2-pedalboard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fs2-pedalboard

fs2-pedalboard is a small audio processing app that was created as an idea for a talk. It's currently nowhere near as polished as it should be...

It currently provides implementations of tremolo, overdrive, delay and reverb effects.

Project setup

The project is compiled using scala native. See here for instructions on how to set up a working environment.

The project also uses portaudio for input and output. On Mac, brew install portaudio should take care of this dependency. On other operating systems, you will need to install portaudio and then edit this line to point to portaudio.h on your system.

Usage

This is a normal sbt project. You can compile code with sbt compile, run it with sbt run, and sbt console will start a Scala 3 REPL.

For more information on the sbt-dotty plugin, see the scala3-example-project.

Notes

The reverb algorithm in this project is based on the JCRev Schroeder reverberator (signposted by this blog post - early implementations of decoding the input stream from the java sound api were also adapted from this post, although explicit decoding is no longer necessary due to switching to portaudio and scala native).

About


Languages

Language:Scala 100.0%