MikeDB wrote: ↑
Sun Sep 15, 2019 10:48 am
It's a live audio project so I need proper real-time (not pseudo-real time using large DMA buffers like ALSA) and Circle seemed to be one of the few with decent I2S drivers I could use as a base rather than a 'to be implemented' notice. But Linux gives me WiFi, USB, etc in a hassle free way. So maybe I need to just use some of the drivers from Circle without actually using Circle itself.
I heard more than once, that the audio latency in Linux was the reason to try Circle. Unfortunately I cannot offer WiFi and yes, USB in Circle has not the features and quality of the Linux drivers. The I2S driver model in Circle is relatively simple. There are two concatenated DMA buffers of configurable size, one is filled by the the application, while the other is written out to the I2S device. I guess, it's possible to adapt this in Linux.
Altertnatively I may use a Pi Zero W for Linux and Pi4 for the audio using Circle and connect the two with SPI which would double the audio DSP available.
If you are familiar with NEON programming, you will get much processing power. I programmed a virtual analog synthesizer with Circle by myself, which supports 24 polyphonic voices (6 per core), but without explicit NEON programming and probably not in a very efficient way. I heard others have reached over 100 voices.