Remork for speaker volume, maybe try changing the DAC level in the settings?
Last year we changed the I/O gain setting API so that it unifies gains under three generic headings:
- input gain (compound of any gain/attenuators in the input signal path)
--audio-input-gain
or -I
on the command line, has dedicated control in the IDE.
- headphone level (compound of any gain/attenuators in the headphone out signal path),
--hp-level
or -H
on the command line, has dedicated control in the IDE
- line out level (compound of any gain/attenuators in the line out signal path):
--line-out-level
or -D
on the command line, there is no dedicated control in the IDE
As the speakers on the Bela cape are hard-wired to the line out, you should use the line out level control. As there is no dedicated control in the IDE, you should instead add the command line option and its parameter to the User Command Line Parameters
box. For instance, -D -10
will set the gain to -10dB. As usual when changing any of these parameters, you will have to restart the program for any changes to be applied.
If you want to set the gain while the patch is running (e.g.: via GUI or in response to an analog inputs), you can use the dedicated API call:
int Bela_setLineOutLevel(int channel, float decibel);
Note 1: if you don't have the latest master
branch from the Bela repo, -D
will mean "DAC level" as @Remork was suggesting and so it will work largely the same (though only with a limited range of values, probably between -12dB and 0dB), but it will affect both the speaker out and the headphone out. I recommend you update your core code so that it matches my description above, following the instructions here
Note 2: I think the gain range with the new code is approx -60
to +3
dB, but if your output signal is already full scale, it will harshly clip when you use any positive gain setting.