mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-12-02 22:21:47 +00:00
Soundboard: Arbitrary samplerate support for wave files
Screenshots
This commit is contained in:
@@ -34,12 +34,12 @@ void AudioTXProcessor::execute(const buffer_c8_t& buffer){
|
||||
|
||||
if (!configured) return;
|
||||
|
||||
ai = 0;
|
||||
//ai = 0;
|
||||
for (size_t i = 0; i<buffer.count; i++) {
|
||||
|
||||
// Audio preview sample generation: 1536000/48000 = 32
|
||||
// Audio preview sample generation: 1536000/divider = samplerate
|
||||
if (!as) {
|
||||
as = 32;
|
||||
as = divider;
|
||||
audio_fifo.out(sample);
|
||||
//preview_audio_buffer.p[ai++] = sample << 8;
|
||||
|
||||
@@ -78,6 +78,7 @@ void AudioTXProcessor::on_message(const Message* const msg) {
|
||||
// m = (262144 * a) / 1536000
|
||||
// a = 262144 / 1536000 (*1000 = 171)
|
||||
bw = 171 * (message->bw);
|
||||
divider = message->divider;
|
||||
as = 0;
|
||||
|
||||
configured = true;
|
||||
|
||||
@@ -42,7 +42,9 @@ private:
|
||||
FIFO<int8_t> audio_fifo = { audio_fifo_data, 11 }; // 43ms @ 48000Hz
|
||||
|
||||
uint32_t bw;
|
||||
uint8_t as = 0, ai;
|
||||
uint32_t divider;
|
||||
uint8_t as = 0;
|
||||
|
||||
int8_t re, im;
|
||||
int8_t sample;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user