-
jon_oz
Hi folks,
I'm a total noob in Unity and am going a bit bonkers trying to figure out how to get it to play with PD. I've tried experimenting with a few different Unity packages (eg Magicolo uPD & libpd4unity from melodrive) but even after following the various instructions I get some kind of compiler error and/or have no idea where to put all the different files. I think there's an issue with me using a x64 version of Unity (2019.3.7) with PD packages that were written for older x86 Unity versions... but I have no idea what "recompiling for x64 architecture" involves.
Before I condemn myself to years of study into computer science, does anyone know of any ready-made solutions or up-to-date guides for Unity x64 versions that will help someone like me get PD + Unity talking to each other? (Extra special appreciation if you have any tips for minimising audio latency on Android builds...)
My project:
I'm developing a game (ok... "artwork") for the Oculus Quest (which runs Android). In this "artwork", the user interacts with 3D virtual objects, which causes them to send data to a PD patch, which makes bleeps and does some kind of mathematical juju to feed modified data back to Unity, causing other objects in the virtual world to do different stuff. I'm fine with doing the PD side of things, and am getting the hang of making the interactive environment in Unity. It's just setting up the Unity backend that's killing me...Cheers,
Jon -
jon_oz
Hi all,
I'm the proud new custodian of a Raspberry Pi 2, two sets of 12v 5050 SMD RGB light strips, and a live music party in outback Australia in a couple of weeks.
I'd like to use the Raspberry Pi to make the LED strips respond to the live music. I figure the easiest way for me to do this would be to make a puredata patch, running on the Raspberry, to analyze the live sound. That part I think I can do...
But I'm not quite sure how to get puredata talking to my LED strip lights via the pins on the Raspberry Pi, yet. Has anyone got any suggestions?
[EDIT: Just to clarify, it's the software side of things downstream of PD that I'm stuck on. I can manage the hardware interfacing, I hope...]
Cheers,
Jon -
jon_oz
actually, this is a sneaky 2-part question:
1.
i'm using pddroidparty on a galaxy s2 phone (android) and would just like to make a box to display symbols in a large font - very similar to the [taplist] object in droidparty-abstractions. you can see how this object works by running the taplist patch in droidparty-tests.
first i did a really basic re-patching of the [taplist] abstraction to display symbols sent to a [receive] object, rather than reading them from a pre-defined list. this worked fine on my pc (almost - see question 2...). but on android there was nothing displayed - no box, no text - but the numbers in the standard numberbox kept ticking over, suggesting that there was still communication between the [taplist] object and the test patch.
thinking i was missing something, i did a dummy test: i simply copied the [taplist] object and pasted the copy into the same directory - "/droidparty-abstractions" - renaming it "taplist2". then in the "/droidparty-tests/taplist" directory i copied the droidparty_main test patch, pasting the copy into a new directory called "/droidparty-tests/taplist-test". the only thing i changed on the droidparty_main.pd patch was to change the name of the object from [taplist ...] to [taplist2 ...]. when i ran this patch on android the same thing happened - everything seems to run, but there's a blank white piece of screen where there should be a text box.
this has got me totally stumped. can anyone explain why an identical clone of the same abstraction would not work?? i've attached my [taplist2] abstraction so you can see it's identical to [taplist]. the droidparty_main.pd test patch is to follow...
2.
i'm thinking my problem no. 1 might stem from my lack of understanding of what's going on in the [taplist] object - specifically, where does the gui rectangle come from, what determines the font size of the symbols displayed in the gui box, and what on earth are the "donecanvasdialog" and "dirty" messages doing?? can anyone explain what the arguments after these messages relate to?
more perplexing - the [taplist] object only works properly on android. on my pc, it just shows up as a rectangle in which there is a standard (working) symbol box placed over a gui bang object.
perhaps if someone can help me understand what's going on there a bit better, i might understand why copying this abstraction causes it to stop working....?
thanks! and sorry for such a lengthy post...
jon
-
jon_oz
hi all-
i'm writing a patch to use with pddroidparty (android o/s) so need to find a vanilla solution for this problem... (and sorry if it's been discussed before somewhere else...?)
the patch uses [sigmund~] to analyse an audio input signal, taking a sample set of about 100 floats from [sigmund~]'s frequency output and storing them in a list. this list contains some noise (eg, very low or very high 'junk' frequencies) so i want to take the median value of the list as my result, rather than an average.
[median] won't work, nor can i use [list-sort] to manually find the median value - is there a vanilla workaround??
just thought i'd see if another solution is available before i drive myself nuts trying to make patch to run an insertion sort algorithm on my list, then pick the median value...
cheers,
jon.
-
jon_oz
hi all -
i need to convert a frequency (Hz) to a pitch number in equal temperament. if i were using 440Hz tuning, this would be easy - i'd just use [ftom].
but i need this patch to work with ANY reference pitch, not just A4=440Hz.
the formula to do this is (i think!):
p = 12.Log2(f/R)
where p = note pitch number (A4 = 0)
f = frequency (Hz)
R = reference pitch (eg, A4 = 442 Hz)the problem here is that i have no idea how to do a binary logarithm (log2) calculation in pd.
anyone have any ideas how to do this??
cheers,
jon. -
jon_oz
so, i'm driving myself bonkers trying to resolve this.
i run PD on an XO (see laptop.org) under ubuntu intrepid 8.10.
i want to add a function to my patch to date/time-stamp files as they are saved from my patch. so i used aptitude to install pd-zexy from the old-releases repository, hoping that would allow me to use zexy's [date] and
-
jon_oz
sorry if this is an obvious one - i'm not sure what my problem is called. i'm still a newbie after about 2 years of pd-ing...
i've made a patch that contains numerous instances (copies) of a sub-patch called [pd loopmachine].
when i open up and edit [pd loopmachine], my changes only seem to affect that particular instance of the subpatch. if i then open up any of the other instances of [pd loopmachine], they will not have changed.
does this mean i need to delete all the old versions of [pd loopmachine] and replace them with copies of the newly edited sub-patch? or is there a way to have each instance of [pd loopmachine] automatically update itself to reflect the changes?
thanks!
jon
-
jon_oz
so. since i can't afford a fancy loopstation pedal, i'm making one in pd and taking advantage of my low-latency soundcard.
i've made a set of midi trigger pedal buttons - 8 channels, two buttons each channel (one for "record", one to toggle "play" or "silent"). you stomp on the "record" button on the first track and start playing music, then when you're done you hit the button again and the track starts playing back on loop. every subsequent track records in sync with the first loop. you can alter the volume of each of the 8 loop tracks, or stop and start them at will.
i use the [tabwrite~] object to record each loop, then play them back using [tabread]s controlled by [line~]s.
despite driving myself bonkers trying to program the operation of the button interface, so far everything's shaping up well. but the biggest annoyance is the 'pop' that you get when a loop of a constant but unsteady sound (ie, a single sustained violin note, recorded badly) jumps back to the zero position to start playing again - due to a difference in amplitude between the end of the loop and the start.
could anyone suggest a way that i could automatically alter the end of each recorded array so that over the final few milliseconds the amplitude is smoothed (or 'faded') to approach the amplitude at the exact start of the loop? i'm guessing this might eliminate the jump in amplitude that causes the 'pop' effect - let me know if you think i'm wrong
err, hope this is understandable.
cheers,
jon.
-
jon_oz
i use a .bat file script (windows vista) to load my pd patches using a specific configuration of audio devices.
so far, i haven't been able to find a command line option which sets the "use callbacks" option in the audio devices configuration.
does such an option exist? using callbacks (whatever they are...) seems to cut my latency in half, so being able to turn on this option would be great.
cheers,
jon.
-
jon_oz
hi all,
i've made a pre-recorded 8-channel sound installation for an exhibition in an art gallery. i sequenced it on protools in a friend's studio, but now i need to find a way to play it back in the gallery using PD on my computer (which doesn't have protools...). i know there are easier ways to do this, but i don't own any sequencing software myself!
i also would like the playback to start automatically, so that all i need to tell the gallery staff to do is turn on the computer (i suspect not all the staff are 100% computer literate).
is anyone able to help me with this? my 2 issues are:
1. the sound is saved on my hard disc as 8 .wav files of exactly the same length (about 1 hour duration). i need to play them simultaneously on a continuous loop through my multichannel sound card. would [readsf~] be the best choice? i think there's too much data to play from RAM. are there any example patches out there that i could modify for an 8-channel environment?
2. having my patch start automatically and begin playing the sound files when the computer is turned on. i have no idea how to do this... my computer runs windows vista (blergh!). anyone??
thanks!
jon.