However, I have a guess of what the issue could be. Would you be able to modify the core code of your Bela (requires ssh
ing into the board and using a terminal-based editor) ? If yes, could you try to do the following (one at a time):
step1:
- edit file /root/Bela/core/PRU.cpp
- replace line 476:
context->audioOut = (float *)malloc(context->audioOutChannels * context->audioFrames * sizeof(float));
with
context->audioOut = (float *)calloc(1, context->audioOutChannels * context->audioFrames * sizeof(float));
- run the following command make -C /root/Bela lib
- run scsynth
as above: does the problem persist?
step2:
- edit file /root/Bela/core/PRU.cpp
- locate line 1209:
(*render)((BelaContext *)context, userData);
- insert this line above it:
memset(context->audioOut, 0, context->audioOutChannels * context->audioFrames * sizeof(float));
- run the following command make -C /root/Bela lib
- run scsynth
as above: does the problem persist?
It'd be good if you could try the two steps one after the other and let me know if step 1 and/or step 2 solve the issue (no need to undo step 1 before going to step2).