[music-dsp] Matching Pursuit Toolkit (MPTK) 0.7 released

2013-05-15 Thread Dan Stowell

Dear all,

Matching Pursuit Toolkit (MPTK) is a fast and efficient library (with 
Matlab and Python wrappers) for the sparse decomposition of multichannel 
audio signals. Version 0.7 is now officially released:


https://gforge.inria.fr/frs/?group_id=36

Changes in 0.7:
* New pyMPTK wrapper, enables direct use of MPTK within Python
* Enabled GPD with the Dirac, Constant and Nyquist blocks
* Anywave block now working from command-line mpd and mpr
* Improved XML parsing of books (note: the API to use for writing new 
plugins changes as a result of this; and MPTK books are now written with 
an outer mptkbook tag surrounding book and dict)
* Slight Matlab API change: second “dict” arg now needed for 
reconstruct(book, dict)


Best
Dan

--
Dan Stowell
Postdoctoral Research Assistant
Centre for Digital Music
Queen Mary, University of London
Mile End Road, London E1 4NS
http://www.elec.qmul.ac.uk/digitalmusic/people/dans.htm
http://www.mcld.co.uk/
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


[music-dsp] [admin] music-dsp FAQ

2013-05-15 Thread douglas repetto
Hi,

Just a reminder that if you are new to the list you should read the
music-dsp FAQ. It contains answers to both technical _and_
adminstrative questions that often come up on the list. If your question
appears in the FAQ it is safe to assume that it has been discussed on the
list many times in the past, and you should probably have a look through
the list archives before posting your question to the list.

http://music.columbia.edu/cmc/music-dsp/musicdspFAQ.html


Also of interest to new and not-so-new list members:

The music-dsp list archives
http://music.columbia.edu/cmc/music-dsp/musicdsparchives.html

The music-dsp source code archive
http://www.musicdsp.org

music-dsp books and reviews
http://music.columbia.edu/cmc/music-dsp/dspbooks.html


All this and more at:
http://music.columbia.edu/cmc/music-dsp


Hasta la pasta,
douglas

(this is an automated message sent out on the 1st and 15th of each month)
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] Functional Programming C code generation

2013-05-15 Thread Theo Verelst
For those interested, a short list of theoretical and general 
considerations, as of course some of you know I'm hardly fresh to all 
this, and recognize some of my PhD level considerations from long ago, 
which were about parallelizing (why does my spell check complain on this 
word ?! :) ) computer graphics computations, which is more massive 
mostly, but less timing dependent.


Remember in DSP there is the usual suspects concerning sampling theory 
(Niquist, perfect reconstruction, the mathematical limits on 
constructing frequency limited time-piece signals, etc), parallels 
with other disciplines like electronical filters for radio, audio, 
control loops depend on how well the congruence is between the elca 
examples and the digital form (very often a problem), and as well: 
usually practical real workd filters have properties the digital domain 
doesn't copy well. I mean both the programmers and the actual 
9theoretical) problems with the analogy. Doesn't mean anything to you? 
Fine, but most people will easier associate with the Loudness control 
onan old Pioneer amp, than most modernist oriented


Which brings me to the attempt of generalizing DSP solutions. Some of 
the better DSP tricks are very non-trivial, and non-intuitive, so merely 
making all DSP blocks and their most trivial connection possibilities 
available isn't going to enable the average Joe to make hte perfect HiFi 
system, or do him (or her) much good. Of course it is great fun to have 
the blocks available to built a software radio FM-stereo receiver, or a 
toolboc to turn your potent microcontroller into a internet radio, and 
be able to mess with the connections and parameters of doing so, and of 
course it is fun to kludge about in the home studio, like the more 
intelligent world citizens in principle can since the Moog Modulars. So 
I'm cool with the idea, but it appears a but tainted, often.


A lot of simulations of filter and processing behavior will have 
intrinsic (hard-theoretically determined) characteristics, which often 
are un-circumventable (read: each plugin, and in fact most all plugins 
with certain signature, can be picked out because it has a 
sound-effect people could probably pick from behind a curtain, evem in 
non-ideal listening circumstances). Even a variety of given type 
prpcessing units (like the collection of filters and such in the 
Ladspa/Jack library) often needs tuning to make them work right to the 
human ear. The same is true when combining such, so I'd like more 
comments on that subject.


