Csound Csound-dev Csound-tekno Search About

[Csnd] Ambisonics in Csound

Date2023-10-25 12:36
FromPhilipp Neumann
Subject[Csnd] Ambisonics in Csound
Hello everyone!

For a new piece i want to work from the beginning with ambisonics in Csound and i’m interested in your experiences with ambisonics in Csound.

I guess my workflow will be like that i will generate mono or stereo material in Csound and then introduce processes with the material, which results in e.g. 16-Track .wav.

Now i see a problem with defining the spatialization parameter without really hearing the spatialization (because i have no ambisonics setup at home).
So i thought about monitoring it with a binaural decoder in csound.

How do you think about this? What is your workflow when you work with ambisonics in csound? About what should i also think off?

Best,
Philipp
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-25 13:28
From"Jeanette C."
SubjectRe: [Csnd] Ambisonics in Csound
Hello Philipp!
Oct 25 2023, Philipp Neumann has written:
...
> Now i see a problem with defining the spatialization parameter without really hearing the spatialization (because i have no ambisonics setup at home).
...
There is spat3d which outputs b-format. I think it's first order, with
w, x, y and z outputs. You can convert that to different speaker
formats, either by hand, there are a few formulas in the manual for it,
or using one of the ambisonics decoders bformdec1 or bformdec2. You can
also convert those four outputs to a basic kind of stereo. It's not
exact, but it will give you a good starting point.

I'd also strongly suggest working with mono sources, unless you really
try to do something quite different to each of the stereo channels.

If you have found something with that route that suits you, you coudl
try using hrtfstat. My way has been to convert the b-format to a
specific speaker setup and then use the HRTF to emulate the placement of
those speakers. Again, not ideal, but it can give you an idea.

I found the spat3d opcode to be very CPU intensive. Try to start with a
very low setting for the count of reflections or, if it suits your work,
use free field spatialisation, i.e. don't use the room/reverb model of
spat3d.

If you use the opcode hrtfearly, beware that spat3d and hrtfearly have
different coordinate systems. I think spat3d puts 0,0,0 at the listeners
head, which means that you can go negative in any direction. hrtfearly
places 0,0,0 in the left, front, bottom corner.

HTH.

Best wishes,

Jeanette
-- 
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

But tell me what happens when it stops? <3
(Britney Spears)

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-25 13:33
Fromlj
SubjectRe: [Csnd] Ambisonics in Csound
On 2023-10-25 08:36, Philipp Neumann wrote:
> How do you think about this? What is your workflow when you work with ambisonics in csound? About what should i also think off?

Producing music for multichannel systems (using Ambisonics or any other 
technique) in your home studio with a stereo system is very much like 
composing for orchestra: you have to rely on your knowledge and 
imagination. And when it is finally performed, there are countless 
things that don't sound as expected. Then you gain experience for the 
next one...
The newer Ambisonics decoder in Csound has a binaural decoder, this 
should give you an aproximate idea of the most important aspects of the 
spatialization. And if you had access to a multichannel system to try 
things before actual performance, that would be ideal, of course.

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-25 14:48
FromPhilipp Neumann
SubjectRe: [Csnd] Ambisonics in Csound
Thanks for your replies!

> The newer Ambisonics decoder in Csound has a binaural decoder, this should give you an aproximate idea of the most important aspects of the spatialization. And if you had access to a multichannel system to try things before actual performance, that would be ideal, of course.
Can you tell me which ones you use?

> Am 25.10.2023 um 14:33 schrieb lj :
> 
> On 2023-10-25 08:36, Philipp Neumann wrote:
>> How do you think about this? What is your workflow when you work with ambisonics in csound? About what should i also think off?
> 
> Producing music for multichannel systems (using Ambisonics or any other technique) in your home studio with a stereo system is very much like composing for orchestra: you have to rely on your knowledge and imagination. And when it is finally performed, there are countless things that don't sound as expected. Then you gain experience for the next one...
> The newer Ambisonics decoder in Csound has a binaural decoder, this should give you an aproximate idea of the most important aspects of the spatialization. And if you had access to a multichannel system to try things before actual performance, that would be ideal, of course.
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
> 

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-25 15:28
Fromlj
SubjectRe: [Csnd] Ambisonics in Csound
On 2023-10-25 10:48, Philipp Neumann wrote:
> Can you tell me which ones you use?
The newer bformdec2 opcode has two modes for binaural decoding: 2D and 3D.

