-
charlesm
Hey forum,
Does anybody know of good ambisonics extensions for Pure Data?
I'm trying to setup some ambisonics examples for students in a small studio (8 speaker cube), so a simple 1st order panner and decoder object should be fine.
It seems like there are ambisonics libraries available in pd-extended, but I can't see how they actually work - i.e. where is the b-format encoder and decoder objects?
PS, I've also asked this question on SO:
http://stackoverflow.com/questions/22705140/finding-good-ambisonics-objects-for-pure-data--C.
-
charlesm
Hey guys,
I've written an article about my ongoing research in using Pd to analyse sound from myself playing vibraphone and create a complimentary performance.
The article is here:
http://cmpercussion.blogspot.com/2008/10/duet-for-vibraphone-and-computer.htmlHere's a piece that I created using these techniques:
http://www.epmartin.com/cmpercussion/DuetVibraphoneComputer.mp3I performed this piece at the Street Theatre in Canberra as part of a larger cross-media performance involving several local artists.
I'd love to hear comments that anybody has!
--Charles Martin
-
charlesm
Hi guys,
When I open pd-extended 0.40.3 under OS X 10.5.5 Gem is not immediately available. Is there anything I need to do to have Gem loaded by default?
Bizarrely, I have been able to convince it to load Gem by trying to create a [gem] object (not a real object) which then seems to cause the libraries to load so that real Gem objects can be loaded.
I'm using Gem to create a simple tool for displaying images of musical notation with page turns controlled by midi. The program is working really well so once I get Gem loading automatically and some kinks sorted out I hope to publish the code for everybody to enjoy!
--Charles Martin.
www.charlesmartin.com.au
cmpercussion.blogspot.com -
-
charlesm
Not getting anywhere with Ambilib, wrote my own bad and possibly broken objects: https://github.com/cpmpercussion/SimpleAmbisonics maybe will be sufficient!
-
charlesm
`hoalibrary` is awesome but only for 2D speaker arrays - checking out Ambilib now: http://www.york.ac.uk/music/mrc/software/objects/
-
charlesm
hey, I've been trying to use broadcast with netsend, but it doesn't seem to be working... does it really work?
--Charles.
-
charlesm
well, for this particular piece I use the fiddle~ output to look for notes being played in 10 zones on the vibraphone keyboard (3 or 4 notes each). That's coarse enough to stop accuracy being a problem.
Response time would be bad if it was triggering a synth but ok for triggering complementary samples.
Actually when I perform the piece live, fiddle~ starts to react to the sound coming from the speakers and the piece starts to play itself, but I found that in the context this wasn't such a bad thing. The best solution would be to use a vibes with pickups but If I point the speakers away and have the threshold on triggering notes in the right place it can work more accurately.
I'm now trying to generalise this and use fiddle~ to listen to all 37 notes individually but it's tricky to combine an accurate pitch detection with timely attack detection (bonk is better...) as well as velocity. Then there is a problem with turning notes off.
Anyway, that's what research is for right? Solving hard problems.
Also... I've noticed midi jitter on iac bus. My solution is to be artful about what parameters I control in live so that it isn't a problem...
--Charles.
-
charlesm
The real problem with using noteout is that notes will ring forever! you need to send notes with velocity zero (I think) to stop them.
This is why this is hard, even on a monophonic instrument. After some small delay we know the pitch and amplitude to some degree of accuracy. We also know about attacks (either from fiddle~ or bonk~), but it's hard to manage the data in such a way that when an attack occurs, significant pitch and amplitude information is send to noteout.
But what about a nonattack? how do we know when to turn notes off? You could say that if amplitude dies away the note ends, but what if you're playing legato on violin and there are several notes that occur before the amplitude dies away.
All these problems are possible to overcome, but it takes time and work.
--Charles
-
charlesm
alright - I tried installing the same version of pd-extended on a power-pc machine and all of the paths and startup options were already filled in! Maybe something is wrong with the pd-extended intel installer? or my machine?
who knows.
-
charlesm
Thanks nestor, that was the solution. I needed to add:
/Applications/Pd-extended.app/Contents/Resources/extra/Gem/Gem
to the startup options. Gem now loads just fine. As an aside, another way to load gem is to create the object [Gem] in a patch.
I have to say that I was puzzled that I hadn't really found this stuff documented anywhere! In the end, I found it written in Readme.1st of the Gem distribution. I guess I was a fool not to read it first. The relevant lines were:
(quote)
this Gem.d_fat is the Gem-binary for macOS-X (Universal Binary)in order to use it, put the Gem/-directory into a place where pd can find it:
either put it in pd's extra/ directory, or add the full path of the Gem/
directory to the search-paths of Pdthen start Pd and load Gem:
- either create an object [Gem]
- or add it to the startup-libraries (via the Pd->Settings->Startup menu) and
restart
you should get a splash-screen on the Pd-console telling you that Gem has
successfully been loaded.then try the help-patches (in the Gem/ folder)
and the example-patches (in this directory)
(end quote) -
charlesm
Hey Pitch Twit,
Charles here. The idea of that patch was to send MIDI control data, and not pitch and amplitude data. It isn't very difficult to change the patch to output pitch information since the fiddle~ object already returns pitch as a midi note value.
I think that the best thing for you to do is to follow some of the Pd tutorials (these are in the doc directory inside the application folder) and learn about which objects can output midi notes.
I'm not sure how hard it would be to create a patch that can output meaningful MIDI notes from violin. The answer could be ``extremely hard" if you're looking for an accurate MIDI transcription of a violin performance. But if you only want to have MIDI information that corresponds (in a simplified way) to what you are playing on violin, it could be quite simple like my theremin patch.