That's weird. The only way a H120 will record in 96khz is when fed a digital signal that is 96khz, it isn't even an option in analog. A H120 will record optical in 44.1/48/88.1/96 if fed a digital signal at those rates.
That's why while watching the track timer crawl along, I kept checking to make sure the UA-5 was set to send 16/44.1 and not one of the ADV settings. I have to believe the UA-5 was sending a 96kHz sample rate signal because in the spectral analysis, the files actually contain data all the way to 48,000 Hz. I expected the header to have been goofy but for the data to cut off at 22,050 hz but these were actual 96k files.
Correction: The
only way a H120 will record in 96khz is when
it thinks it's being fed a digital signal that is 96khz
They probably are 44100 files, not 96k files. This type of mis-sync happens to almost everybody once, and the key is to powering up the UA-5 (wait a few seconds until that red light comes on), and then power up the H120, otherwise the H120 is guessing what the sync rate is. I haven't looked inside the Rockbox source code, but I think it probably goes something like this: look for a 44100 signal, not seeing anything... look for a 48000 signal, not seeing anything... look for 88200 signal, not seeing anything.... look for 96000 signal, NOW I'm seeing something so I'll assume I'm getting a 96000 signal.
The above explanation is a known issue that happens to everyone. I don't think the UA-5 was sending 96k data, I don't think the UA-5 would make that mistake. Fix the header in the wav file, and you should be fine.
A 16 bit wave file looks like this:
- header (contains info on what the the machine thinks the file is, including sample rate)
- raw data, which is just 16bit samples one after the other, regardless of the bit rate.
The H120 creates an erroneous header file, and copies in the raw data from the UA-5 as it comes. Because it thinks it is getting 96000 samples/second, and it's only getting 44100 samples/second, the clock runs slow. It's not paying attention to an internal clock, it's just adding 1/96000 second per sample, where it should be adding 1/44100 second per sample. On playback it tries to playback these samples at 96000, when the really are at 44100, so it's playing back too fast, hence the chipmunk sound.
Until you fix the wave header, spectral analysis doesn't mean anything, because it's not looking at the data correctly. The data is just data... without any clock reference.