https://csound.com/docs/manual/bformdec2.html




--

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-25 16:59
FromPhilipp Neumann
SubjectRe: [Csnd] Ambisonics in Csound
Can someone tell me what i’m doing wrong here? i always get the error ’segmentation fault’.
my nchnls are set to 2. Is this maybe a problem? do i need a output device with 16 outputs for this?

instr 1
  ;; signal
  aNoise pinkish 1

  ;; panning
  kAlpha line 0,p3,720
  kBeta = 0

  ;; create array for b-format 3rd order
  aB_Array[] init 16
  ;; generate b-format
  aB_Array bformenc1 aNoise,kAlpha,kBeta

  ;; binaural setup
  aBinaural_Array[] init 2
  aBinaural_Array bformdec2 31,aB_Array
  ;; output
  aOut1 = aBinaural_Array[0]
  aOut2 = ,aBinaural_Array[1]
  outs aOut1,aOut2
endin 

> Am 25.10.2023 um 16:28 schrieb lj :
> 
> On 2023-10-25 10:48, Philipp Neumann wrote:
>> Can you tell me which ones you use?
> The newer bformdec2 opcode has two modes for binaural decoding: 2D and 3D.
> 
> https://csound.com/docs/manual/bformdec2.html
> 
> 
> 
> 
> --
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
> 

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-25 22:23
FromGuillermo Senna
SubjectRe: [Csnd] Ambisonics in Csound
Hi,

I'd recommend that you do the binaural decoding with a (free) VST plugin like Sparta AmbiBIN beecause unfortunately Csound doesn't have a Mag-LS decoder yet. In fact, unless you really need to use Csound to do the spatialization, I'd suggest you move over to a DAW for that. You'd be able to work with 7th order Ambisonics there and have access to a couple of Ambisonics reverb plugins.

Also, I don't think bformdec2 is working as it should (see https://github.com/pzinemanas/bformdec2/issues/4).

Cheers!

El mié, 25 oct 2023 a las 12:59, Philipp Neumann (<philipp@von-neumann.com>) escribió:
Can someone tell me what i’m doing wrong here? i always get the error ’segmentation fault’.
my nchnls are set to 2. Is this maybe a problem? do i need a output device with 16 outputs for this?

instr 1
  ;; signal
  aNoise pinkish 1

  ;; panning
  kAlpha line 0,p3,720
  kBeta = 0

  ;; create array for b-format 3rd order
  aB_Array[] init 16
  ;; generate b-format
  aB_Array bformenc1 aNoise,kAlpha,kBeta

  ;; binaural setup
  aBinaural_Array[] init 2
  aBinaural_Array bformdec2 31,aB_Array
  ;; output
  aOut1 = aBinaural_Array[0]
  aOut2 = ,aBinaural_Array[1]
  outs aOut1,aOut2
endin

> Am 25.10.2023 um 16:28 schrieb lj <ljc@INTERNET.COM.UY>:
>
> On 2023-10-25 10:48, Philipp Neumann wrote:
>> Can you tell me which ones you use?
> The newer bformdec2 opcode has two modes for binaural decoding: 2D and 3D.
>
> https://csound.com/docs/manual/bformdec2.html
>
>
>
>
> --
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-10-25 23:12
FromMichael Gogins
SubjectRe: [Csnd] Ambisonics in Csound
Just to clarify, I think what Guillermo is suggesting is:

