First up a massive thanks for all of you, and I imagine especially Fourdee, for giving us dietpi.
I am a fairly novice linux /software user. I have been playing with raspberry pis (3 and zero W) for a couple of months now.
A pi 3 and and a zero W are running OSMC to provide TV replay. I have a pi 3 and a zero W to listen to music (mostly internet
radio) running dietpi with mpd/mopidy. All easy to set-up and keep running. I still have yet to get one pi to read an audio CD from
a cdrom drive, but that is off topic for this post.
My problem is with my fifth pi (3) that I use to synthesize piano sounds. I have a 25 yr old Roland piano, with a good feel
(proper weighted keys) and midi interface, but whose sound dates from the mid eighties. I have successfully installed dietpi,
added a midi-to-usb interface, a hifiberry amp hat, and some good speakers, and I run fluidsynth with various soundfonts.
I am hoping to get a true concert grand piano sound and so far its not too bad.
For the most part this works well. I have low latency (384khz kernel, I load fluidsynth on the four cores), and the sound
quality (dynamic range, distorsion, noise) is great. But I have yet to find the ideal soundfont, and I have tried a bunch.
The best ones so far are between 250 and 500MB. These load and play fine, I just have to add a wait to allow them to load
into memory. Running htop or using raspicheck.apk on my phone allows me to see that cpu usage is actually quite low, and
the memory used is essentially that required by dietpi plus the soundfont. I run headless so the default gpu memory (from
dietpi-config) is smallest (64M ?). I have disabled the swapfile.
But I cannot load a soundfont that is 600MB in size. I have checked that the sf2 file is good running a midi file in windows.
If i start fluidsynth with the soundfont, and immediately afterwards htop, with screen attached, I see memory usage going up as
the soundfont loads, fairly low cpu usage, and then it seems to hit a wall at around 70% memory and 99.9% cpu usage, and then
freezes. I have to pull the plug to regain control.
So first question, which could be linux related, should I do something particular to allow loading files bigger than half the total
system ram ? When serching through google I came across the question of disk caching. Can I tell the system that this font is
readonly when fluidsynth intially loads to avoid caching ? Should I create a temporary ram disk, load the file there, and then
run fluidsynth ? Are there other system tweaks needed in dietpi ? Is this a bug ? I have not tried any other distribution since
I have been totally won over by dietpi for lightweight ease-of-use and no sdcard corruption.
Thanks for any help and pointers to resolve this.