[Interview] Lovre Bogdanić, Croatia (Digital Signal Processing Engineer)

Lovre Bogdanić attended the Mathematics and Informatics High School in Zadar, Croatia, and later studied electrical engineering at the University of Zagreb. During his studies, he specialized in signal processing and FPGA development, and was greatly influenced by his mentor, Prof. Mladen Vučić. After graduation, Lovre worked in industry with FPGAs and optical sensors, but his passion for signal processing, particularly for audio and acoustic applications, drove him to further experimentation in these areas. He worked on audio and acoustics applications for different platforms. He worked with acoustical monitoring and he started an innovative project based on a new method for measuring room acoustics using a 3D microphone array. He developed an Android app called Audio PEC and worked on sonification and visualisation of human physiological signals like respiration and heartbeat. Lovre now works as a development engineer at the Max Planck Institute for Empirical Aesthetics in the ArtLab department.

Can you tell us a bit more about your 3D microphone array acoustics measurement system? What is innovative about it? 

Gladly. So the main innovation of this acoustic measurement system is how it extracts spatial acoustic information and calculates all or most of the acoustically important parameters with just one measurement.

Can you explain how it does that technically, HW and SW side of it?

Well the system is based on four omnidirectional microphones arranged orthogonally in 3D space. One microphone was in the center, and the other three were arranged on the x, y, and z axes at a distance of 20 cm from the central microphone. This arrangement of microphones allowed me to extract the direction of arrival of sound reflections, which is why this system can only work in larger rooms where these early reflections (the first 80-100 ms of the room impulse response) can be separated from the diffuse part of the reverberation. With the directional information of the reflections it is then possible to calculate e.g. the part of the sound energy coming from the sides and to calculate the binaural quality index using the HRTF (head related transfer function).

What is your experience with developing audio applications for Android?

Well, it’s definitely different from developing for desktop PCs. I remember when I started developing audio applications for Android, I was surprised about the limitations compared to desktop PC applications. I think the biggest limitation is not being able to communicate between different applications e.g. it is not possible to take an audio output stream of one application and process it with another. I know this is important for security reasons, but I hope Android will find another way to deal with this in the future. On the other hand, there are some frameworks that can help you write cross-platform applications in C++, such as JUCE and Qt, but again, it’s probably worth noting that not all Android features are supported by these. However, if you want to develop a powerful cross-platform audio application, I think such frameworks are a huge help.

 And what about audio for embedded devices?

This is a very interesting field and I am looking forward to my first major project in this area. I’ve played a bit with the Bella board (bela.io/) and highly recommend it to anyone interested in audio for embedded devices. FPGAs could also be an interesting option for audio applications where large amounts of data need to be processed with low and deterministic latency. With this in mind, I have started developing an audio DSP framework for FPGAs, but due to a chronic lack of free time, I am still waiting for a specific project to be extended to release maturity. This is the kind of work I really enjoy, so it will happen sooner or later ????.

What are some of your favourite tools for audio programming?

I use Audacity when I need to review a sound, but otherwise there aren’t many tools I use, apart from IDEs, because I work almost exclusively with low-level development. What I do appreciate is the ability to quickly prototype, and for that I use Csound (csound.com/). Although it is possible to develop complete applications or plugins using Csound alone, I also like to use it in combination with Python or C++. Prototyping and experimenting with Python and Csound is pretty easy and fast once you get the hang of it. Although Csound is not a mainstream language and there is a significant learning curve, there is a great community that is always willing to help.

Are there any other tools, libraries or learning materials that you would like to mention or recommend?

Regarding learning material, I can gladly mention few programming books that I like the most:

  •         The Audio Programming Book, by Boulanger and Lazzarini, is an extensive source of information when it comes to audio programming. There is also additional DVD, that comes with it, with some helpful examples and source codes. It is an excellent book, especially for those who are starting with audio programing or want to know more about it.
  •         C++ High Performance, by Andrist and Sehr, is a book for performance oriented programming. I’m strong advocate that an over-optimized code is (almost) as bad as the poor one, but there are some cases, especially in real time audio applications, where the performant code is of highest importance and for those cases this book is an excellent learning material.
  •         The Pragmatic Programmer, by Thomas and Hunt, is not directly related to audio programming but it is a classic and a must read for all programmers who care about and enjoy in their work.

Bella developers made an excellent online video course for the real-time audio development (youtube.com/playlist?list=PLCrgFeG6pwQmdbB6l3ehC8oBBZbatVoz3).

And one other tool that I would like to mention is a MicroModeler (www.micromodeler.com/). When it comes to filter design it is really a quite helpful tool.

Where can we reach you, or follow your work?

I don’t have any personal open-source projects yet but we will start publishing stuff that we develop on our institute soon so maybe, at least for now, that is the best way to follow my work. Otherwise, I like to connect with people that share the same passion for audio and acoustics so feel free to contact me via email lovre.bogdanic[@]gmail .com anytime.