-- Render your material using Csound alone as a number of monophonic channels, probably 1 per spatial location or sound source. They can be separate channels in an N channel soundfile, or actually separate independent soundfiles using fout.
-- Import all these channels into a DAW and use plugins to mix and spatialize it.
-- There are other plugins in DAWs that you might find useful, sophisticated filters, compressors, reverbs, etc.
-- Of course you can have another thing going on in Csound at the same time, to create a binaural "draft" rendering. You can use the fout opcodes to write a separate, mixed, spatialized soundfile in addition to and at the same time as all the monophonic channels to use in your DAW. For that your instruments will have a "send" channel that feeds the draft mix, in addition to outputting the main, monophonic streams to independent channels.

Regards,
Mike



On Wed, Oct 25, 2023, 17:23 Guillermo Senna <gsenna@gmail.com> wrote:
Hi,

I'd recommend that you do the binaural decoding with a (free) VST plugin like Sparta AmbiBIN beecause unfortunately Csound doesn't have a Mag-LS decoder yet. In fact, unless you really need to use Csound to do the spatialization, I'd suggest you move over to a DAW for that. You'd be able to work with 7th order Ambisonics there and have access to a couple of Ambisonics reverb plugins.

Also, I don't think bformdec2 is working as it should (see https://github.com/pzinemanas/bformdec2/issues/4).

Cheers!

El mié, 25 oct 2023 a las 12:59, Philipp Neumann (<philipp@von-neumann.com>) escribió:
Can someone tell me what i’m doing wrong here? i always get the error ’segmentation fault’.
my nchnls are set to 2. Is this maybe a problem? do i need a output device with 16 outputs for this?

instr 1
  ;; signal
  aNoise pinkish 1

  ;; panning
  kAlpha line 0,p3,720
  kBeta = 0

  ;; create array for b-format 3rd order
  aB_Array[] init 16
  ;; generate b-format
  aB_Array bformenc1 aNoise,kAlpha,kBeta

  ;; binaural setup
  aBinaural_Array[] init 2
  aBinaural_Array bformdec2 31,aB_Array
  ;; output
  aOut1 = aBinaural_Array[0]
  aOut2 = ,aBinaural_Array[1]
  outs aOut1,aOut2
endin

> Am 25.10.2023 um 16:28 schrieb lj <ljc@INTERNET.COM.UY>:
>
> On 2023-10-25 10:48, Philipp Neumann wrote:
>> Can you tell me which ones you use?
> The newer bformdec2 opcode has two modes for binaural decoding: 2D and 3D.
>
> https://csound.com/docs/manual/bformdec2.html
>
>
>
>
> --
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-10-26 00:02
Fromlj
SubjectRe: [Csnd] Ambisonics in Csound
On 2023-10-25 18:23, Guillermo Senna wrote:
> Hi,
>
> I'd recommend that you do the binaural decoding with a (free) VST 
> plugin like Sparta AmbiBIN beecause unfortunately Csound doesn't have 
> a Mag-LS decoder yet. In fact, unless you really need to use Csound to 
> do the spatialization, I'd suggest you move over to a DAW for that. 
> You'd be able to work with 7th order Ambisonics there and have access 
> to a couple of Ambisonics reverb plugins.

Although I was involved in the development of bformdec2, and as much as 
I like Csound-only and DAW-free environments, I think Guillermo is 
right. The truth is that by now there are very powerful spatialization 
tools out there and Csound doesn't have anything close to that. The 
Sparta plugins look pretty impressive and I don't think we have the 
resources to have anything equivalent to that in Csound.


--

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-26 00:52
FromOscar Pablo Di Liscia
SubjectRe: [Csnd] Ambisonics in Csound
As far as I know, you can have up to 8th Ambisonic encoding order
using the UDOs written by Iain McCurdy and Joachim Heintz, as
documented in the
Csound Floss Manual. This is very well explained, and although I´ve
never tested it, I trust the authors. :)
The set of UDOs for this can be obtained here:
https://www.csound-tutorial.net/floss_manual/Release07/SourceMaterials.zip
I also used a mixed order approach using spat3d for the early
reverberation, and fast convolution using room impulse responses for
the late reverberation (both first order) and bformenc2 for the direct
(3rd Order Ambisonics).
You can see my paper on this here:
https://csound.com/icsc2017/abstracts.html#diliscia
And the code here:
https://github.com/odiliscia/the_grainer_Csound_gh
I think that a good way of working is to render the encoded files in
Csound and to listen the decoding results using a good binaural
decoder, as the one by Spartha  aforementioned. We can even have the
Reaper DAW open while Csound overwrites any file  loaded in one of its
tracks to be further decoded when done.
I hope this helps.

