If you read their source code, or their website(https://waveform.prototyping.bbc.co.uk/), you'll find out its data is in a form that positives and negtives alternate, meaning two values stands for one sample.
if you want to resample and make it positve, the right way to do so would be like : [abs(0)+abs(1)]/2
And actually you don't have to do downsampling, cause it is offered in that C++, with command options.