It's interesting, apparently there are a few kinds of blocks, which are a single byte followed by their payload. Byte 05 (the most common) signifies 128 bytes of unsigned 8-bit PCM. Byte 03 (as seen at 0x22D4) might be some kind of RLE, looks like 78 bytes. There may be an 02 at 0x9. At the very end (0xF50D) there's byte 04, which has 90 bytes of something like what 03 has. The first attempt would be to just take the 05 blocks. 02, 03 and 04 may just be metadata, but as 03 comes between two words it seems moderately likely that it encodes a pause.
edited 2:33 PM EST December 5, 2009
So here's a simple parser sfl 0.0, that just dumps the 05 blocks. Command line is like: sfl blah.SFL blob.raw and blob.raw is apparently 11025 Hz 8-bit unsigned PCM.