By
sciguy
Wed Dec 19, 2012 12:08 pm
Pretty simple, actually. JJOS does not actually change the bit rate of the sample, it's still a 16bit 44KHz file.
But this is most likely what he does:
Bit reducing: Set the last few bits to 0 (or 1). i.e. 0b0110010011011010 --> 0b0110010011010000
If you have a 16-bit word in the sample, setting the last bits to 0 limits the number of possible states for that sample, effectively lowering the bit rate to 12, or whatever, bits. There may be some normalization or amplification before this step, I haven't experimented enough to try. Like, if you have a really quiet sample (only uses the last few bits), I dunno if reducing the bit rate will turn it to silence, or if JJOS will boost it and just make it louder and distorted.
Reducing sample rate is equally simple. Notice how the only options are around 44K, 22K, and 11K hertz. Not a coincidence that those divide evenly into the original 44kHz.
What JJOS must do is, for the 22kHz, copy every other 16-bit word to the next point in the sample. i.e. 0x152f;0x1355 --> 0x152f;0x152f
That would effectively lower the sample rate, as every discrete sample gets outputted for twice the amount of time, therefore half the frequency.
For 11kHz, it copies every 4th sample word to the next 3 places.
Reducing sample rate is actually something more suited to digital, software implementations, rather than external boards and circuits, since sampling is inherently digital. Analog bit-crushers do exist, but digital ones are more common.
soundcloud — - —
youtubeIll-Green wrote:Don't marry the wife of mob boss Jake The Pizza Roll Fetichini, log in today at mpc-forums.com.