Week 5

This week I received the GSoC welcome package many thanks to Google. All includes stuff shows the following picture.

gsoc_welcome

The scetch book and the biro is really cool and I will use it for my notes.

This week I managed to get library.kodi.audioengine running and all issues are solved. I’m now able to create audio streams for ActiveAE from our AudioDSP Add-ons, which allows me to play any audio signal. I also added support for creating audio streams that bypass the AudioDSP system, which can be used to create clean audio signals (this is really needed for chirp signals and room impulse measurements).

For testing and prototyping I created a small class interface that creates a new thread, opens an audio stream and plays a audio signal from an wave file. At the moment I only tried a chirp signal, which is read from an wave file with libsndfile. The only thing that is left, is stopping the thread immediately. At the moment there is some delay if I try to stop the thread.

Furthermore I extended my signal processing library (asplib) with asplib_utils. It includes the following classes:

  • a cross-platform CPUTimer class
  • template buffer classes (frame buffer, frame ring buffer and a normal ring buffer)
  • exception class interface
  • interleaver function templates, which can transform non interleaved (aaaa… bbbbb…) into interleaved samples (ababab…)
  • operating system header files, which can be used to transform specific defines into a common defines (e.g. __func__ from GCC and __FUNCTION__ from Visual Studio will be defined as __ASPLIB_FUNCTION__)

I will use some classes from asplib_utils for creating the capture device interface.

Next week I will try to develop a first version of the capture device interface, which I will use to measure the room impulse response. During the whole GSoC time I will use a Behringer ECM8000 with an Stage Line MPA-102 amplifier. I will take some photos from my equipment during the first tests and then share them here.

Leave a Comment

Your email address will not be published. Required fields are marked *