DSP algorithms for guitar multi effect


Hi All… I’m making a stereo multi effect for guitar with the CCRMA Synthesis Toolkit classes but I experiment various problems with them.
My question is: where can I find good algorithms for guitar pitch shifting, chorus, delay and reverb? (obviously in c++).
I would like to do a professional work this time…


The textbook Digital Audio Effects (edited by Zölzer) is a good starting point. Not sure how much there is in way of coding examples


I don’t have pitch shifting, but everything else is in Audio ToolKit.


I’ve found this to be a good source for some basic DSP algorithms:


thanks guys… but I need more explanations and more code… I’m a bit new to DSP programming.
@Im_Jimmi, these samples are good but I don’t know how I Can integrate in JUCE…
I’ve found that book (https://books.google.it/books?id=QddcxHLavrMC&printsec=frontcover&hl=it&source=gbs_ge_summary_r&cad=0#v=snippet&q=pitch%20shift&f=false) and I think it would be great, now I have to collect some money to spend with… what do you think about this book?


Faust ? (http://faust.grame.fr, http://faust.grame.fr/library.html)


Mhm it seem very interesting, but how can I use these libraries with juce without to have to convert Faust projects?


Read : http://faust.grame.fr/news/2017/02/21/Faust-meets-JUCE.html

Romain Michon (CCRMA Phd) has a lot of Faust related content: https://ccrma.stanford.edu/~rmichon/#projects


That’s the only audio programming book I actually own a copy of and I personally think it’s fantastic. Shows the basics of getting some simple algorithms to work. Only criticism I’d have is that it doesn’t always go into detail about the background and maths behind some of the algorithms - however I’ve usually managed to cross-reference it with DAFX to find some more technical explanations.
It doesn’t mention JUCE however so I’d recommend you start by looking at some JUCE tutorials about basic sample-by-sample processing and work from there. Good luck!


Maybe not a popular opinion here, but if you’re looking how to make DSP algorithms for audio fx, i don’t think Juce is a good place to start learning.

There are heaps of realtime audio programming environments where you can experiment with different signal flows recipes until you find a really good one. Supercollider, Csound, PureData, etc…

I wouldn’t try to learn how to do fx design from Juce straight away.

Unless you just want to cut and paste existing stuff…but where’s the fun in that?


Excuse me for the late… yes it isn’ funny to copy/paste :slight_smile:
You said to me of some environments to learn dip programming,
how I’m making a filter delay and I need a good delay algorithm, can you advice me a good starting point?
I need only the delay for now…


A good starting point is to learn what is a delay filter does before trying to code anything. Then you can move to MATLAB or replicate it with PureData/Max4Live (the latter ones don’t require a programming language knowledge per se) and then move to coding. IIRC, “getting started with DSP” tutorials here in JUCE have some delay stuff implemented, so you can get that code and study it to understand how it works so you then code your own, or just use and modify it to achieve what u want. Other sources: KVR audio forum has a DSP section, and musicDSP has some coded DSP stuff that you can look at.


Please, no, not his books, they are very bad for their code quality.


It’s a bad, very bad book. One of the worst in terms of development and good practices.
Buy DAFX from Zolzer for the algorithm, and then buy Scott Meyers Modern efficient C++ for instance.

Looks like I really need to finish my book one day.


I agree, it’s easy to do some DSP tests in Python first.