Juce Tutorial 20- Building a Synthesizer Part 1 (The Synthesiser Class)

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ม.ค. 2025

ความคิดเห็น • 40

  • @ferdzzzzzzzz
    @ferdzzzzzzzz 7 ปีที่แล้ว +9

    Amazing tutorial, I was so lost till I found this...saving a student's life here

  • @laptopolist
    @laptopolist 9 หลายเดือนก่อน +1

    I’m new to Juce and C++, and want to thank you for these tutorials.

    • @TheAudioProgrammer
      @TheAudioProgrammer  9 หลายเดือนก่อน

      Fantastic! I’m glad to hear you’ve found them helpful

  • @fireflew8591
    @fireflew8591 5 ปีที่แล้ว +5

    just wanted to say thank you so much for making this, essential for my school project. :)

  • @lrryjns
    @lrryjns 7 ปีที่แล้ว +4

    Phenomenal tutorials, man! Really helping me out coding a synth for hackathon

  • @dorinfabre6070
    @dorinfabre6070 7 ปีที่แล้ว +2

    Thx man, detailed and so clear as always, every time you post a new tutorial is a happy day :D

  • @stonequartz5602
    @stonequartz5602 5 ปีที่แล้ว +2

    Yesssss, I skipped ahead, and now I'm following this!
    Running Windows, IDE: Visual Studio Community 2017
    Everything is working just fine!

  • @stulast
    @stulast 4 ปีที่แล้ว +1

    Very cool to see the setup. Not much has changed in JUCE 6 aside for the using the "juce" namespace prefix for all classes inline (i.e. not falling back on "using namespace juce") all the pure virtual methods are the same, and all need to be overridden in exactly the same way (method signatures are pretty much identical).

  • @herrizaax
    @herrizaax 5 ปีที่แล้ว +1

    Hi, thank you for all the effort. In the new projuicer some settings are on different places. For example, "plugin is a synth" etc are now under "plugin characteristics". Just posting this because at first I thought I didnt have them because I was using the Free version of Projuicer.

  • @MrEnkelmagnus
    @MrEnkelmagnus 5 ปีที่แล้ว +2

    This was really helpful, thanks.

  • @tothebeat5967
    @tothebeat5967 4 ปีที่แล้ว

    Probably you've figured this out down the line. If you want to avoid having to drag the header files manually under source make sure you have the source tab clicked before hitting the plus sign to create the header files. Once again great tutorial!!

  • @skyshaver6622
    @skyshaver6622 6 ปีที่แล้ว +1

    Is there a reason we're not adding the 'override' keyword to the overridden methods in SynthSound and SynthVoice?

  • @_shibboleth
    @_shibboleth 4 ปีที่แล้ว +2

    Thank you for this tutorial on building a synthesizer it is very helpful!
    Just a couple of questions: as far as I've understood I have to declare all the virtual member of the class but on SynthesiserVoice you skipped some so we can just declare the ones that we need? Also why the Synthesiser class hasn't been created?

    • @JimmyPocock
      @JimmyPocock 4 ปีที่แล้ว +2

      Had the same question and this helped me. I'm new to C++, but here's a little blurb I found to explain the concept: www.geeksforgeeks.org/difference-between-virtual-function-and-pure-virtual-function-in-c/
      Notice the =0 in the docs next to each of the virtual functions that need to be called in the new class. Seems that's how to tell which methods you need to instantiate. From that article link: "A pure virtual function is declared by assigning 0 in the declaration."
      @@TheAudioProgrammer These tutorials are a gold mine. Thanks so much for putting them together.

  • @FrederickRincon
    @FrederickRincon 7 ปีที่แล้ว

    Very awesome, was doing C++ plugin on another library and I am looking forward for the next video. Juce can be a bit overwhelming in the begin stages.

  • @duskitt7024
    @duskitt7024 2 ปีที่แล้ว

    Hello, im trying to draw a block diagram on this, im a bit stuck, is there any examples of the block diagram for this anywhere?

  • @akashs4670
    @akashs4670 4 ปีที่แล้ว

    Also, another shortcut, to edit the schema in XCode you can just press alt + run button! ^_^

  • @chukwumanwafor3851
    @chukwumanwafor3851 5 ปีที่แล้ว +1

    Please I need your tutorial source codes, to follow up.
    Am sorry for my English

  • @thegatosmusic
    @thegatosmusic 7 ปีที่แล้ว

    14:50 - 19:20 A tip for Visual Studio & ReSharper users
    Just click alt + enter -> generate code -> missing members

    • @thegatosmusic
      @thegatosmusic 7 ปีที่แล้ว +1

      And thanks for making those tutorials. It helps me a lot with my diploma work.
      Another thing is at 6:00 - if you use Visual Studio it's in Project-> Properties -> Debugging -> Command. You need also to set "Attach" to True. I had struggled with it.

    • @SnazzieTV
      @SnazzieTV 5 ปีที่แล้ว

      Fuck, too late... :D

  • @bencrystalofficial
    @bencrystalofficial 4 ปีที่แล้ว

    Thank you so much for this tutorial series! I can't wait to follow these all through~
    I'm having a little bit of trouble-- I think in the newer versions of JUCE, there is no master file "PluginProcessor.h", but instead there's "MainComponent.h". I put the declaration "Synthesiser mySynth" in the private variable section on the bottom of that, but Visual Studio gives me the error "e0020: identifier Synthesiser is undefined".
    Am I supposed to declare it somewhere that I missed in the video or am I missing a package or something?

    • @bencrystalofficial
      @bencrystalofficial 4 ปีที่แล้ว

      @@TheAudioProgrammer I think you're totally right 😅 I'll give it another go-- thank you so much!

  • @hidden4425
    @hidden4425 4 ปีที่แล้ว

    How do you make an app or maybe integrate it in an app?

  • @cd78
    @cd78 5 ปีที่แล้ว

    Can plugins be built using functional C++ rather than the OOP bollocks

  • @DiegoCapoccitti
    @DiegoCapoccitti 4 ปีที่แล้ว

    Hi, thank you for these tutorials! They helped me a lot! I created a synth vst following your instructions , and it works great! Just one problem: vst works great in Cubase if the project's sample rate is 44100; if I change the DAW sample rate to 48000 the synth plays wrong pitch. I think it depends on the plugin sample rate. Seems it stuck on 44100. How can I set the vst sample rate according to the DAW? I tried to find something like "getHostSamplerate" in Juce API, but I can't find nothing! Can you help me?

  • @hrishikeshsonar9008
    @hrishikeshsonar9008 6 ปีที่แล้ว +1

    I really love this channel!!!
    I'm learning the basics of C++ one thing I'm striving to know that, I want to build a VST instrument like ample guitar.. with strumming pattern and all the other things.. I'm confused like anything... so What I wanted to ask is..
    Can I build VST instruments (including the interface,UI,all the graphics part) with juice?? If no, then what Shall I learn to do so.. any other libraries/frameworks,languages??
    hope you reply soon!
    keep doing the great work!
    thanks in advance!! :)

    • @DKDiveDude
      @DKDiveDude 5 ปีที่แล้ว

      Yes you can build VST instruments, VST effects, or most other type of applications including games, see my game here th-cam.com/video/v1oI-cZFWbQ/w-d-xo.html, ALL of it with JUCE!

  • @MysteryMixerMan
    @MysteryMixerMan 6 ปีที่แล้ว +1

    Legend

  • @EnricoPietrocola
    @EnricoPietrocola 6 ปีที่แล้ว

    Awsome tuts as always, a couple questions though:
    1) How come the functions in the synthesizer are declared completely in the .h files? Wouldn't it be better to put the actual declaration in .cpp files and leave only the prototypes in the .h?
    2)Inside the SynthSound class, the appliesToNote has an integer as an argument but I've never seen that syntax with a comment right after and no name. What kind of sorcery is that? :)

    • @EnricoPietrocola
      @EnricoPietrocola 6 ปีที่แล้ว

      @@TheAudioProgrammer great! Yeah I was thinking the same you replied but I had to ask since I'm still a bit confused by c++ and how Juce is organized (some of their own tutorials have classes on both .h and .cpp while others have the classes on headers only and use :: to access them in the .cpp files and all this inconsistency is somewhat missleading).
      Anyways, all clear now, you'll probably see some new comment on the next videos ahah. See you there and thanks for replying so quickly

  • @ineffable_potentiality_01
    @ineffable_potentiality_01 6 ปีที่แล้ว

    how many bits will this synth be?

  • @yaroslavvdovenko3482
    @yaroslavvdovenko3482 6 ปีที่แล้ว

    Hello! When you selected Plugin Host from Debug's Folder in the Xcode where was it similar in VS2017's menu to choose? Thank you!

  • @ineffable_potentiality_01
    @ineffable_potentiality_01 6 ปีที่แล้ว

    wow, you make it look like a piece of cake

  • @eightcoins4401
    @eightcoins4401 4 หลายเดือนก่อน

    Heads up for viewers: the syntax changed over the years
    to create a synth its
    Synthesiser::Synthesiser () now

  • @virtualinstruments5770
    @virtualinstruments5770 4 ปีที่แล้ว

    I need help to programming in juce. the whole time you were on something else?

    • @virtualinstruments5770
      @virtualinstruments5770 4 ปีที่แล้ว

      @@TheAudioProgrammer I am overwhelmed trying to cram this. Everythings sucks besides juce apparently, I just hope I can catch on I know how far in you are. Im trying to create a functional synthesiser. I have no understandings.

  • @mynameisjeff9124
    @mynameisjeff9124 2 ปีที่แล้ว

    It's so annoying that JUCE uses British English…