"Let's Write A Reverb" || Geraint Luff

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024
  • Geraint Luff (Signalsmith Audio)
    "Let's Write A Reverb"
    Abstract:
    "Constructing an easy-to-tune design for smooth high-quality reverb, using a variation on the classic feedback-delay network (FDN) structure."
    --
    Inclusion is at the core of our meetups, and we follow the Berlin Code of Conduct. For more information, please read more here berlincodeofco...
    See our past meetups here:
    • Dave Rowland - Real-ti...
    Support the channel: / theaudioprogrammer
    Join the Audio Programmer Discussion Group: theaudioprogra...
    Website: www.theaudiopr...
    Instagram: / theaudioprogrammer
    Facebook: / theaudioprogrammer
    Twitter: / audioprogrammer

Комментарии • 36

  • @MrEnkelmagnus
    @MrEnkelmagnus 3 года назад +35

    This is easily THE best presentation i've seen on reverb design.

  • @juliancalvo7617
    @juliancalvo7617 2 года назад +15

    After quitting my old job, and spending 4 months studying audio programming and applying to job offers, I finally got a job as a Junior Audio Developer. The tutorials on this channel have helped me to reach my goal. Thank you Josh and everyone in the videos!

  • @WouterStudioHD
    @WouterStudioHD 3 года назад +12

    Brilliant, this makes infinitely more sense than any book I’ve read on the subject.

  • @gabrielgohier-roy1903
    @gabrielgohier-roy1903 3 года назад +5

    Really good presentation. Usually the easier the presentation looks, the harder it is to put together. Wonderful job.

  • @nathanielvirgo
    @nathanielvirgo 2 года назад +4

    This was great. I implemented it in SuperCollider in about half an hour and ended up with a reverb I can actually use. Amazing.

  • @stets43
    @stets43 Год назад +1

    Thank you!

  • @dendriloquist
    @dendriloquist Год назад

    absolutely fantastic! thank you so much for that. Very clear and in language that we can all understand. Very good teacher. cheers for this.

  • @velvetsound
    @velvetsound 7 месяцев назад

    This is a great video. I finally (a year after I first saw it) understand the math on how to implement it. Ye gods DSP is hard.

  • @MarkOates2
    @MarkOates2 Год назад

    Amazing - this is a great talk and addresses exactly at the same point where I was struggling with my design. Thank you very much!

  • @jake.minimal
    @jake.minimal 2 года назад

    one of the best videos ever

  • @Beatsbasteln
    @Beatsbasteln 3 года назад +1

    that was fun. looking forward to try it myself

  • @kepplerM
    @kepplerM 8 месяцев назад

    Awesome, thanks so much for this explanation

  • @dustfs
    @dustfs 2 года назад

    finally understood reverbs!

  • @NathanNoodles
    @NathanNoodles 3 года назад +4

    Really cool, thanks. He mentions a blogpost with some code snippets. Do we have a link for that? Thanks again.

  • @sickboi11111
    @sickboi11111 2 года назад

    Amazing presentation, thanks

  • @adammurdock4319
    @adammurdock4319 3 года назад +3

    In the diffusion step is the shuffle and invert what the hadamard matrix is used for? I’m just a hair confused.

    • @geraintluff
      @geraintluff 2 года назад

      You could combine the Hadamard and the shuffling/inversion together. But the idea was to have the mixing slightly different for each diffusion.
      (Apologies for the late reply)

  • @nils992
    @nils992 2 года назад +1

    Did I understand this correctly, even though the Schroeder Allpass has been mentioned, it has NOT been used in the diffusor? This is amazing.

  • @raskjaerbo
    @raskjaerbo Год назад

    Wonderful!

  • @davidste60
    @davidste60 3 года назад

    Excellent presentation. I think the Juce DSP module documentation page is about to get DDOS attacked!

  • @dogomen11
    @dogomen11 3 года назад

    this is amazing

  • @guglielmofratticioli7773
    @guglielmofratticioli7773 3 года назад

    Nice one!!

  • @MrRightThinker
    @MrRightThinker 3 года назад +2

    Sir , Plz Contribute to LMMS development.
    LMMS An open source Daw lacking audio recording feature

  • @881DAD
    @881DAD 3 года назад

    🔥🔥🔥🔥🔥

  • @loutouchard2692
    @loutouchard2692 3 года назад

    Hi ! First of all thanks for this EXCELLENT presentation. I'm trying to implement this algorithm into Max/MSP's gen~ but output of channels 2, 3 and 4 of my Hadamard Matrix attempt become mute when there is audio playing through 4th input. Any idea of what could go wrong ? Here is the genexpr codebox :
    out1 = (in1 * 1 + in2 * 1 + in3 * 1 + in4 * 1) * 0.99;
    out2 = (in1 * 1 + in2 * -1 + in3 * 1 + in4 * -1) * 0.99;
    out3 = (in1 * 1 + in2 * 1 + in3 * -1 + in4 * -1) * 0.99;
    out4 = (in1 * 1 + in2 * -1 + in3 * -1 + in4 * 1) * 0.99;
    0.99 is just to prevent clipping.
    Thank you guys !

  • @jake.minimal
    @jake.minimal 2 года назад

    So when we make reverbs like this do we call them geraint reverbs?

  • @anasmuzek9837
    @anasmuzek9837 3 года назад

    Can you show us how to create a piano roll / Daw on android studio , please

  • @anthonyparks505
    @anthonyparks505 3 года назад

    In the diffusion step, how does one prevent the buildup of feedback without decay? In testing my own implementation of the diffusion step, I've found that inserting the Hadamard matrix in the feed-forward path results in the quick buildup of feedback. Is it a matter of spreading out the delay times? What max delay times should be segmented at the first diffusion step? Thanks for any info.

    • @geraintluff
      @geraintluff 2 года назад +2

      There shouldn't be any feedback in the diffuser - but if you don't scale the Hadamard results properly, the output can be a lot bigger than the input, which sounds similar.
      Hadamard matrices aren't actually full of ±1, they have a scaling factor of 1/sqrt(N). I could have been clearer about that!

    • @anthonyparks505
      @anthonyparks505 2 года назад

      @@geraintluff Thanks for the reply!

  • @kainbryan-jones3181
    @kainbryan-jones3181 2 года назад

    17:43 "noice"

  • @oystercatcher943
    @oystercatcher943 2 года назад

    Now I realise why reverbs are complex! But still what’s bad about just convolving the signal with an impulse response? Clearly this is expensive since tails must be gone by length of impulse response, say a 88K length filter for 2 secs is 88K ops per sample. Why not use a GPU?. Is the issue really about saving computation compared to a full convolution?

    • @Jefferson-ly5qe
      @Jefferson-ly5qe 2 года назад

      Exactly, it's about saving CPU cycles (especially multiplications). 88k operations per sample is quite a lot at 44khz.
      There is a clever method called partitioned convolution that only does time domain convolution for the early reflection and does the rest with FFTs. Generally working in the frequency domain is a lot easier on the CPU.
      As for GPU I have no idea. Generally latency is the hardest part. Is there an RTOS that allows you to drive a GPU and get low latency IO?

  • @amirgardia4330
    @amirgardia4330 3 года назад +2

    I want to learn coding because I want to make a DAW as I like to produce music...... so can u tell the roadmap to make a DAW ...so that I can make a free DAW and make music....l am ready to give more 10 years for learning and follow your guidance..... love you from "India"

    • @sainsay
      @sainsay 3 года назад +5

      Start small. DAWs are huge complex beasts. I would recommend starting with simple plugins to learn and fully understand how sound is handled. I can also recommend having a look at game development as a place to learn C++. Game development has a similar focus on real-time performance aka there NEEDs to be a frame rendered for DAWs the audio buffer NEEDs to be full. If you learn how to make basic games from scratch without using a game engine or existing framework then you will be infinitely more comfortable making an interactive interface and workflow for a DAW there are truly a lot of overlapping subjects. If you want and are ready to learn the in-depths of a DAW I suggest you look at making extensions (not audio plugins but actual features) for DAWs. some DAWs allow you to do so but might not use C++ so they might require you to learn another language. Another good source for learning is looking at and helping the development of open-source DAWs. Ardour is a good example of this. Look up their code on Github and look at the issues to see if you can pick up and fix some of the bugs.
      Again keep it small. A phrase used at my work/university is "Simple Stupid" which refers to the focus on getting things done without using a lot of complexity.
      Good luck on your path!
      Sincerely Graduate Game Dev and Game technology researcher, Open-source audio plugin dev, hobbyist ambient music creator

    • @amirgardia4330
      @amirgardia4330 3 года назад +1

      @@sainsay thank you so much for your guidance sir....🙏🙏