2d.wave~, why is this at a diff rate?

    Nov 14 2013 | 2:54 am
    I'm doing that right there, my buffer is on a different track in ableton. I've got a live.number to change the buffer to 1jfsample 2jfsample and so on, and the same on the 2d.wave~.
    In this video at 4:35 he's doing the exact same thing but it's playing the loop back at original tempo. In mine it's playing it back super slow. So what am I doing wrong?

    • Nov 14 2013 | 8:04 pm
      I'm at work right now, so i can't really dig in and look at your patch, but I just did an implementation of 2d.wave~ in M4L. you'll probably have to do some extra math based on the tempo, and desired playback speed, to set the rate at which you are driving 2d.wave~.
      Will have a look at this later.
    • Nov 14 2013 | 9:40 pm
      I think I've gathered that I was getting different results with his settings because my loop is different length than his, depending on the length of your buffer the settings for rows and the phasor rate will give you original playback rate with different settings.
      I guess I'm sorta missing something here about all the sampling objects I've used so far. I've used groove~, which has selectors for start and end and if you move those around you can get a scrubbing effect, then I tried play~ which can also give me scrubbing but requires a far more complicated patch to make it work.
      Now I'm trying 2d.wave~ which seems to be exactly the same as play~ but just requires different patching to do what play~ is doing.
      I followed the directions of the device in this video http://www.youtube.com/watch?v=9tYNPzVD8Hg which seems to give the same scrubbing sound as 2d.wave~ in the first video but just takes a lot more patching. Is that really the fundamental difference of the playback objects is that they do basically the same thing but need vastly different patches to make them do it?
    • Nov 14 2013 | 10:32 pm
      Well they all do one thing, play back audio that is stored in buffers. They jsut do it differently, and depending on what exactly you're trying to do, you would use different playback objects. I guess the real question I have, is what is the aim of your patch? what are you trying to accomplish?
      2d.wave, as it's name implies, is kind of a two dimensional playback object. (see wave~ for a one dimensional equivalent). These two objects were originally intended to be variable sized wavetables, not really intended for simple playback. It can be made to do that, but you will be have to be conscious of the length of your buffer, and the rate at which you need to read through it to achieve 'normal' playback.
      for example, your buffer is 1 bar, recorded at 120 bpm. which at normal speed would play back in 2 seconds. so the phasor would have to read from 0-1 in 2 seconds. so the speed of the phasor would have to be .5 Hz. You can set this stuff up with max messages to dynacmically set the phasor speed to match the buffer length/tempo setting.
    • Nov 15 2013 | 12:06 am
      Well at the moment I've just been learning how objects work so I can then set my imagination loose to figure out what I want to do with them. I guess my problem with the buffer playback objects I've been looking into is that I look at the documentation and it gives me a tiny patch that doesn't do a lot, and when I try to make it do something interesting I usually just get an audio mess of noises. So I go on youtube and find a video of a guy saying "This object can do amazing things!" and 10 minutes later they have used either groove~/play~/2d.wave~ in hugely different patches to basically get the audio to time stretch and choose playback position and pitch. The video posted above he even says something like "the other playback objects suck, 2d.wave~ is amazing." and then he does pitch/timestretching/playback position and I'm thinking "uh... cool, but I did that yesterday with play~"
      Like.. okay.. they all do playback position, pitch, and granular stretching.. I kinda feel like I'm missing the point of even having the different objects.
      This is probably just because I don't have enough working knowledge to see the potential each one has and why their differences are a huge opportunity, at the moment I just see their differences as being an obstacle to get the same results with different patches.
    • Nov 15 2013 | 12:45 am
      Well if you're just exploring max right now, I'd say I wouldn't worry too much about it.
      For what its worth, I look at the devices as this.
      Play~ Plays a buffer back when I tell it to.
      Groove~ Plays and loops a buffer when I tell it to, and at the speed I tell it to.
      wave~ a simple wavetable playback device (wavetable synthesis is rad)
      2d.wave~ a more advanced wavetable playback device, with more flexibility, and possibilities.
      I'd say just keep messing around, and it'll all click eventually.