There's a USF library you can compile, but you'll have to coerce it into talking to OSS (easier than ALSA) yourself. Probably looking at a 100-200 line program, plus my lazyusf2 and psflib libraries.
Don't forget to use the Makefile, with an edit or so, to enable the dynamic recompiler for your platform. Supports x86 and x86_64. Otherwise you're stuck with interpreter and cached interpreter.
Check out the source to the Cog player on BitBucket to see how you can arrange stdio to callbacks for psflib, and the necessary loader functions to get the psf data into the emulator state, and how to allocate, render, and clean up.
You can even use the resampled mode so you don't have to rely on the OS supporting any given odd rate.
I'll check it out, thanks. Though the OSS part troubles me because I'm on a system using ALSA and Pulseaudio. (that I never bothered to purge)
Would it really be that much of a headache coercing the library to talk to Pulseaudio or just plain ALSA in general? I've never built anything audio from scratch before so I wouldn't really know but I'm willing to learn.
The library can talk to whichever audio API you wish to program for. I only mentioned OSS because it's one of the easiest.
It doesn't talk to the audio API for you, you must load the files into the emulator, and request blocks of samples from it manually. What you do with those samples is entirely up to you.