Now about the notion of lambda functions in lieu of DSP: unless I 
understand it wrong, of course I agree with lisp being a nice tool to 
compose functions, and that function structure is a good thing (coming 
from functional integrals in higher mathematics/theoretical physicas/EE, 
where it is actually essentially interesting but hopelessly too 
complicated for here), but the notion of lambda alone doesn't cut it. 
Unless you figure out some way to make the functional parts work 
together (like I did in my Bwise' tcl/tk program) you'll find out that 
even the simplest filters and delays have a state, so you'd be reduced 
to mixers and some simple math functions that really lend themselves to 
strict functional composition. Compositing state-containing machines 
(like the well known finite state machines, which apply to various DSP 
type of processing units) is a well known problem from the history of 
Unix (read Hoare, Milner for languages and mathematical foundations of 
communicating systems. So making a working flow graph like my example 
from this month in Linux with jack-rack blocks and patchage or 
qjackctl isn't just a matter of compiling the DSP functions, but 
making (virtual) streams connected in such a way that sample-accurate 
behavior results at the level of the top-level signal graph. There's lv2 
(IIRC) to make such a flow graph (with changeable internal buffer length 
which in normal cases doesn't influence the output samples at all) ito a 
compiled form where the sockets between the unix processes and threads 
are replcaed by explicit assignment code.


Of course playing with mathematical definitions in a functional way as 
well as (interactive) graph-wise programming is something I've worked on 
( http://wiki.tcl.tk/22249 as opposed to http://wiki.tcl.tk/37865 ), but 
that doesn't automatically solve more than being able to define some 
generator and some other processing-connected blocks, but after that it 
depends on the tools and their flexibility to know what is easily 
possible to create. I've worked on symbolic math processing, which of 
course has the added boon of allowing reordering and transformations 
which are strictly theoretically well defined as well as strictly 
neutral transformations , and there are mathematical tools whic can do 
interesting things with that.


The endless maze of reusing DSP blocks with not strictly defined 
compositing logic, and honestly not even 

Re: [music-dsp] Functional Programming C code generation

2013-05-15 Thread Tom Schouten

On 05/15/2013 04:54 AM, Jamie Bullock wrote:



On 15 May 2013, at 00:42, Tom Schoutent...@zwizwa.be  wrote:


Faust is amazing. it can compile to many different end targets and even has 
it's own IDE in FaustWorks. Also, Albert Graf has embedded it (of sorts) into 
Pd already (via Pure). very powerful combo. the language itself is a little 
mathematical, finicky and technically minded though.

I really like the idea behind Faust, and I made sure that this idea can be used 
on top of what I am writing.  Faust is already a stateless operator/combinator 
language, so very close to what I have in mind.

That combinator approach used in Faust can work well for high level composition, though 
after working a lot with such style of languages (though more Forth-like) I no longer 
think combinators are a good basic substrate for low-level work.  They can be very 
powerful and succinct, but are indeed finicky to work with, and produce hard to read 
code.  Overall I prefer a more direct applicative style ie. named variables 
for input and possibly output.



If you don't like FAUST's functional semantics, there is also Poing Impératif 
https://github.com/kmatheussen/poing-imperatif

Paper: http://users.notam02.no/~kjetism/poingimp_lac2011.pdf
Thanks for the link.  Seems a lot of interesting things happening in 
Faust land since I last looked.


Maybe to clarify a bit, since I do not want the point to be missed that 
I like the functional semantics. That part is a really great idea.


I'm saying that instead of  process1 = +, i prefer process2(a,b) = a 
+ b, meaning explicitly named variables.
It's easier to build process1 style notation on top of process2 style, 
instead of the other way around:

it's easier to drop local variables than to re-introduce them.

The process1 approach works well and can be very powerful once things 
are properly abstracted, but when you are working with low-level issues 
like approximation, interpolation, ... there tend to be more magic 
parameters involved, which is harder to work with if you have to 
implicitly keep track of where they are at.  Similar to stack juggling 
in Forth-like languages.


However, it seems use of local variables is possible in Faust using the 
with form so I'm not sure to what extent my process1/2 remark actually 
matters.  It does seem possible to have the best of both worlds in Faust.


Is with in Faust a recent addition, or was it there from the start?


Tom

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] Functional Programming C code generation

2013-05-15 Thread Tom Schouten

On 05/14/2013 11:12 PM, Alan Wolfe wrote:

fwiw, i have a DAW I work on, and on my todo list is the ability to
export your creations to C++.

what DAW is that?


One option would do generic C++ so you could drop it into whatever
program you wanted (like, an fmod callback, or custom code etc).

The other option to be generating code for a VST plugin.

Just wanted to mention it because as you probably know... a lot of
people have the same good ideas, but fewer people actually bring them
to fruition (:


yes, it's a lot of work to make everything fit well.
code gen is one of those areas where good design pays off. it can get 
unwieldy very fast.

and good design takes time and often many attempts..

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


[music-dsp] Final call: SoundSoftware.ac.uk Prizes for Reproducibility in Audio and Music Research

2013-05-15 Thread Luis Figueira
Dear MUSIC-DSP,

please find below the final call for entries for our Reproducible 
Research Prizes. 

Deadline is *Sunday, 19 May 2013*. 

(Apologies for possible cross posting.) 

Kind regards, 

Luis Figueira
soundsoftware.ac.uk


*** Call for entries: SoundSoftware.ac.uk Prizes for Reproducibility
in Audio and Music Research ***

To promote the development and release of sustainable and reusable
software associated with published research, the SoundSoftware
project will be awarding a number of “Reproducible Research Prizes”.
If you have published your software or datasets as part of your audio
or music research output, so that other UK researchers can reproduce
your results, you could win a prize!

** Categories **

1) Journal paper: New submission 
2) Conference paper: New submission
3) Journal paper: Already published 
4) Conference paper: Already published

** Prizes **

Prizes awarded vary and will depend on the type of work and
affiliation of entrants, but will consist of one of the following: 

* Article Processing Charge (APC) to make your paper open access; 
* Travel bursary of up to £1000 towards the cost of presenting the work
at a relevant conference or workshop; 
* For non-UK researchers, travel bursary to visit a UK institution; 
* Alternatives of comparable value as appropriate. 

In addition, entrants may be invited to present their work at a 
SoundSoftware workshop.

** Deadlines **

Next deadline will be the 19 May 2013

** Homepage **

For updated news and more detailed information, please visit:
http://soundsoftware.ac.uk/rr-prize

For further advice or assistance with preparing your entries, contact 
the SoundSoftware project at i...@soundsoftware.ac.uk
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


[music-dsp] Listening test: Perceptual Similarity of Residual from Sinusoidal Analysis (5 min)

2013-05-15 Thread Marcelo Caetano
Dear list,

We are looking for participants to take a short (~5 minutes) listening 
test online to evaluate the perceptual similarity between the residual from 
sinusoidal analysis of musical instrument sounds and their modeled counterpart. 
Here's the link http://gillesdegottex.eu/index.php?n=Main.Test2013simil.

Thank you for your time and interest,

Marcelo Caetano
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp