Hi all. A bit more than a week ago, Matthias Rath and I presented a paper at the Linux Audio Conference in Maynooth: "Minimum required delay for realtime block size adaptation in digital audio signal processing"
The PDF of the paper is available at https://lac2026.sciencesconf.org/722511 The video recording of the talk available at https://tube.mucs.club/w/7a837NuQo6radV2NpmNvEJ In the comments of the live stream there were a few questions and complaints that I would like to discuss here. One of the complaints was that this problem was solved years ago and used in a lot of code, which we acknowledged in the presentation. In the paper we wrote: "While the problem of block size adaptation has for sure been tackled and solved multiple times over the past decades within the implementations of several realtime applications, the only paper where we found it discussed in any depth is [3]". Reference [3] is: Stéphane Letz, “Callback adaptation techniques,” Technical report, GRAME, 2001, https://hal.science/hal-02158912v1. The problem is that when I looked for papers/reports/websites/code, I could only find the PortAudio code we showed in the presentation (and which is also in the paper). Later I was pointed to the paper by Stéphane Letz, which we mentioned both in the presentation and the paper. Other than that, I couldn't find anything, so if anyone reading this knows any additional sources (books, papers, websites, code bases, ...), please share them here! Apart from this, we were also told that we got something wrong, without specifying what exactly it is. So if anyone spotted anything that we might have gotten wrong, please share it here! We might not be able to publish formal errata to the paper, but at least this mailing list thread can provide errata which will then hopefully become discoverable for anyone searching for that topic. cheers, Matthias P.S. the abstract of the paper, for quick reference: When a block-based realtime audio application invokes a signal processing component which uses a different block size, this requires some buffering of audio data between invocations of said signal processing component. This is sometimes called reblocking. Depending on the two block sizes, this buffering may introduce a delay. This paper answers the question of the minimum such delay required for any given combination of the two block sizes.
