BitWiz Audio Synth 2
★★★★★ "Truly cool doesn't begin to touch the tip of the compliments BITWIZ deserves"
keywords: glitch, generative audio, synthesizer, algorithmic music, 8-bit, bytebeat, ipad, iphone
Custom keyboard for easy code entry
BitWiz is a "bytebeat" synthesizer. It translates simple code expressions into 8-bit generative stereo audio in real-time.
Explore the algorithmic music of simple bitwise arithmetic operations!
X/Y-pad for real-time control
BitWiz comes bundled with lots of examples, and you can easily add your own codes to the built-in library. You can also share your codes by e-mail or twitter, or open them in another application.
Press a button to record your music in real-time, then export through iTunes file sharing, AudioCopy it into another app or share with your friends on SoundCloud.
Use the XY-pad or an external MIDI-control to tweak variables in the expression in real-time, so you can play BitWiz as a musical instrument! It can also include the microphone input for crazy distortion effects!
The entered code expression is used to calculate each audio frame. Don't understand how to write valid code? Just swipe with two fingers and let BitWiz randomly generate the code for you!
Supports Audiobus: Stream live audio directly to other Audiobus-compatible apps, or process other apps through BitWiz as a real time effect unit!
Demo videos & sounds
And here are some sound examples.
Mentions and reviews
How it works
Even though you can just play around with the bundled demo codes and change some numbers here and there, which is entertaining enough, you might be interested in knowing the deeper details to understand how and why a code sounds like it does.
The basics are that the code, which consists of one or more mathematical expressions, is evaluated once per audio frame. The audio frame rate can be any integer division of 44100Hz.
Audio frame counter
For each audio frame, the variable
Wrapping to 8 bits
Multiple expressions can be separated by comma, and the resulting value of the last one is used. This result is wrapped to 8 bits and output as audio.
The wrapping means that a result of 0-255 will pass through unchanged, while 256 will wrap back to 0, 260 will wrap to 4, 514 will wrap to 2, etc.
This gives that the most simple code:
t * 2
means that it will wrap around twice as fast, and produce a sawtooth wave one octave up. In the same sense, halfing the value will make it twice as slow:
t / 2
producing a sawtooth wave at half the frequency, one octave down.
Then, by manipulating the value of
For example, this chaotic formula produces minimal rhythmic variations for a very long time:
Actually, at 7350Hz, since
All the basic math operators (
Microbe Modular has made a hardware module inspired by BitWiz Audio Synth! More info and samples here: http://www.muffwiggler.com/forum/viewtopic.php?t=92850&start=all
Frequently Asked Questions
How do I record?
Long-press the play/stop button to start/stop recording. New recordings show up in the library (# button), where you can Audio Copy or open them in other apps. You can also access the recordings through iTunes file sharing if you want to use them on your computer.
How does stereo output work?
If the current code uses the variable
What's the point with having multiple expressions if only the last one makes sound?
Because the earlier expressions can set variables which are then used in the last expression:
a = t>>5, t ^ a + t * a
How to implement boolean stuff when there are no if/then statements?
For example, say that you want the variable
a = 10*y + b*(1-y)
Also, BitWiz has comparision operators, so if we instead want to test if
z = y>123, a = 10*z + b*(1-z)
Can it do recursion?
Yes! All variables except the pre-defined ones are kept for the next evaluation of the code. Here's an example that creates our own time counter instead of using the pre-defined
Can you implement my favorite feature?
Maybe yes, maybe no. Drop me an e-mail and I'll try to get back with an answer!
Where does this method for audio synthesis come from?
I first saw it on viznut blog: Algorithmic symphonies from one line of code