El mié, 25 oct 2023 a las 20:02, lj () escribió:
>
> On 2023-10-25 18:23, Guillermo Senna wrote:
> > Hi,
> >
> > I'd recommend that you do the binaural decoding with a (free) VST
> > plugin like Sparta AmbiBIN beecause unfortunately Csound doesn't have
> > a Mag-LS decoder yet. In fact, unless you really need to use Csound to
> > do the spatialization, I'd suggest you move over to a DAW for that.
> > You'd be able to work with 7th order Ambisonics there and have access
> > to a couple of Ambisonics reverb plugins.
>
> Although I was involved in the development of bformdec2, and as much as
> I like Csound-only and DAW-free environments, I think Guillermo is
> right. The truth is that by now there are very powerful spatialization
> tools out there and Csound doesn't have anything close to that. The
> Sparta plugins look pretty impressive and I don't think we have the
> resources to have anything equivalent to that in Csound.
>
>
> --
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here



-- 
Dr. Oscar Pablo Di Liscia
Profesor Titular
Co-Director Programa de Investigación "Sistemas Temporales y Síntesis
Espacial en el Arte Sonoro"
http://stseas.web.unq.edu.ar/
Escuela Universitaria de Artes
Universidad Nacional de Quilmes
Argentina

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-26 07:36
Fromjoachim heintz
SubjectRe: [Csnd] Ambisonics in Csound
these UDOs were written by martin neukom which make them even much more 
trustworthy ...

i think what we discuss here is a matter of the workflow, and of the 
loud speaker setup available.  if you already use a DAW, the plugins 
mentioned make sense.  but it is also possible to do things in raw 
csound.  and i doubt whether high order ambisonics always means better 
sound, as well i think VBAP is more robust for usual cases.

	joachim


On 26/10/2023 01:52, Oscar Pablo Di Liscia wrote:
> As far as I know, you can have up to 8th Ambisonic encoding order
> using the UDOs written by Iain McCurdy and Joachim Heintz, as
> documented in the
> Csound Floss Manual. This is very well explained, and although I´ve
> never tested it, I trust the authors. :)
> The set of UDOs for this can be obtained here:
> https://www.csound-tutorial.net/floss_manual/Release07/SourceMaterials.zip
> I also used a mixed order approach using spat3d for the early
> reverberation, and fast convolution using room impulse responses for
> the late reverberation (both first order) and bformenc2 for the direct
> (3rd Order Ambisonics).
> You can see my paper on this here:
> https://csound.com/icsc2017/abstracts.html#diliscia
> And the code here:
> https://github.com/odiliscia/the_grainer_Csound_gh
> I think that a good way of working is to render the encoded files in
> Csound and to listen the decoding results using a good binaural
> decoder, as the one by Spartha  aforementioned. We can even have the
> Reaper DAW open while Csound overwrites any file  loaded in one of its
> tracks to be further decoded when done.
> I hope this helps.
> 
> El mié, 25 oct 2023 a las 20:02, lj () escribió:
>>
>> On 2023-10-25 18:23, Guillermo Senna wrote:
>>> Hi,
>>>
>>> I'd recommend that you do the binaural decoding with a (free) VST
>>> plugin like Sparta AmbiBIN beecause unfortunately Csound doesn't have
>>> a Mag-LS decoder yet. In fact, unless you really need to use Csound to
>>> do the spatialization, I'd suggest you move over to a DAW for that.
>>> You'd be able to work with 7th order Ambisonics there and have access
>>> to a couple of Ambisonics reverb plugins.
>>
>> Although I was involved in the development of bformdec2, and as much as
>> I like Csound-only and DAW-free environments, I think Guillermo is
>> right. The truth is that by now there are very powerful spatialization
>> tools out there and Csound doesn't have anything close to that. The
>> Sparta plugins look pretty impressive and I don't think we have the
>> resources to have anything equivalent to that in Csound.
>>
>>
>> --
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>          https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> 
> 

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-26 11:20
FromGiuseppe Silvi <000006613a17e48d-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Ambisonics in Csound
Hi all,
I'm sorry to bother you with issues that lead elsewhere.

