-
sglandry
Instead of an [import mrpeach] object, you can just just put mrpeach/ in front of the object you want to call. Like [mrpeach/udprecieve 8000].
-
sglandry
I just got a MPK mini midi controller and want to start controlling stuff in my pure data patches.
Is there any quick way to get around not having a [midiin] object in windows?
I have my MPKmini2 selected as my MIDI input device in Pd's settings.
But I get nothing using the [ctrlin] or [hidin] objects. What am I missing?
-
sglandry
So from my understanding there is no way to make the gem window itself semi transparent? I would also be interested in using a Pd patch to make a prototype HUD for our driving simulator. It would be so easy to design it in Pd, and just move the window in front of the driving simulator visuals during a drive.
-
sglandry
Pd is surprisingly good at visuals. Quickly whipped up a pilot study for my lab-mate's in-vehicle UI study. Also made a 2x2, 3x3, and 4x4 grid for easy medium and hard mode. The hand tracker is the Leap motion camera.
- Provides auditory feedback of what zone you are in so you can keep your eyes on the road.
- Randomly picks a new target zone and announces it every 10 seconds using [urn].
- Collects reaction time, accuracy, target zone, and trail # and outputs to a .txt..
If anyone else has a leap camera, here's the code.
-
sglandry
Thanks! I obviously didn't know that object existed. I'll have to test it out with some movement data to be sure, but I think this will be a huge step forward.
If I wanted a less fine grain measure (rolling velocity over the last second if I'm getting a position reading 60x/second, could I just zl group 60 and take the mean of that list every second?
-
sglandry
I'm trying to get my phone's gyro/accelerometer sensors to talk to a pure data patch in a self contained app.
I tried learning android studio with libpd, but dear god I'm not ready for that kind of commitment in my life just yet.
I can run Pd apps on my phone with the PdDroidParty app, but I'd have no idea how to get the sensor data into PdDroidParty.
I just found that that processing has an android mode, which makes it 1 bajillion times simpler to make an android app. The Ketai library for processing+android basically dump the phone's sensor and gesture data right into your lap.
Is there an easy way to drop a pd patch into a processing sketch in android mode so I can route the sensor data to it? I saw a puredatap5 library for processing+android, but looks like there's no windows build and may or may not be still working.
-
sglandry
I'ma big dummy. I can tell pmpd has all the functionality I'm looking for, but following the provided examples is overwhelming. Does anyone have a tutorial (video or just instructions) on the basics of physical modelling?
Here are a few of things I'm looking to do:
Calculate velocity/acceleration from a stream of numbers: I have a camera that outputs x y & z coordinates of a tracked object. How could I figure out how fast it's currently moving?
I'd also like to do some kind of model based sonification where I hear how fast an imaginary disc is spinning: So I apply some rotational force on that disc for a certain amount of time, which speeds up how fast it spins (represented by pitch or amp mod or something), but then it slowly goes back down to 0 rpm due to friction. I don't need to "see" the object using Gem, but just calculate how fast this thing would be spinning given some force applied.
Any help appreciated. Thanks!
-
sglandry
Is there an alternative to OSCulator that I could use on my windows machine to grab and route the data sent from a wiimotion plus over bluetooth into pd?
-
sglandry
Here was my take on it.
I had my guitar input via adc~, and I gutted an old usb keyboard so it only had a few keys left so I could use my foot to control it.
Hold down the rec loop1 button to lay down the first layer, then use loop2 to stack as many layers ontop of it.
-
sglandry
I had the exact same idea. Here's my patch in case anyone needs another take on it. Includes a distortion toggle, and you hold down the button instead of tapping it to start and stop.
The only way I got my latency down to a usable amount was to use the ASIO4ALL driver. I also use a focusrite USB interface, but I get the same lag with the interface alone than I do without the ASIO4ALL driver. Using the driver, I can turn my pd buffer size down to like 10ms or lower before the sound quality starts degrading.
-
sglandry
Hold down "A" key to record into loop1, it will re-size itself and loop2 based on how long you recorded into it. Pressing down "A" will also reset everything and start over.
Hold down "G" key to record into loop2 (at current playback position of loop1). This guy you can keep stacking riffs forever. If you mess up on loop2 but want to keep loop1, Pressing the "L" key will clear only loop 2.
"Enter" will toggle on and off Loop 2. Great for turning on and off while jamming to switch from "verse" to "chorus". You can also click on the bang to restart loop1 if you want to feel like a DJ.
Then I threw in a distortion pedal for funzies, toggled by the "+" key.
Patch here:
Looping Station 2.0.pd
If you mess up -
sglandry
Sorry to keep posting, but I finally got the loop station I've always wanted.
1 base loop, and a second stackable loop buffer.
You can clear the second buffer in case you mess up but want to keep loop1.
You can also toggle on and off the second buffer.
And I threw in a distortion "pedal" for funzies, also toggle-able.I gutted a USB computer keyboard so only the "A", "G", "L", "Enter", "4", and "+" keys remain, making it easy to control this patch with your foot.
Here is the final patch in case anyone would find it useful:
-
sglandry
Ahhh very interesting.
I'm assuming since I really want the loop to be the exact "IRL" time that I hold the button down, I should use [realtime], but I'll try it both ways and see if I can even tell the difference.
Any suggestions to why my loop1 recorder ignores the first few ms of mic input from my intended loop (more than just the 75ms I told the line object to take to completely turn on the mic signal)? Could it just be the amount of time it takes my computer to resize, clear, then resize again the table? I think loop2 functions just fine.
Is there any other functionality that a real loop pedal has that I might want to include in my patch? Once I get everything working as is, I might want to add an option to create another loop buffer thats half, 1/4, or 1/8 the size of my original loop for more interesting patterns. I might add some playback speed functionality so I can drop certain loops to half or 2x speed.
-
sglandry
Hokay! So I got the basic 2 buffer loop working OK. (ignore loop3).
I can punch in to loop2 at the appropriate time to stack loops ontop of loop1. Done like this:
And here's the updated patch:
GUITAR LOOPER STATION B.pd -
sglandry
Yeah, loop 3 was just my attempt to test out how poke~ works. I disconnected it when it didn't work.
How does tabwrite~ know to stop recording? I thought I would have to send it a stop message, but it seems to be working just fine without. Does it just stop recording when it reaches the end of the loop1 table, so when I send the message to resize it, it reaches the end and knows to stop writing to it?
Another issue: I'm clicking on the toggle to start recording at the same time I start playing the riff. The very beginning of the riff seems to get cut off or missed. How can I make sure that the signal from the mic is turns on practically instantly, but make sure there's no "click" sound from turning on or off the adc~ signal instantly.
This is my current setup for loop1:
-
sglandry
You guys are fantastic, thank you so much. I can't believe I haven't found this pd tutorial before now.
rjp9 - Thanks for the patch. How does sending out multiple master_bang 's work? Does whatever loop you start playing first basically become the "master" track that controls all the other ones? Or is there some other global master bang logic that I'm not seeing.
LiamG - Dear god thank you for that explanation. I will eventually want to be able to adjust the playback speed of the loops, so good to know.
Whats the difference between [timer] and [realtime]? Do they essentially do the exact same thing?
I'm uploading my current patch that doesn't sync properly. I'll spend some time with your suggestions and see if I can get it working, and re-upload. I want to apologize for my messy code, Sometimes I try 8 different ways to get something to work, and when it finally does, I'm too afraid to clean it up because it might break.GUITAR LOOPER STATION B.pd
-
sglandry
Trying to make a loop station guitar pedal with pure data and Makey Makey. I've tried a number of different ways but the behavior is either inconsistent, or I have trouble making sure playback and recording is lined up correctly across different buffers.
Whats the easiest way to make sure all my reading and writing to buffers are synced up?
Poke~ with count~ as an index of table location (in samples) to make sure I'm writing to the correct location in the buffer? Or tabwrite?
What exactly is "interpolation?" (tabread vs tabread4)?
Why do I need to use a phasor object to read through tabread, and not just the output of count?
How are you guys controlling the sync between different buffer loops (with variable buffer size)?
-
sglandry
THANK YOU KLAUSF! I spent hours trying to figure out why it wouldn't work for me. I was moving that PdDroidParty EVERYWHERE all over my phone with no luck. I wasn't smart enough to try the most obvious choice of the main directory.