The Journal of the Audio Engineering Society (JAES) just released a special issue on network audio. It features collaborative research work on low-latency audio processing by UC Berkeley’s Parallel Computing Laboratory entitled “A Multicore Operating System with QoS Guarantees for Network Audio Applications” :
While network-based mechanisms are important to enable deterministic transport of audio data from transmitter to receiver, there is an equally important role played by the operating systems that reside in audio devices of all sizes. The applications that receive and transmit audio are dependent on these operating systems to allocate processor and input/output resources. Authors Colmenares, Peters, Eads, Saxton, Jacquez, Kubiatowitz, and Wessel have presented Tessellation, an experimental operating system tailored to multicore processors, and have demonstrated how it enables network applications to meet their stringent time requirements.
The article can be found here. It will also appear in an upcoming textbook on parallel computing.
When you get stuck with Matlab, you find an answer to your problem usually in a reasonable amount of time – usually. Yesterday, I was really unlucky with the following.
My annoying problem was that (on a mac) color plots exported as eps, will be rendered with blurry edges. See left picture below. The right picture shows how my plot looks in Matlab and how I want it to be exported.
default rendering (bad)
It was relatively easy to find people with a similar problem (here, or there) as well as an explanation for it: The culprit is the anti-aliasing rendering feature which is enabled in practically every eps viewer. So the problem is not Matlab itself, but rather how Matlab and the eps renderer are interacting. However, finding a working solution was hard. After one day of searching (and finally using Bing instead of Google search), I found a working solution in this thread.
Here is the fix: In Matlab, in the Export setup under Rendering, you have to use the OpenGL renderer, not the standard painter. That’s it!
I prefer to save figures directly from the script where I also compose the plot in the first place. For doing this, just add the following line to your Matlab code:
set(gcf,'renderer','opengl'); % the magic linesaveas(gcf,'test.eps','epsc');
I’m happy to have solved the issue, but I am also starting to wonder about scientific plotting tool alternatives, such as python’s matplotlib or Gnuplot.
In the last few days I did some maintenance work on the ViMiC max external, mainly to make it more efficient and to take advantage of max6′s 64-bit audio signals. I’m pretty pleased about the outcome – running my test patch, using 8 inputs and 5 outputs, the Vimic_lite method is now down to 18 % 14 % CPU including 1st order reflections. This update will be included in the next Jamoma release.
If you want to try it now, I’ve also updated my standalone demo app for spatializing Major Tom in a 5.0 ITU setup (mac only).
The workshop focused on audio processing within Jamoma, i.e. the JamomaDSP library and the Jamoma Audio Graph. Often our workshop end with a lot of unfinished and also broken code due to conceptual changes in we think Jamoma should work. This time was different: we actually managed to significantly improve the performance and didn’t break anything on purpose. We rather dramatically improved the processing speed and memory cost of the Jamoma Audio Graph and made progress on the Spatialization library. Moreover, Jamoma is ready for 64-bit processing which will be supported with the upcomingMax6. (See the list of all changes here).
As a side note, it was interesting and a bit cumbersome to use an ipad for sketching ideas on how to improve the pulling mechanism of our audio graph. The sketches result in a kind of Jackson Pollack painting.
On Friday, the Kansas City Electronic Music and Arts Alliance (KcEMA) and the Kansas City Max User Group (MUG) invited us for a concert plus tech talk.