First of all, Binaural Decoders may use convolution as a strategy.
Convolution means changing the resolution between the time and the frequency domain. If you produce drones or pulsars, you can have different outputs through real-time convolution decoding and listening.

Another fact is that due to HTRF, you can have a low-frequency mismatch between significant loudspeaker-array response and the Dummy Head used to obtain IR.

Last one… all HOA has FOA insiede :) You can listen in headphones, a simple Blumlein pair, or an XY pair using the planar decoding of the FOA.
The Blumlein pair is X+Y and X-Y decoding. With W, you can bring it to an XY90deg. In ambix are a3+a1 and a3-a1.

The order of the encoding and decoding needs to be carefully chosen by the number of sources (and movements) and loudspeakers. High order means high spatial resolution. The low number of loudspeakers means low spatial resolution. So, working in HOA to listen in Headphones (or a simple quadraphonic loudspeaker array) could produce holes somewhere. 

It is the pure magic of Ambisonics composition: you can work properly at first order and produce HOA output at a glance.

A bit of advice: not all ambisonics stuff are made the same way. Mixing encoders and decoders from different "origins" could produce a mismatch.

I use Angelo Farina's equations in Foust.
https://github.com/grammaton/HOA-farina-helper/tree/main
A student of mine translated them into CSound. 
If You use a personal set of equations to encode and decode, you can understand the journey of signals and mix orders. 

As Gerzon taught, the best way to listen to Ambisonics in LR is UHJ decoding. 

Giuseppe Silvi


> On 25 Oct 2023, at 23:23, Guillermo Senna  wrote:
> 
> Hi,
> 
> I'd recommend that you do the binaural decoding with a (free) VST plugin like Sparta AmbiBIN beecause unfortunately Csound doesn't have a Mag-LS decoder yet. In fact, unless you really need to use Csound to do the spatialization, I'd suggest you move over to a DAW for that. You'd be able to work with 7th order Ambisonics there and have access to a couple of Ambisonics reverb plugins.
> 
> Also, I don't think bformdec2 is working as it should (see https://github.com/pzinemanas/bformdec2/issues/4).
> 
> Cheers!
> 
> El mié, 25 oct 2023 a las 12:59, Philipp Neumann () escribió:
> Can someone tell me what i’m doing wrong here? i always get the error ’segmentation fault’.
> my nchnls are set to 2. Is this maybe a problem? do i need a output device with 16 outputs for this?
> 
> instr 1
>   ;; signal
>   aNoise pinkish 1
> 
>   ;; panning
>   kAlpha line 0,p3,720
>   kBeta = 0
> 
>   ;; create array for b-format 3rd order
>   aB_Array[] init 16
>   ;; generate b-format
>   aB_Array bformenc1 aNoise,kAlpha,kBeta
> 
>   ;; binaural setup
>   aBinaural_Array[] init 2
>   aBinaural_Array bformdec2 31,aB_Array
>   ;; output
>   aOut1 = aBinaural_Array[0]
>   aOut2 = ,aBinaural_Array[1]
>   outs aOut1,aOut2
> endin 
> 
> > Am 25.10.2023 um 16:28 schrieb lj :
> > 
> > On 2023-10-25 10:48, Philipp Neumann wrote:
> >> Can you tell me which ones you use?
> > The newer bformdec2 opcode has two modes for binaural decoding: 2D and 3D.
> > 
> > https://csound.com/docs/manual/bformdec2.html
> > 
> > 
> > 
> > 
> > --
> > 
> > Csound mailing list
> > Csound@listserv.heanet.ie
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> > Send bugs reports to
> >       https://github.com/csound/csound/issues
> > Discussions of bugs and features can be posted here
> > 
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-10-26 14:35
FromOscar Pablo Di Liscia
SubjectRe: [Csnd] Ambisonics in Csound
Thanks for clarifiying the author, Joachim.
Was clear to me that the examples were written by Martin Neukom. But I downloaded the UDOs code and found no author there. Maybe there is a readme file I missed. Sorry for that.
Best
Pablo


