ADSR Envelope (Pure Data Tutorial #4)

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

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

  • @SoundSimulator
    @SoundSimulator  3 года назад +7

    For further clarification, the synth sustains at 0.5 for 1500 milliseconds. How?
    -The ‘delay 3000’ is banged simultaneously as the decay line message box.
    -After the sound goes from 1.0 to 0.5 in 1500 ms during the decay stage, that same amount of time has passed for the ‘delay 3000’ object (this is what I overlooked).
    -3000 minus 1500 which is 1500, so the sound sustains at 0.5 for 1500 ms.
    In the video, I’m incorrectly saying that the sound sustains at 0.5 for 3000 ms. The diagram below showing that it sustains for 1500 ms is correct!
    If we wanted it to sustain for 3000 ms, set the delay object at 4500 because 4500 minus 1500 equals to 3000 ms.
    I’m sorry for overlooking and I noticed it at the very last minute.
    Ignore what I’m verbally saying in the video regarding the sustain stage time and carefully analyze the patcher.
    Understanding the flow of this patcher is a huge step towards being able to do algorithmic composition! We’ll revisit ADSR envelope when we make a generative music sequencer in the near future!

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

      Another clarification: You only need to use the first inlet of the line object. In the video, it looks like the message object for the release is connected to the third inlet of the line object, but it's actually connected to the first inlet.
      I'm sorry for the visual confusion!

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

      This one is a correction! Use [line~] or [vline~] instead of [line]. Please reference this video ruclips.net/video/-MjnqnmoKZE/видео.html

    • @bomadadom
      @bomadadom 10 месяцев назад

      hello dear YT,-er! do you recon a way in which I can treat the ms as a variable? say for the attack of 1000ms to be attackValue so that I can vary it with a potentiometer?

  • @slowerfisher
    @slowerfisher 2 года назад +5

    been messing around puredata for an hour now and your videos have really helped me!

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

      That's great! I hope you're enjoying the journey so far!!

  • @coolasf333
    @coolasf333 5 месяцев назад +1

    just downloaded puredata yesterday and these tutorials really help! keep it up! 👍

    • @SoundSimulator
      @SoundSimulator  5 месяцев назад

      YES!!! Glad to hear it :)
      I hope you're enjoying the journey!!

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

    this is pretty wild. It feels a lot like placing electronic components on a circuit board, wiring them, and soldering into place. I imagine once you have favorite "circuits" building goes much faster. I've looked at Processing, MaxMSP, Vuo, and perhaps some others I have already forgotten. I'm not even sure what software I want to create from this, yet, but I hope to see a "Best Of" playlist to see how deep the rabbit hole can go.

    • @SoundSimulator
      @SoundSimulator  Год назад +2

      The rabbit hole goes super deep! It's a constant exploration and learning.
      It really helps to think "I wanna build THIS" and then try your best to build it. Eventually, you develop a muscle and your toolbox gets bigger as you patch more.

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

    theses class helpless me much, thanks!

  • @lightyagami1058
    @lightyagami1058 4 месяца назад +1

    Where exactly is the delay heard in the envelope? Do the 1000 delay marking and 1000 milliseconds in the attack overlap?

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

    Très agréable leçon. J'y reviendrai et continuerai loin, comme un bohémien, heureux comme avec une femme.

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

    On windows (I'd guess mac has this too, but I don't own one) you can set an audio level for each program specifically. The setting is "app volume and device preferences" on windows. You have to have the app open to edit it's volume, but it should save afterwards.
    It means you can set pure data's audio level to very low, so that you don't ever accidently deafen yourself. The rest of your apps will still sound normal too.
    It does mean that you won't be hearing the volume as loud as it really is, but I thought this would be a helpful thing, considering how many times I've seen warnings given about it.
    However, I am a noob, so I'm not sure how fool proof this is, but I cranked the gain on a osc~ gradually all the way up to 100,000 and it couldn't seem to get any louder after a certain point; the sound level reached was still comfortable.

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

      btw these are great tutorials, thank you for making them

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

      @@Dom_R_222 Thank you for your insight!
      I haven't looked into this feature, but I know Max has something similar to what you're talking about. But yeah, [clip~ -0.9 0.9] is the safest precaution.

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

    Wow! Great instruction

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

    thank you so much fr the tutorials they are really hulpfull

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

    I have a question or three about the delay after the attack. In a sense what you've made is an A(H1)DS(H2)R envelope, with a slight "hack" where the first hold is essentially zero if the attack time and the delay time are the same (and the second hold is simulating holding down a key on a keyboard). If the delay time in your example was 5000 you'd end up with an attack time of 1000, a hold time of 4000, and then after that the bang would trigger the decay time to the sustain level. But that's complicated. Ideally for a "simple" ADSR you'd want the attack and decay to always be the same, so in a perfect world you'd set a variable called $attackTime and have the attack and the delay use it so they'd always have the same value. Except that's way beyond what we're up to in lesson 4, although I did give it a try (with results of LOL!). I'm hoping in lesson 73 we'd be able to have a graphical Attack knob that sets a single value that would then get sent to both Attack and Delay, but I think now I'm getting way ahead of things.
    We're only four videos in and it's already fascinating, so thanks for doing these. Really appreciate it, and it's making Pd make sense.

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

      It's great to hear that you're experimenting with the parameters!
      I wanted the example to be as simple as possible. I definitely do want to dive further into GUI and cover interface practices in general. How to be efficient with the variables as you mentioned for example.
      I have no clue what lesson 73 would even be like, haha.
      Thank you for watching!! I just released the 5th tutorial few hours ago, so I hope you enjoy that one too!

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

    I'm enjoying your vids! Just wondering, in your graphic you depicted the decay and release with a little bit of curvature to them. I think this code will actually create an envelope with a line segemnt stages. It would be great if you discussed how to make exponential curves for the envelope stages in a future vid.

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

      Thank you for checking out these videos!! I'm glad to hear that you're enjoying them.
      Good call! Yes, you're totally correct. I should have used a diagram that only had straight lines (or better yet, drew the ADSR diagram using Max's function object now that I think about it).
      When we make sequencers in Pure Data in the near future, I should definitely go over how to do exponential & log.

    • @shalomcu
      @shalomcu 6 месяцев назад

      @@SoundSimulator Hi! Did you ever make a video on how to change the linear decay to an exponential? Thanks!

    • @SoundSimulator
      @SoundSimulator  6 месяцев назад

      @@shalomcu I have not/
      There should be a forum thread about it on the internet :)

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

    hello! i want to ask about adsr troubleshooting, i just press the bang from the release object but in when i look in the line object it still stuck in 0.5 not in 0. how do i solve this? i've got a message that said "inlet: expected 'float' but got 'list" in pure data. thanks, will wait for ur response

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

      Hello Ali!
      I believe what's happening here is that you may have the message object connected to the third inlet of the line object. I got the same error message when I did that.
      Now that I look back on this video, it does look like the message object is connected that way, I'm sorry for the confusion!!
      You only need to connect to the first inlet of the line object. See if that solves the issue!

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

      @@SoundSimulator ahh okey! will try that later! thank you for the response!

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

      @@aliazca3999 You're welcome! I hope it worked!

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

      @@SoundSimulator it works! thank you for ur help! can't wait to see your next video. it is very useful and very easy to understand!

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

      @@aliazca3999 I'm glad to hear that it works now! Thank you for watching these tutorials, and I'm happy to hear that they have been useful! The next Pure Data tutorial is coming out on Sunday. Get ready to make sci-fi alien sound with FM synth :)

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

    hello, i was wondering how i could add sliders to adjust the value in the message boxes. thnx!

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

      Message object that says [1 $1] will work fine.
      But that will trigger every time you change the value so you have to find a work around.
      It's something along the lines of [pack 0 0] with a button connected on the first inlet and a [number] on the second. And the outlet of [pack 0 0] is connected to message [1 $2] or something along that line.

  • @tuwran
    @tuwran 10 месяцев назад +1

    nice video

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

    Hey! Thank you for posting short and great tutorials! Ive learnt a lot in this past hour or two. I made a short sine wave sound using the methods you taught in this video. It sounded great until it didnt. Ive tried to make it more plucky so i did the same thing for the pitch number but it didnt work properly. The value has been set to 0 and it doesnt move from there when i activate the bang. Also my patch sounds like its distorted and sounds like it has grainy. Ive checked and its not clipping either. Do you know how to fix this? Is this thing related to cpu power?

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

      Thank you so much for watching the tutorials!
      I would love to help out! Do you have Instagram, Facebook, or Twitter? Please feel free to send me a screenshot of the patcher and I would be more than happy to help!!

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

    Hello, I want to ask you whats the point of putting a [*~ 1] object in the kick and snare design ?

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

      I like to have [*~ 1] right before [dac~] so that I can adjust the volume quickly. I treat it as master volume.

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

      @@SoundSimulator thanks! So u can fastly connect a number box I guess

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

      @@doyourownwaves4214 actually also a volume slider/ horizontal or vertical, but you have to change the parameters for the reach from 0 to 1, as is always the case in digital audio

  • @3343-v8e
    @3343-v8e 3 года назад +1

    you have very cool videos, some of the best I've seen
    it would be cool if you accompanied each of them with English subtitles
    it would allow people who do not know English to translate them into their native language, it would greatly increase your audience, I think

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

      Thank you so much!
      I should definitely consider adding subtitles in the near future. I think RUclips allows me to add subtitles manually. I have all the scripts saved, so it shouldn't take too long.
      Thanks for the suggestion!

  • @balgod2fake
    @balgod2fake 9 месяцев назад

    my man why u so sleepy made me eepy

  • @WARDISWARD
    @WARDISWARD 9 месяцев назад +1

    good didadited learning material but too bad the line~ object is linear
    It's better to use the function~ object in combination with envgen~ , you can feely draw your envelopes ( else library
    To initiliaze the function ~send a message of 0 1000 0 , this wil make the function 1 second long with a start and end point at value zero

    • @SoundSimulator
      @SoundSimulator  9 месяцев назад

      Thank you for your insights and suggestions!!