Wavetable Synth Plugin in JUCE Tutorial for Beginners [Synth

Описание к видео Wavetable Synth Plugin in JUCE Tutorial for Beginners [Synth

✅ Check out the full article & code on TheWolfSound.com: https://www.thewolfsound.com/sound-sy...
✅ Related GitHub repository: https://github.com/JanWilczek/wavetab...
➡️ Wavetable Synthesis theory video:    • Wavetable Synthesis Algorithm Explain...  
➡️ Wavetable Synthesizer in Python video:    • Code a Wavetable Synth with Python in...  
✅ Check out Aalto Acoustics Lab: https://www.aalto.fi/en/aalto-acousti...
✅ Sign up for WolfSound's newsletter: https://thewolfsound.com/newsletter/
✅ Please subscribe to WolfSound to let the little Wolf 🐺 grow:
https://www.youtube.com/c/WolfSoundAu...
🎧 Listen to my music: https://thewolfofficial.com/

Hi, my name is Jan Wilczek and I am an audio programmer and a researcher. Welcome to WolfSound!

WolfSound's mission is to provide high-quality, informative, and entertaining videos, articles, and courses on how to process sound by exploring mathematics, applying algorithms, and creating code in various programming languages. Topics include sound synthesis, digital signal processing, programming languages for audio (C, C++, Python, Rust), and audio effects. I am also sharing tips on how to learn fast and effectively. Make sure to visit https://www.thewolfsound.com/.

WolfSound enables everybody to learn about audio programming!

In this video, we are implementing a wavetable synthesizer in the JUCE C++ framework. We go through all stages of JUCE synth plugin development: how to handle user input, how to handle MIDI messages, how to create and control oscillators, and finally how to assign oscillators to notes. To implement the code in this video, you need JUCE (I am using version 6.0.5), and a text editor (IDE) with a C++ compiler (I am using Visual Studio 2019). The code we create contains part that can be used in any synthesizer plugin.

➡️ Get JUCE here: https://juce.com/

In case of any doubt in understanding, please, refer to the article above or ask a question in the comments 🙂

ABOUT ME

My name is Jan Wilczek. I am an audio programmer, a researcher, a musician and currently a student of the Elite Master's Study Programme Advanced Signal Processing and Communications Engineering at University of Erlangen-Nürnberg. Additionally, I am a visitng student at Aalto University in Finland, where I put finishing touches on my master thesis under the supervision of prof. Emanuël Habets, prof. Vesa Välimäki, and Alec Wright.

FOLLOW WOLFSOUND ONLINE

✅ Blog: https://www.thewolfsound.com/
✅ LinkedIn:   / jan-wilczek-audio-programmer  
✅ Twitter:   / wilczek_jan  
✅ Facebook:   / janwilczekwolfsound  

TIME CODES

00:00 Synth Demo
00:18 Introduction
00:54 Prerequisites
01:08 What is the JUCE C++ framework?
02:12 Plugin setup in JUCE
04:42 Plugin project structure
06:04 WavetableSynth class creation
08:13 Binding our audio processing code with the code generated by JUCE
10:34 WavetableSynth::prepareToPlay() & WavetableSynth::processBlock() implementation
14:40 WavetableSynth::handleMidiEvent() implementation
16:52 MIDI note number to frequency in Hz conversion
19:07 WavetableOscillator creation
21:07 Wavetable synthesis algorithm implementation in C++
23:24 Linear interpolation implementation
25:29 Oscillator stopping implementation
26:35 Oscillators initialization
27:48 Wave table generation
30:37 WavetableSynth::render() implementation
33:26 Wavetable synthesizer plugin testing in JUCE
34:57 Amplitude envelope and gain considerations
36:06 Summary

#juce #synthesis #cpp #sound

Комментарии

Информация по комментариям в разработке