When it comes to audio effects, you have your delay, reverb, chorus, phasing, and the rest that were derived from strictly analog processes. Compared to the traditional way of doing things, digital audio is relatively new, and there is still untapped potential for new processes and effects. One of those is the bit crusher, an effect that turns 8- or 16-bit audio into mush. [Electronoob] wanted to experiment with bitcrushing, and couldn’t find what he wanted. Undeterred, he built his own.
There are two major effects that are purely in the digital domain. The first is the sample rate reducer. This has a few interesting applications. Because [Shannon] and [Nyquist] say we can only reproduce audio signals less than half of the sample rate; if you run some audio through a sample rate reducer set to 1kHz, it’ll sound like crap, but you’ll also only get bass.
The bitcrusher is a little different. Instead of recording samples of 256 values for 8-bit audio or ~65000 values for 16-bit audio, a one-bit bitcrusher only records one value – on or off. Play it through a speaker at a decent sample rate, and you can still hear it. It sounds like a robotic nightmare, but it’s still there.
[Electronoob] created his bitcrusher purely in software, sending the resulting bitcrushed and much smaller file to an Arduino for playback. Interestingly, he’s also included the ability to downsample audio, giving is project both pure digital effects for the price of one. 1-bit audio is a bit rough on the ears, but 2, 3, and 4-bit audio starts to sound pretty cool, and something that would feel at home in some genres of music.
A way to implement this in analog circuitry: apply a huge amount of gain and limit the output. This is basically a heavily clipped file.
Nope, bit crushing is a totally different effect and sound. It acts by removing less significant bits from the sampled data, this means it acts as a clipper but only with respect to the amount of data that the removed bits would contain.
Here’s a clipped sinewave:
http://flylib.com/books/3/375/1/html/2/images/fig129_01.jpg
And here’s a bitcrushed one:
http://www.skrasoft.com/blog/blogfiles/2A03/sine1.png
larry’s example is still correct.
A one-bit bitcrusher results in one of two values – high or low.
Now take larry’s example – a huge amount of gain, clip the output. The result is an analog signal with effectively two states – clipped high or clipped low.
So in the one-bit case, both methods produce a similar result.
If you take the Most Significant Bit (MSB) only by filtering out the others (setting to zero) then yes It is effectively the same as extreme analogue clipping if not identical.
In doing so – just like analogue – you end up with more bass and less of the higher frequencies.
In analogue it’s called clipping and in digital it’s called quantizing error. (Quantization error in modern speak).
However in digital you don’t have to take the MSB, you can choose any bit or combination of bits which would give different frequency distributions and much more interesting effects.
You could implement a similar sounding effect in analog using an op amp as a comparator and feeding a sawtooth wave function as the comparison. The frequency of the function is the equivalent of the sample rate and the the comparison is trinary +,0,- or can become binary with a diode to make a 1 bit bit depth.
I think you mean Nyquist not Shannon. And a proper sample rate reducer (without aliasing) would just be a low pass filter which have been in the analog domain for over a century, not purely in the digital domain.
bonus fact : The Ensoniq mirage was the first cheap production sampler and uses 8bit samples for that extra gritty sound btw.
I think you mean Kotelnikov, and a “proper” sample rate reducer doesn’t produce the aliasing desired from a traditional “bitcrusher” effect.
I know I’m going to get slammed for this, BUT WHY?
WHY put out a 37 minute video on a something that intentionally sounds like crap. I could not watch the entire thing, i kept on jumping ahead. I invite anyone who watched the video and posts to be honest and let us know if you could sit through the whole thing.
WHY call a bit crusher Beverly Crusher? apart from the first letter being the same (yes I did watch the part of the video where he mentioned he was a Star Trek fan, I like it as well, but really? That’s a bit of a stretch).
WHY would this be useful? WHERE would it be useful? outside of a studio or concert application, I don’t see it.
This isn’t exactly circuit bending because he DOES HAVE technical skill, I give him props for that, but unless he’s going to use his own voice as the “EXTERMINATE” in a Doctor Who song, I see no application where this “improves” my enjoyment of any song I listen to.
Intentional distortion is pretty much ubiquitous in modern music. This is just one extreme application of it. The fact that you can’t imagine liking it in any context doesn’t mean other people won’t.
…. and sample-rate reduction and bit-crushing (sample-width reduction) are indeed rather pleasing types of distortion when used judiciously….
Even if YOU don’t like it, if you can’t name, off the top of your head, at least three genres of music that are all about deliberate ugliness, you’re either incredibly sheltered or astonishingly incurious.
I’ll agree that the video was about 35 minutes longer than it needed to be, but I think that sample/bit rate reduction can be a good way to pack more audio into space-limited applications, and this helps show that it can still sound at least half decent, or at very least recognizable.
Thank you all for playing! Fiveseven, Blue Foot: Yes it was rather egocentric of me to put it that way, thank you for catching that. Not going to apologize for it since in the end, it’s our own opinions that matter and i’ve stated mine, and I knew it would happen, you two just happen to call me on it when you see something you don’t like, bravo. I would add blue, that I am neither sheltered or incurious, just a little jaded and prefer the music of Bach Mozart and Beethoven to “modern” sounds.
Just out of curiosity, how many of you watched the whole video?
Well no, I didn’t watch the whole video. I skipped through hoping to ‘land’ on sections where I could hear samples of the sound. I wasn’t lucky enough to ‘land’ in the right places so it was a disappointment for me.
Your questions –
1). “I know I’m going to get slammed for this …” you sure got that right lol. I will quote Brian: “More negative feedback that the Hack A Day comments section”. Yeah, I don’t think that is going to change any time soon.
2). “WHY put out a 37 minute video”. 37 Minutes: Probably too long for most, Maybe too short for someone who perhaps needs more detail to reproduce the effects. Were all different here.
3). “WHY call a bit crusher Beverly Crusher?”. Because he is a treckie fan. Careful there, probably lots of treckie fans here.
4). “WHY would this be useful?”. Well it’s a Proof Of Concept. Perhaps he is going to extend on this. This is Hack A Day, that’s what your likely to see here. Good on him.
The best answer to the “Why?” question on Hack A Day is “because you can”. I love projects that people make just for the fun of it. To me that’s the true ‘hacker’ spirit.
Anyway – just my opinion. All opinions are valid because they’re just opinions and this is the comments section where you see lots of opinions lol – and the occasional troll (don’t feed the trolls).
I did a music example here:
https://www.youtube.com/watch?v=jrQg8p99Lag
Might interest you. Thanks for the supportive words.
Has anyone else caught the irony of creating a 37+ minute video about sampling things to their smallest level?
YES!
Why is abbreviation such a long word?
I have not watched the video.
From the description that was written, I was reminded of http://www.romanblack.com/BTc_alg.htm . I have no idea if the two projects are similar. I just thought I would throw it out since I have known about it for a number of years.
Now that, I like. Thanks.
Someone should design a software that allow people to edit a video and remove all the uninteresting parts.
Oh wait … !
Crusher? I hardly know her!
Sounds like a Dalek takin’ a dump!
ELIMINATE! E-LIM-I-NATE!!!
ROFL ROFL ROFL
That is how, more or less, sounded samples played through a PC-Speaker just before I go my first 8-bit ISA Zoltrix sound card.
There used to be a driver that would drive a PC speaker in single bit mode for the theoretical quality of 8 bit sound samples (Windows 3.x). Of course the sound was not anywhere near 8 bit in quality as it had no low pass filter and was driving a poor quality PC case speaker but it was much better than anything else apart from the then expensive sound cards (Parallel port R/2R DAC).
Later early CD players had 18 Bit DAC’s (At 44.1 KHz from memory). High end CD players used what was called single bit to get better results. This may sound odd but there was a reason for it. Early CD players had problems with what was called a ‘brick wall filter’ as there was no such thing as DSP.
Here’s the problem –
Even if you can’t hear 44.1 KHz it still will have an effect on the output stages and audio amp so it has to be filtered out with a low pass filter. Simple low pass filters have a gentle slope and complex low pass filters introduced a lot of phase distortion and like any distortion it is not a wanted component of a quality audio device. Simple filters don’t work well because the 44.1 KHz is too close that max audio pass frequency of about 20 KHz. It’s not much more than a harmonic away.
The math – digital throughput is the same for 44.1 KHz at 18 bit as it is for ~794 KHz at 1 bit.
Of course dropping to one single bit introduced absolutely huge amounts of quantizing error but the effect of quantizing error were at frequencies far away from the wanted frequencies so it’s was relatively easy to filter it out.
The benefit is that having the DAC update rate at ~794 KHz (instead of 44.1 KHz) made it much easier to filter out with a gentler slope low pass filter that introduced far less phase distortion. Cue audiophiles.
This is still useful to know today because it can used to get a specified analogue output (not necessarily audio) from a GPIO pin of a micro-controller as long as you have enough MIPS to toggle the GPIO fast enough. You may need one extra capacitor and resistor but in many cases even these are not needed as the following stage inherently filters the unwanted DAC update rate.
I have also seen a very novel single bit DAC called Bit Angle Modulation that is highly code efficient in that it runs at predictable interrupt times and at a much lower interrupt service rate.
A good description here –
http://www.picbasic.co.uk/forum/showthread.php?t=7393
or google-fu Bit Angle Modulation (BAM)
Then there was one of Sony’s earliest CD players where they really went cheap with just one 1-bit DAC clocked even faster so it could interleave channel decoding. The engineers pinched even more yen by leaving out a buffer system so the left and right channels are ever so slightly out of sync.
The PC Speaker driver for Windows 3.1x would suspend all other operations while playing audio. It demanded 100% CPU time so it wasn’t all that useful.
Microsoft updated it to a 32bit version for Windows 95 so it would play nice and share the CPU so some decent audio can be played in Windows 95 (dunno about 98) without a soundcard.
DOS games in the 80’s through mid 90’s made excellent use of the PC Speaker. You can find some examples at http://oldskool.org The intro theme for “Mach 3” is especially good.
Experimenting with sound files without the expensive playback hardware, great for creating cheap props and adding pre-recorded sound for such as Halloween.
Good project, I’m interested.
Last week we had 8-bit sound http://hackaday.com/2014/09/29/the-lpt-dac/ and now we’ve reached 1-bit. What’s next? Aah… silence…
Technically speaking, 1 bit audio with enough sample rate sounds just as good as any audio. It’s the basis for DSD encoding used in SACDs.
More to the point, modern digital amplifiers are “1 bit high power DACs”. Actually, many vary the value of a “bit” with the volume setting and are more like 1.5 bit as they play tricks with running two Delta Sigma modulators in parallel.
Slightly off topic.
This following link is for an open source low bit rate voice encoding – 1200 (Codec 2) – 2400 bps. Useful for HAM and non-standard Voice over data communication. A lot more technical than watching badly compressed youtube video.
http://www.rowetel.com/blog/?p=128
Thanks, not a HAM here but interested in this stuff. I think it deserves an article by itself.
There are some interesting applications using those cheapo RF modules widely available online.
It’s “ham” not “HAM”. Not an acronym.
1. the art looks like mucha
2. http anyone? http://www.youtube.com/watch?v=U2mQjJXUQ4k
Yay for my project being on hackaday! I’m so happy. Here’s an update video I uploaded last night with some messing about with music playback and ‘remixing’ on the arduino. https://www.youtube.com/watch?v=jrQg8p99Lag
1 bit audio can sound terrific. Assume the binary states are low side on or high side on, add an LC filter, and up the output rate by a PWM scale factor and you have a class-D amplifier (or DAC)!
I did something very similar:https://www.youtube.com/watch?v=xNWv7htg7_c
Here’s my take on bitcrusing using an ATTiny24/44/84 and 10-bit MCP4911 DAC. This was expanded from the first version built on the ATTiny25/45/85.
http://www.bitpuppy.com/puppycrusher/
I’ve put-up some samples and schematics / PCB design files (diptrace format).
Later versions used the ATXMega, with built-in 12-bit DAC.
PS: I don’t know what I was smoking when I put that schematic together.
It looks ok to me. It’s fairly left to right ish. Much better than a lot that I see that look more like rendered net-lists.
Heya i’m for the first time now. I found out thks board we still find
it actually handy & it helped me out a whole lot of.
I really hope to convey an item spine and assistance other individuals like you helped me.