[asterisk-dev] Asterisk goes Spatial Conferencing: the STEAK project

Dennis Guse dennis.guse at alumni.tu-berlin.de
Sat Jul 23 03:50:01 CDT 2016


Then lets get started.
Due to the relatively large number of changes, we will split them up
into individual patches:

1) Support for interleaved stereo (mainly softmix and struct channel)
2) Extension of confbridge with binaural synthesis via convolution (if
channel supports stereo)

For the patches, we will remove the hard dependency to OPUS (although
we will stick to using it) and also enable L16 with stereo.

Nevertheless, there are still some open questions:

1. Storage and description of HRTFs
Impulse responses are at the moment compiled into Asterisk as a header file.
This header file is generated using a custom C-program converting a
multi-channel wave file into a float-array - hrirs_fabian.wav was
taken from the SoundScapeRenderer
https://github.com/SoundScapeRenderer/ssr/tree/master/data/impulse_responses/hrirs

For positioning a sound source, the HRTFs for the left and for the
right ear need to be selected according to the desired angle.
This information is at the moment hard-coded as we use a 720-channel
wave (interleaved: left, right) to cover 360 degrees completely.

Would you prefer to compile the HRTFs into Asterisk (incl. the
hard-coded description) or rather make this configurable?
For the second option, we would need some support in terms of how to
add configuration options.

2. Configuration of positioning of conference participants
The positioning of individual participants is at the moment hard-coded
(compiled via header-file).
This is basically an array containing the angles at which participant
_n_ is going to be seated.
This could also be made configurable via configuration file.

Furthermore, all participants of a conference receive the _same_
acoustical environment (i.e., participant 1 always sits in front of
the listener etc.).
This  limits the computational requirements while individual listeners
cannot configure their desired seating order.
In fact, the own signal of a participant is subtracted after rendering
the whole environment before sending the signals back.

3. Internal sampling rate of Confbridge
The binaural synthesis is at the moment conducted at 48kHz.
This is actually due to our use of OPUS, which always uses 48kHz for
the decoded signals.
Is this ok?

4. Is the dependency to libfftw3 an issue?


We look forward to your feedback and will spent some time preparing the patches.
---
Dennis Guse


On Wed, Jul 20, 2016 at 3:53 PM, Matthew Jordan <mjordan at digium.com> wrote:
>
>
> On Tue, Jul 19, 2016 at 4:59 PM, Matt Fredrickson <creslin at digium.com>
> wrote:
>>
>> On Tue, Jul 19, 2016 at 12:59 PM, Sean Bright <sean.bright at gmail.com>
>> wrote:
>> > On 7/19/2016 10:35 AM, Matt Fredrickson wrote:
>> >>
>> >> Response below.
>> >>
>> >> On Mon, Jul 18, 2016 at 7:18 AM, Dennis Guse
>> >> <dennis.guse at alumni.tu-berlin.de> wrote:
>> >>>
>> >>> Technical Details (at the moment the modifications are based upon
>> >>> 13.6.0):
>> >>> * Enabled OPUS (with incoming stereo and outgoing stereo
>> >>> [interleaved])
>> >>> * Extended softmix for stereo support (downmixing)
>> >>> * Extended the default confbridge (basically added a convolution
>> >>> engine)
>> >
>> >
>> > If Opus is a required part of the implementation - and from reading the
>> > description of the work being done it appears to be - wouldn't that make
>> > this ineligible for inclusion?
>>
>> My hope is that there is a large amount of core Asterisk work which
>> does not explicitly require Opus for it to be merged.  I'm hoping that
>> our current Opus legal impasses will not go on forever, but until
>> things clear up with regards to it, this is the best response I can
>> give.
>>
>
> The only thing that we can't include at this time is the codec module
> itself, which - if implemented correctly - should be a separate shared
> object library. That means that all the rest can be put up for code review,
> and anyone who wants to take advantage of the new feature(s) can simply load
> an externally available codec_opus.
>
> So - if you're interested - please do contribute the patches back upstream.
>
> --
> Matthew Jordan
> Digium, Inc. | CTO
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
> Check us out at: http://digium.com & http://asterisk.org
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev



More information about the asterisk-dev mailing list