Oliver,

We just submitted a paper where we present an SC HOA lib based on Faust with the HOAorder as an argument and the b-format as a channel array.
There is some cleaning up left to do, we hope to publish it soon,

Best, Florian


On 01/03/17 08:33, Oliver Larkin wrote:
this would be very useful.  i've been trying to make some ambisonic panner 
ugens from HOAlib. Can’t do this due to separate i/o...

{
        var sig = FaustTOAPanner.ar(PinkNoise.ar());
        Out.ar(0, FaustTOADecoder.ar(sig));
}.play

had a poke around but, not familiar enough with sc class files to fix it at the 
moment




On 4 Sep 2013, at 20:38, Julius Smith <j...@ccrma.stanford.edu> wrote:

At 09:33 AM 9/4/2013, Bovermann Till wrote:

(Btw, I think that what you call SynthDef emission rather is UGen emission... 
or?)
You always get a UGen, but with the -sd option you also get a SynthDef with 
metadata support (nice with Autogui, for example).

- Julius

Hey again,


On 03.09.2013, at 20:46, Julius Smith <j...@ccrma.stanford.edu> wrote:

At 01:59 AM 9/3/2013, Bovermann Till wrote:
Hey,

great that you answered!
I actually meant to write "semantically much better" (as we're here talking 
about a stereo signal fed into the UGen, rather than two independent signals).

What I wonder is, if there is any case on how to automagically recognise the 
semantical character of the input signals; e.g. it might be an idea to look if 
the signals are routed through the first parts of the system in parallel...
Interesting idea.  I think a "-vectorize" option to faust2sc forwarded by 
faust2supercollider would be nice.  I actually did implement vectorized inputs and outputs on the 
first pass, but it was unwieldy when the signals did not really belong in a vector/bus.  A more 
general option could be "-vectorizeInputs name1,...,nameN1" that could appear any number 
of times, and any unreferenced inputs would come in scalar like now, and ditto for outputs.
this sounds like a really good plan!


Great work on the script, btw; it works like a charm!
The script was contributed (along with the supercollider.cpp architecture file) 
by Stefan Kersten - I just added SynthDef emission and various tweaks.  But 
yes, it's quite nice, and an excuse to ramp up on Ruby!
So then, thanks to Stefan Kersten as well :)
My ruby skills are rather smallish atm, but they are evolving; maybe I can be 
of some help in this at least...
Would this plainly change the UGen definition?

(Btw, I think that what you call SynthDef emission rather is UGen emission... 
or?)


:)
        Till

- Julius


:)
        Till



On 30.08.2013, at 22:50, Julius Smith <j...@ccrma.stanford.edu> wrote:

Hi Till,

Since I was probably the last person to touch the Faust-SuperCollider interface, I feel I 
should reply.  However, I'm not sure what you mean by "syntactically much 
better" in the Pan2 case.  In any case, the interface is generated in the Ruby script

<faust_dist>/tools/faust2sc-1.0.0/faust2sc

Search for "input_names", e.g.

Feel free to email me with more details / questions / etc., if you have any 
problems getting the behavior you want.

- Julius

At 11:06 PM 8/29/2013, Bovermann Till wrote:
Hello,

I recently sent a message to the faust mailinglist asking about the generation 
of n-channel SuperCollider UGens. For now I did not get any reply and was 
wondering if anyone of you guys knows (see below)

thanks in advance :)
        Till


Begin forwarded message:

Hello,

when writing something like

[...]
process = (_,_) <: ((reverb:par(i,2,_*(wet))), par(i,2,_*(1-wet))) :> (_,_);


faust generates the following SC language code:

FaustBlah : MultiOutUGen
{
  *ar { | in1, in2 |
      ^this.multiNew('audio', in1, in2)
  }
//[...]
}

which is not necessarily wrong... (if the two inputs are not stereo signals, 
which they are in our implementation... :)

however, an interface like the one in Pan2 would be syntactically much better 
(see below). Is it possible to tell Faust to generate this instead?

Thanks (also for the faust language, it's rats!)
       Till


Pan2 : MultiOutUGen {
       *ar { arg in, pos = 0.0, level = 1.0;
               ^this.multiNew('audio', in, pos, level )
       }
       *kr { arg in, pos = 0.0, level = 1.0;
               ^this.multiNew('control', in, pos, level )
       }
       init { arg ... theInputs;
               inputs = theInputs;
               channels = [
                       OutputProxy(rate, this, 0),
                       OutputProxy(rate, this, 1)
               ];
               ^channels
       }
       checkInputs { ^this.checkNInputs(1) }
}


_______________________________________________
sc-users mailing list

info (subscription, etc.): 
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Julius O. Smith III <j...@ccrma.stanford.edu>
Professor of Music and, by courtesy, Electrical Engineering
CCRMA, Stanford University
http://ccrma.stanford.edu/~jos/

_______________________________________________
sc-users mailing list

info (subscription, etc.): 
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

_______________________________________________
sc-users mailing list

info (subscription, etc.): 
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Julius O. Smith III <j...@ccrma.stanford.edu>
Professor of Music and, by courtesy, Electrical Engineering
CCRMA, Stanford University
http://ccrma.stanford.edu/~jos/

_______________________________________________
sc-users mailing list

info (subscription, etc.): 
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

_______________________________________________
sc-users mailing list

info (subscription, etc.): 
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Julius O. Smith III <j...@ccrma.stanford.edu>
Professor of Music and, by courtesy, Electrical Engineering
CCRMA, Stanford University
http://ccrma.stanford.edu/~jos/

_______________________________________________
sc-users mailing list

info (subscription, etc.): 
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/


--
Dr. Florian Grond

Post-doctoral fellow McGill University
IDMIL (Input Device and Music Interaction Laboratory)
Centre for Interdisciplinary Research in Music Media and Technology

phone +1 514 995 7683

http://www.grond.at

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to