I've been using the wavetable synthesis library on a Teensy 4.1 and I'm trying to get public domain soundfonts to fit on to the teensy's PROGMEM. I've been doing some research and trying to understand the library and the decoder, but I was wondering if anyone could offer any insights to the questions below.
Why does the a decoded soundfont expand in size so drastically between its 'sf2' version? For reference, I am looking at this rhodes soundfont (https://www.polyphone-soundfonts.com/documents/10-pianos/116-j-rhodes), who's samples are 44,1khz @ 16bits. Untouched, its ~13.2mb, and when run through the decoder, the file size is about 4x as large @ 65mb for the .cpp portion.
Why are samples converted into arrays of uint_32 ? Would it not make more sense to use a 16bit data type?
And finally, is it possibly to use expanded 4.1 flash memory to store the soundfont w/o having to modify the playback code?
Thanks!
Why does the a decoded soundfont expand in size so drastically between its 'sf2' version? For reference, I am looking at this rhodes soundfont (https://www.polyphone-soundfonts.com/documents/10-pianos/116-j-rhodes), who's samples are 44,1khz @ 16bits. Untouched, its ~13.2mb, and when run through the decoder, the file size is about 4x as large @ 65mb for the .cpp portion.
Why are samples converted into arrays of uint_32 ? Would it not make more sense to use a 16bit data type?
And finally, is it possibly to use expanded 4.1 flash memory to store the soundfont w/o having to modify the playback code?
Thanks!