Composing Rhythm, Part 1

Поділитися
Вставка
  • Опубліковано 16 жов 2024

КОМЕНТАРІ • 25

  • @SoundEngraver
    @SoundEngraver  2 роки тому

    My apologies for the small code. This is an old video, and when making it, I wasn't aware yet of how to properly format it. Thanks for listening!

  • @Thisstheend
    @Thisstheend 4 роки тому

    nice kick, awesome rhythm

  • @tylerbrown9797
    @tylerbrown9797 3 роки тому

    You are really good at explaining supercollider, I learned a lot in this video!

    • @SoundEngraver
      @SoundEngraver  3 роки тому

      Thank you, Tyler! I love posting these demos. More to come!

  • @manu-carcach-contreras
    @manu-carcach-contreras 4 роки тому

    Thank You! You are so clear explaining SC. Keep doing it!!

    • @SoundEngraver
      @SoundEngraver  4 роки тому +1

      Thank you, Manuel! That means a lot to me. There will definitely be more SC videos!

  • @NathanielReeves
    @NathanielReeves 6 років тому +1

    Very cool! Thanks for these

  • @chriswalker4053
    @chriswalker4053 4 роки тому

    bit late to the party but subbed and will be following these! these and Eli Fieldsteel's supercollider tutorials are very helpful!!

  • @stareanabyss
    @stareanabyss 3 роки тому

    Thanks a lot, so great!

  • @BrianHagertyLawyer
    @BrianHagertyLawyer 4 роки тому

    Love your channel and your music. Thanks for both! One comment: I notice that you bake the .play message into the definition of the ~myKick Pbind. Because you do so, your commands to start and stop it (~myKick.play and ~myKick.stop) both work. But I learned that hard way that if one does NOT bake .play into the Pbind definition, those commands don't work because of the relation between a Pbind and an EventStreamPlayer. (Note that this comment applies only to the Pbind section of the video, not the Pbindef section.)
    Personally, it's not intuitive to me to define the Pbind to include the .play message. Instead, I intuitively want to separate out the pattern definition and pattern playback. But I discovered that when I did that, then to get .play and .start to work, I had to do something a little different. It took me a while to figure this out, so I'm sharing it here for you and any readers:
    Assume that the Pbind ends with a parenthesis but without the message .play at the end. If so, when you invoke the Pbind after defining it, you have to assign the invokation to a variable, like so (using the terminology from your video):
    ~kickPlayer = ~myKick.play; // The new variable ~kickPlayer is an EventStreamPlayer that now handles playback of the Pbind
    ~kickPlayer.stop; // The .stop method can operate on the EventStreamPlayer just created, so we can stop ~kickPlayer this way
    ~kickPlayer.play; // And we can restart it now this way.
    Again, thanks for the great work on this channel. We need more up-to-date tutorials on SuperCollider, and yours are terrific! Thanks!

    • @SoundEngraver
      @SoundEngraver  4 роки тому +1

      Thank you, Brian! You're very kind. Thanks for the advice, I'll look into it!

  • @firashebili
    @firashebili 5 років тому

    Thank you for your videos, they took me one step forward! Do you know why when I put my TempoClock t variable the pdindef is evaluater but I don't hear any more the kick? Nothing seems wrong yet no kick output?

    • @SoundEngraver
      @SoundEngraver  5 років тому

      Hi firas firas, I've come across this before. I haven't figured why this happens to Pbindef specifically. (I haven't seen this with Pbind.) The not-so-clean way to get that output back is to save, quit, and start again. But to be more efficient, have you tried this code below for TempoClock?
      (
      t = TempoClock(88/60).permanent_(true);
      t.schedAbs(t.nextBar, {t.beats.postln;1}); //resched every 1 beat
      )
      t.schedAbs(t.nextBar, {t.tempo_(60/60);nil}); //don't resched, if you want to change the tempo while running synths
      t.stop;
      After implementing tempo this way, I stopped getting those hiccups. Hope this helps you out!

  • @granumuse7847
    @granumuse7847 4 роки тому

    As you are SC qualified, is it software-safer than creating Tasks??

    • @SoundEngraver
      @SoundEngraver  4 роки тому

      Hi, Argy. I'm not sure if I am SC-qualified, as you say. What do you mean by creating Tasks?

    • @granumuse7847
      @granumuse7847 4 роки тому

      @@SoundEngraver Oh, I mean: if you search on SC Help Docs "Task" you'll find everything about Routine and Tasks. A Task is a class with argument a timed-loop function in SC. If you can find what's happening to hardware, among Patterns and Tasks, you'd help me a lot! :)

    • @SoundEngraver
      @SoundEngraver  3 роки тому

      @@granumuse7847 Hey, Argy. I do apologize. Somehow, I wasn't receiving notifications for replies. I haven't explored Tasks. I would like to practice Routine and other UGens, if provided. I've grown so used to composing with the Pattern subclasses, Pbind and Pbindef. I'll take a look for you! I'll admit, learning a new technique in SC does take time for me, so I can't guarantee an immediate response. Have you found anything?

  • @jack16041
    @jack16041 5 років тому

    Good

  • @germboy123
    @germboy123 6 років тому +1

    part 2 :)?

    • @SoundEngraver
      @SoundEngraver  6 років тому

      On its way! I was hoping to include Tempo in Part 2, but it seemed to be its own thing. Thanks for watching!

  • @succisa68
    @succisa68 5 років тому

    can you show me the code to make me rhythm?

    • @SoundEngraver
      @SoundEngraver  5 років тому

      Hi, succisa68. Thank you for watching. I highly recommend exploring Pattern in the SC Help File, as well as referring to my other videos. These demos include code that are essential for how I compose rhythm. An incredible source for learning SC code is Eli Fieldsteel's channel: ua-cam.com/users/elifieldsteel

    • @antoniomori5195
      @antoniomori5195 5 років тому

      @@SoundEngraver thanks a lot