Quite possible!
I've never tried to push it myself, always been concerned with what would survive on a tape, but others have:
https://www.youtube.com/watch?v=3dRhRAXz7iU
And on that note... I've pushed out v3.1! Waveforms should be a lot more resilient now - my testing shows that even 9600Hz output survives speed adjustment pretty well.
The change is based on some measurements I did some while ago: it now accounts for the variance in delay within the ROM before it starts measuring - e.g., there's a longer delay between bytes than there is between bits. You can select (basically) the old timing with "--timing simple".
Here are my testing notes so far - not sent many "--no-fast" wavs out to real hardware yet as I figured that such good results with "-r 9600" meant higher rates were probably going to be ok!
Code: Select all
adjust speed with:
sox input.wav output.wav speed FACTOR rate -v 48000
(result is 48kHz, but remember the source was not - that's just equivalent to
playing it out)
--fast --timing rom
XRoar Real
Min Max Min Max
-r 9600 0.92 1.08 0.93 1.10
-r 11025 0.90 1.10 0.90 1.13
-r 12000 0.93 1.12
-r 22050 0.86 1.19 0.86 1.20
-r 48000 0.85 1.20
--no-fast --timing rom
XRoar Real
Min Max Min Max
-r 9600 0.93 1.19 0.91 1.20
-r 11025 0.94 1.15
-r 12000 0.89 1.19
-r 22050 0.88 1.24
-r 48000 0.85 1.24
--no-fast --timing simple
XRoar Real
Min Max Min Max
-r 9600 1.00 1.15
If you're going to use --timing simple, best use -r 12000 at least. If you're actually going to record it to tape, no reason not to use -r 48000.
Thanks zephyr for building the standalone Windows executables - I hope these constant changes aren't too irritating!
Oh, WAV output a *little* faster now, as I cache runs of samples...