El jueves, 26 de octubre de 2023, joachim heintz <jh@joachimheintz.de> escribió:
these UDOs were written by martin neukom which make them even much more trustworthy ...

i think what we discuss here is a matter of the workflow, and of the loud speaker setup available.  if you already use a DAW, the plugins mentioned make sense.  but it is also possible to do things in raw csound.  and i doubt whether high order ambisonics always means better sound, as well i think VBAP is more robust for usual cases.

        joachim


On 26/10/2023 01:52, Oscar Pablo Di Liscia wrote:
As far as I know, you can have up to 8th Ambisonic encoding order
using the UDOs written by Iain McCurdy and Joachim Heintz, as
documented in the
Csound Floss Manual. This is very well explained, and although I´ve
never tested it, I trust the authors. :)
The set of UDOs for this can be obtained here:
https://www.csound-tutorial.net/floss_manual/Release07/SourceMaterials.zip
I also used a mixed order approach using spat3d for the early
reverberation, and fast convolution using room impulse responses for
the late reverberation (both first order) and bformenc2 for the direct
(3rd Order Ambisonics).
You can see my paper on this here:
https://csound.com/icsc2017/abstracts.html#diliscia
And the code here:
https://github.com/odiliscia/the_grainer_Csound_gh
I think that a good way of working is to render the encoded files in
Csound and to listen the decoding results using a good binaural
decoder, as the one by Spartha  aforementioned. We can even have the
Reaper DAW open while Csound overwrites any file  loaded in one of its
tracks to be further decoded when done.
I hope this helps.

El mié, 25 oct 2023 a las 20:02, lj (<ljc@internet.com.uy>) escribió:

On 2023-10-25 18:23, Guillermo Senna wrote:
Hi,

I'd recommend that you do the binaural decoding with a (free) VST
plugin like Sparta AmbiBIN beecause unfortunately Csound doesn't have
a Mag-LS decoder yet. In fact, unless you really need to use Csound to
do the spatialization, I'd suggest you move over to a DAW for that.
You'd be able to work with 7th order Ambisonics there and have access
to a couple of Ambisonics reverb plugins.

Although I was involved in the development of bformdec2, and as much as
I like Csound-only and DAW-free environments, I think Guillermo is
right. The truth is that by now there are very powerful spatialization
tools out there and Csound doesn't have anything close to that. The
Sparta plugins look pretty impressive and I don't think we have the
resources to have anything equivalent to that in Csound.


--

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
         https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here




Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here


--
Dr. Oscar Pablo Di Liscia
Profesor Titular
Co-Director Programa de Investigación "Sistemas Temporales y Síntesis Espacial en el Arte Sonoro"
http://stseas.web.unq.edu.ar/
Escuela Universitaria de Artes
Universidad Nacional de Quilmes
Argentina

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-10-26 18:49
Fromjoachim heintz
SubjectRe: [Csnd] Ambisonics in Csound
thanks, pablo.
you are right: we should mention it inside the UDOs.
cheers -
	joachim

