published on
tl;dr—"Return of the Obra Dinn" is excellent, and I reworked part of its soundtrack as a strict 1-bit composition, mirroring its crisp, retro 1-bit graphics. Scientific description of some aspects in this paper:
Working link: https://www.researchgate.net/publication/336915189_Generalizations_of_velvet_noise_and_their_use_in_1-bit_music
Original link (broken?): (http://dafx2019.bcu.ac.uk/papers/DAFx2019_paper_53.pdf)
"Return of the Obra Dinn" (2018) is a fantastic game released in 2018. Its creator, Lucas Pope, describes Obra Dinn as "An Insurance Adventure with Minimal Colour." The graphics are entirely 1-bit, meaning that each pixel of the screen takes on only one of two possible colors: light or dark (nominally white or black). This hearkens back to the visual display style of old computers with monochrome monitors, like the Commodore 64 or Apple IIe, and gives the game a unique and beautiful aesthetic. To represent grayscale values, Pope uses a technique called spatial dithering. Cleverly, he actually deploys a variety of dithering algorithms (including sometimes suppressing the dithering entirely) to differentiate textures in the game.
As a cover and tribute, I've rearranged part of the game's original (rollicking, acoustic) soundtrack—part of the music from the "Unholy Captives" chapter—in a 1-bit *musical* style. This not only mirrors the 1-bit graphics of the game, but mimics the 1-bit "beeper" audio capabilities of many early computers like the Apple IIe and ZX Spectrum.
1-bit music poses a unique compositional challenge. First of all, there is no signal amplitude control, making volume control difficult. Furthermore, in the 1-bit domain, addition of 1-bit signals does not properly exist. This is because certain values can be added (0+0=0, 0+1=1, 1+0=1), but the operation 1+1=2 cannot, since "2" is forbidden! Strictly speaking, this limits polyphony to one sound. Working around these limitations to produce music that is not monotonous and can express chords, layering of multiple instruments, and convincing audio effects becomes quite the task.
In this track, I manage to coax up to 6 layers out of the sound at once: bass, a three-note chord, a melody, and percussion. Part of the trick is just interlocking parts in the arrangements—here, for instance, the bass and chords rarely play at the same time. But in general, there are moments where up to 6 sounds have to be expressed with only 1 bit. The layers are mixed using a custom XOR-plus-error-feedback 1-bit mixing engine, combined with judicious use of thin pulse widths, custom 1-bit wavetable synths, and a special kind of sparse noise that can be XOR'd with signals without overwhelming them. Furthermore, the melody employs what I think may be a novel feedback delay effect that operates entirely in the 1-bit domain to give a sense of space to the track. This is mostly a note-for-note cover of Lucas Pope's original—involving elaborate 1-bit trickery in the sound synthesis, arrangement, and audio effects—but I did take one small liberty: an extra half measure of percussion added just before the start of the final phrase at 0:39.
The special sparse noise sequence is called "crushed velvet noise" and is described in my 2019 DAFx paper "Generalizations of velvet noise and their use in 1-bit music," available here: http://dafx2019.bcu.ac.uk/papers/DAFx2019_paper_53.pdf.
I've deviated from a strict 1-bit construction in just one way—The entire track was processed through Plogue's Apple IIe impulse response to make it sound like it is coming out of a real Apple IIe speaker, rather than being a "raw" stream of zeros and ones.
- Genre
- 1-bit