Hi everyone,
I’m a bit in a swamp with a project I’m working on and I figured I could try to get some help here.
The project I’m working on is for my master’s degree and, ideally, should be a device/patch that continuously listens to the local environment it’s placed in, does an analysis of the signal that’s coming in and decides if there’s something “worth” saving, based on the values of certain audio descriptors. If there is, it would save it and categorize it in pre-defined classes (I’m talking more about “compositional” classes than “acoustical” classes, so I don’t really care if it’s “human voice” or “dog barking”, more “background drone”, “foreground element”, “iterative”, ecc…). Each of these classes would then have their own rules for processing, spatialization, and so on (I’m planning to use JavaScript for the rules-related aspects).
That’s the general idea. It seems like MuBu can do pretty much all the things I need, and I started patching, hacking some of the help patches and some of the recent tutorials made by Matthew Ostrowski (thanks a lot for those by the way!!).
I’m currently using a few pipo modules (pipo.descr, pipo.onset, ircam descriptors, I’m possibly going to use pipo.mfcc) to analyze the incoming signal and to save the data in a mubu. So far so good, even if I’m starting to wonder how can I manage the fact that the different analysis work on different sample rates. (I guess I could timetag everything but I’m not sure that would solve the issue. Maybe first using an onset segmentation and then running the analysis on the different chunks would be better? Then I could choose a few descriptors I’m interested in, calculate let’s say the median value for the duration of the chunk, and categorize that chunk in the “right” class).
Anyways, at the moment I’m simply trying to find out a way to send the values that come out of the pipo analysis to a javascript that checks the analysis values and puts the segments in the proper classes. I’ve seen you can dump a mubu.track content as a list, so that might work, but I’m not sure that’s the best way to do that. I also noticed that there are a few js objects in the pipo section (if I’m not mistaken), but it’s not clear to me how they work.
And obviously, while the idea still seems good and interesting to me, now that I’ve started patching I’m a bit puzzled about it all and I’m not even really sure it’s feasible (for example, how could it constantly record and analyze and save the proper chunks? Using a ring buffer is the first thing that comes to mind, but again I’m not really sure about it all).
So, for now I guess the real question would be what’s the best way to output values of data tracks from an imubu to a java script patch in order to be able to analyze and sort them?
I hope this makes some kind of sense and sorry for the super long explanation, I’m just thinking out loud for the moment as this helps me to formulate the many issues I’ll halve to solve. I’d be really happy with even just a general brainstorming, as I think the general prospect of the project is pretty good but I’m really struggling with its implementation.
Thanks again!
Tobia