On 26/10/2023 15:35, Oscar Pablo Di Liscia wrote:
> Thanks for clarifiying the author, Joachim.
> Was clear to me that the examples were written by Martin Neukom. But I 
> downloaded the UDOs code and found no author there. Maybe there is a 
> readme file I missed. Sorry for that.
> Best
> Pablo
> 
> 
> El jueves, 26 de octubre de 2023, joachim heintz  > escribió:
> 
>     these UDOs were written by martin neukom which make them even much
>     more trustworthy ...
> 
>     i think what we discuss here is a matter of the workflow, and of the
>     loud speaker setup available.  if you already use a DAW, the plugins
>     mentioned make sense.  but it is also possible to do things in raw
>     csound.  and i doubt whether high order ambisonics always means
>     better sound, as well i think VBAP is more robust for usual cases.
> 
>              joachim
> 
> 
>     On 26/10/2023 01:52, Oscar Pablo Di Liscia wrote:
> 
>         As far as I know, you can have up to 8th Ambisonic encoding order
>         using the UDOs written by Iain McCurdy and Joachim Heintz, as
>         documented in the
>         Csound Floss Manual. This is very well explained, and although I´ve
>         never tested it, I trust the authors. :)
>         The set of UDOs for this can be obtained here:
>         https://www.csound-tutorial.net/floss_manual/Release07/SourceMaterials.zip 
>         I also used a mixed order approach using spat3d for the early
>         reverberation, and fast convolution using room impulse responses for
>         the late reverberation (both first order) and bformenc2 for the
>         direct
>         (3rd Order Ambisonics).
>         You can see my paper on this here:
>         https://csound.com/icsc2017/abstracts.html#diliscia
>         
>         And the code here:
>         https://github.com/odiliscia/the_grainer_Csound_gh
>         
>         I think that a good way of working is to render the encoded files in
>         Csound and to listen the decoding results using a good binaural
>         decoder, as the one by Spartha  aforementioned. We can even have the
>         Reaper DAW open while Csound overwrites any file  loaded in one
>         of its
>         tracks to be further decoded when done.
>         I hope this helps.
> 
>         El mié, 25 oct 2023 a las 20:02, lj (         >) escribió:
> 
> 
>             On 2023-10-25 18:23, Guillermo Senna wrote:
> 
>                 Hi,
> 
>                 I'd recommend that you do the binaural decoding with a
>                 (free) VST
>                 plugin like Sparta AmbiBIN beecause unfortunately Csound
>                 doesn't have
>                 a Mag-LS decoder yet. In fact, unless you really need to
>                 use Csound to
>                 do the spatialization, I'd suggest you move over to a
>                 DAW for that.
>                 You'd be able to work with 7th order Ambisonics there
>                 and have access
>                 to a couple of Ambisonics reverb plugins.
> 
> 
>             Although I was involved in the development of bformdec2, and
>             as much as
>             I like Csound-only and DAW-free environments, I think
>             Guillermo is
>             right. The truth is that by now there are very powerful
>             spatialization
>             tools out there and Csound doesn't have anything close to
>             that. The
>             Sparta plugins look pretty impressive and I don't think we
>             have the
>             resources to have anything equivalent to that in Csound.
> 
> 
>             --
> 
>             Csound mailing list
>             Csound@listserv.heanet.ie 
>             https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>             
>             Send bugs reports to
>             https://github.com/csound/csound/issues
>             
>             Discussions of bugs and features can be posted here
> 
> 
> 
> 
> 
>     Csound mailing list
>     Csound@listserv.heanet.ie 
>     https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>     
>     Send bugs reports to
>     https://github.com/csound/csound/issues
>     
>     Discussions of bugs and features can be posted here
> 
> 
> 
> -- 
> Dr. Oscar Pablo Di Liscia
> Profesor Titular
> Co-Director Programa de Investigación "Sistemas Temporales y Síntesis 
> Espacial en el Arte Sonoro"
> http://stseas.web.unq.edu.ar/ 
> Escuela Universitaria de Artes
> Universidad Nacional de Quilmes
> Argentina
> 
> Csound mailing list Csound@listserv.heanet.ie 
>  
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND 
>  Send bugs reports to 
> https://github.com/csound/csound/issues 
>  Discussions of bugs and 
> features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here