Real-Time Guitar to Synth Audio Effect
Welcome to the companion website for my MUS 420B project. The goal of my 420B project is to create a real-time additive guitar synthesizer. The synthesizer will take the analog guitar signal input and make it sound like a traditional additive synthesizer. This will be done in two steps: alter the waveform of the analog guitar signal, and then mix that waveshaped signal with transposed copies. The project is divided in three parts: create a waveshaping algorithm for monophonic signals, implement a pitch-shifting algorithm for polyphonic signals, and optimize the waveshaping algorithm for polyphonic signals. Since the synthesizer is intended for real-time use, the project always focuses on low latency. This will be especially important selecting a pitch-shifting algorithm.
Here are some sound files that explain the idea:
The second example is inspired by the track Gonzalo's Guestlist
by Matt Caseli
The Project Report
You can download the whole project report here.
download report (.pdf)
Matlab Source Code
The structure of the Matlab source code is explained in the appendix in the project report. The source code has run scripts that get you started, and comes with input audio samples so you can just run it.
Ableton Live Project
Here is an Ableton Live project with two sets in it. The "audio_input"
set contains raw audio input MIDI files that are routed to Native Instrument's Kontakt player (using the samplers jazz guitar
and rock guitar). The second live set, "m420b"
, connects the processed audio signal with a kickdrum and a compressor. The compressor is sidechained to the kickdrum and generates a French House effect - the typical "pump" effect used in electronic dance music. The output files of this effect are in the channel Matlab Output
. I applied equalizer, amp simulation, chorus and reverb effects to it in the effects section of the Matlab Output
and the French House
channels. There is also a channel called Synth Reference
that demoes the same sounds made with a Waldorf Blofeld synthesizer.
The project requires Ableton Live 9.0.2
download Ableton Live project
The filters applied to the Matlab channel. This is a bass amp simulation.
The filters applied to the French House channel. A sidechain compressor, and an EQ and Chorus. Both EQ and Chorus are just arbitrary. There are more effects in this row, like a reverb. All of these effects are optional, but very typical for guitar stomp boxes - apart from the sidechain compressor, which, for example, can be done with one of