-
nicnut
I've used Max, Pd, Touch Designer and Open Music.
I like all of them for different reasons. I like Pd the most for music because it is simple and I feel produces the best sound.
I do like Touch Designer too, because I feel like you can get really advanced visual imagery very fast, compared to Gem, Jitter or Processing.
I like the idea of Open Music and I have gotten some insanely cool results with it, but it just never sounded good to me and seems tough to integrate with Pd or Max. Maybe I'll look at it again, I feel like it has potential.
-
nicnut
Hey @jameslo. I basically copied what you had in your patch and implemented it in a simpler earlier version of my patch. It totally works and eliminated the click. Genius. Thank you for sharing that.
Here's a version that uses your method to eliminate the click
-
nicnut
@jameslo ok awesome. thanks I'll keep working on this.
-
nicnut
@jameslo thank you for the info. I am still a noob at a lot of this kind of signal math stuff. I see how you achieved calculating the current playback point in your patch, but I don't understand it. I might just try and copy it and put it into my patch. Thank you for the info.
-
nicnut
I wanted to let you know I incorporated some of the ideas both of you presented and combined them into one bigger looper.
I used the overdub concept, from the earlier posts, using [edge~] to line up the overdubs with the beginning/end of the original loop. And I am using the 2 tables concept presented later, but I am separating the tables so I can bounce one table into another.
I made a video using my midi controller to demonstrate it. I also added delay and pitch shifting.
I still have a few general questions.
-
When you record into these tables like this, and don't save the audio ( in the properties of the array) Is this eating up any storage on my computer? or just recording and erasing when I open the patch?
-
@jameslo I saw the way you did cross fading in your patch, but I really don't understand what you did. Can you explain it a bit? Since I have the length of the arrays is there an easy way to just do a quick fade out and fade in at the end points?
Thank you both again for all the information and help
EDIT: here's a simplified version of my patch. It has a lot of controls for my midi controller, but those can be ignored.
3simple_edit.pd -
-
nicnut
Hey @jameslo
This is pretty amazing patch. I think one of the best things about it is that there is no click when it loops, it's very clean.
I can't figure out all of the functionality, but even without knowing how to use the patch it's pretty good. I manually altered the speed with the slider and overdubbed a few times. The speed changes seemed to be recorded into the loop, I like the swap buffer method too. I was thinking I would just have two sets of controls, but your method is very clean. I will try and tweak this for my needs. Thanks so much! -
nicnut
Yes, I want to be able to punch in and out in the middle of a loop. I think enabling recording with using the [edge~] object to detect the top of the loop was a good idea. Only thing is, if I am playing a super slowed down loop I might have to wait a long time to get to the top of a loop.
I found out about the loop~ object, which looks similar to the ipoke~ object. ipoke~ is a little annoying for me because it doesn't load everytime I launch pd.
I think I'm going to try and go back to my initial looping patch, just record at normal speed, use loop~ and record into a 2nd buffer. Maybe bounce back and forth between two buffers and use loop~ to stretch and repitch the loops. I will try and construct a basic version of this and post here.
-
nicnut
Hi @jameslo,
thank you for your input. I think maybe I should look at ipoke~ again. For some reason, after looking at the ipoke~ help file it seemed like it was good for playback but not recording/ overdubbing, but maybe I need to look at it again as I am having this issue.
When I try and overdub in the middle of the loop I run into some issues. I think the loop starts to play at different speed within the new loop, which isn't what I wanted. I want it to be one speed, whatever that might be, You can alter that speed and then overdub into it at different speeds. The method @whale-av came up with, of locking the overdubbing to the beginning and end of the loop is actually really cool. If you are consistently playing at one speed it's pretty cool and you can endlessly overdub layers into it. I thought 2 buffers might be necessary too, but now I think I just need to figure out when/how to change the speed of the phasor~ when overdubbing.
I think it might get more complicated if I do speeds other than 2 or 1/2, but to keep it simple I'm trying to figure out that math first.
I'll go back into ipoke~ tonight and see how that works out.
-
nicnut
Hey @whale-av and anyone else interested in this issue.
I'm still trying to wrap my head around this.
So this looper works if you loop one pass and play it. It works with overdubbing at speed = 1 or -1.. The problem is if you overdub at any speed other than 1 or -1.I am going to explain the issue as I see it, although I may be mistaken. It is set up so the buffer length will not change after the first recording, so when overdubbing the buffer size doesn't change. If you doing playback at a speed other than 1 or -1 the speed of the phasor~ reading the array with the loop will change to that new speed. When you are done overdubbing, it would seem that the phasor~ should be at the same speed it was during the overdub, but if this is the case things get out of whack. At least that was my observation in the "simple3.pd" patch a few posts up.
I added an [expr] object to try and accomodate for what I was hearing. But now what is happening is it seems that the loop is getting shorter if it is less than 1 and it's too long if it's greater than 1.
I must be missing something obvious here.
I haven't tried this yet, but maybe I should add another phasor~ that is lined up to start with the first phasor~ playing the array, but when I alter playback speed this 2nd phasor will change as well and i can use that to start and stop the overdub process. What I am hearing is the overdub, when playing at speed = 2, will double in speed , then double in speed again during a recording. and the opposite is true for half speed. I think maybe a 2nd phasor can modulate to the new speed when an overdub is activated then take over reading the array when an overdub is finished. It's just an idea I had.
Anyway, any suggestions into this would be much appreciated.
Here is what I have now. simple6.pdThank you.