“Logic Beach — Bifurcations” album puzzle write-up

pogo
8 min readJun 21, 2020
Bifurcations album cover

Welcome to the write-up for the puzzle attached to the Logic Beach — Bifurcations album, which can be found on the artist’s bandcamp, https://logicbeach.bandcamp.com/album/bifurcations. The album/puzzle contains 10 tracks, was published on the 11th of May, on the day of Bitcoin’s 3rd halving — and it was tied to that event. The prize was initially 0.03 btc, but from user donations it grew to ~0.053 in the end (prize wallet address: bc1qj7467e7r5pdfpypm03wyvguupdrld0ul2gcutg). On a personal note, I really enjoyed the experimental synthwave/electronica tracks, and I’ve had a nice talk with the author about the creation process (and tools) behind it. There’s some cool tracks here and I encourage everyone to give them a try! I won’t mention everything about how the puzzle evolved, but here’s the entire (long) reddit thread where the author added hints at various times: https://www.reddit.com/r/Bitcoin/comments/ghsem7/a_puzzle_to_celebrate_the_halving_solve_it_to_win/?sort=new

Some Notes

The album download from Bandcamp includes 10 tracks and an album cover. The download itself was generously offered by the author for free. There was also a full length video released for the album, here: https://youtu.be/T2YtHBubtHg. The author announced that the mnemonic we’re looking for is using the bip39 dictionary and is 12 words long.

An interesting (but not useful for the puzzle) note is the overarching theme of period-doubling bifurcations of logical maps, emphasized in the cover image, title tracks as well as steganographed images in the frequency domain of track 2.

Another side-note, this puzzle *may be* (the author’s claim) the first music album which includes a cryptopuzzle reward inside of it. Cool!

Since there were a lot of hints released at various times, I won’t try to make a chronological history of what happened when, and instead I will just present the solution for each track in the order of appearance in the album. It does not do the puzzle full justice, but oh well. Also, since I’m not sure if audio hosting services like vocaroo remove links after a certain time, I will not upload any audio and instead indicate points of interest using the spectrogram and time markers where the useful data is (when applicable). If you want to follow along, I would suggest using Audacity, since I’m not sure if all of Audacity’s features (that are useful here) are mirrored in Sonic Visualizer.

Track 1: 6times7 — one word

This was the easiest puzzle to solve, presumably because it’s the first track on the album. The beginning of the song has a spectrogram image at the start, with a compass and the Morse code .-- . … - which translates to “west”.

Morse code for “west”

Track 2: 4.669201609102 — one word

The bifurcation diagram and portarit of Mitchell Feigenbaum hidden in the spectrogram of Track 2

The word for this is actually very tricky to find without a hint for it, since it is Morse code in the audio, specifically a short drum section which lasts for 5(?) measures, beginning at about 1:31.2 into the song, with the kick acting as the dash “-” and the snare as the period “.”. It’s kind of hard to see in the spectrogram, but listening to the track it can be made out fairly easily, once you know it’s there. The Morse code here spells out -… --- -- -… which translated is “bomb”.

BOMB as Morse audio

Track 3: Vertical Deflection Coil — one word

The 3rd word was more of a riddle, with the only data for it available being a spectrogram image of the Time-Dependent Schrodinger Equation. This equation is fundamental in Quantum Mechanics, so the image plus a hint of the author published at a later date made it clear that the word is “quantum”.

Time-Dependent Schrodinger Equation

Track 4: Bifurcations — one word

This track contains one of the coolest and hardest puzzles included in the album.

We start off by loading the track into Audacity and splitting the the channels by using the “Split Stereo to Mono” option from the drop-down menu of the track. Then, we select one of the 2 resulting tracks (not relevant which one) and invert the track from “Effects -> Invert”. We then merge the two channels by selecting both and using “Tracks->Mix->Mix and render”.

Looking at the spectrogram of the resulting track at around 2:52, we should see this:

This is actually how an SSTV message payload looks like in audio. SSTV is used as a way of broadcasting static images over audio (normally radio). This particular type of signal is called Robot 36, and we need special software to decode it.

We can decode this by using a free application called MMSSTV which requires microphone input, so you can’t feed it the file itself. Anyway, running this application and playing the Audacity section while recording with a microphone should give (if you put the microphone *really* close to the speaker, so that the signal-to-noise ratio is large enough):

Sorry for the explicit language :D

So the word for Track 4 is “electric”.

Track 5: c — two words

This is another tricky one. On first opening the track and looking at the spectrogram, this can be seen:

So the interpretation of “Nothing to see hear” should be that there isn’t anything to see (in the spectrogram) or hear (in the audio) so we should look somewhere else. The author published some further hints which told us that the value of “c” which is the speed of light is important, and that we should look in the hex bytes. Converting 300000 to hex we obtain 0x493e0. Looking in the file at that position with a hex window of exactly 16 bytes, we get:

So the two words for track 5 are “solve” and “sad”.

Track 6: Spectrographic Eyes — two words

This track was again unique in how the solution was obtained. Initially, opening the file in Audacity and looking at the spectrogram, we get:

which is a chart of the Bitcoin/Dollar price up to May 2020. However, this turned out to be just a red herring.

The real puzzle was in the audio itself. A low “thunder” can be heard at the start, before the instruments pick up. And also at the end. This has to do with what happens to any sort of audio when you stretch its length. Basically, a “stretch” on the time domain will bring about a “compression” of the frequency domain, and vice-versa. So that low noise that can be made out could be an audio carrier that has been “sped down” by *a lot*.

Selecting the entire audio in Audacity, we can try to recover the original message by going to “Effects->Change speed”. In the “Speed Multiplier box”, put in 50, which is the highest value allowed by Audacity. So we’re speeding up the track 50-fold, such that the original track that was 2:32 minutes in length is now around 3 seconds long.

Playing the song at this point might kill your ears because of all the actual instruments getting compressed and going higher in frequency, but towards the end of the “song” you should be able to make out a voice in the right channel. In order to get rid of the high frequency noise, we can use “Effects->Low Pass Filter” and set the Frequency to 750 and the Roll-off to 48 dB. We can also use the “Split Stereo to Mono” option and then set the “Solo” marker on the right channel, so that now we’re hearing the right channel in both the speakers.

But the audio still doesn’t make much sense, there is one more step to do. Selecting the track, we now reverse it by going to “Effects->Reverse”. Listening to the track now, we should be *barely* able to hear the two words being said: “love” and “sound”.

Track 7: Far Away — two words

This track has a straightforward, since the words are present in the spectrogram:

We can sort of tell that “Ag” is emphasized on the left channel and “Mtn” is emphasized in the right one. The words for this track are “silver” and “mountain”.

Track 8: WTUP.YB [LB plays Zappa, badly] — one word

This track was the first one which made use of the video in order to hide a word. Unfortunately, Youtube compression algorithms made the word unreadable, but it occurs for a single frame at 24:07, on the robot’s eye. The word was revealed by the author together with the initial post, and it is “tree”.

Track 9: TownCar in the Forest — one word

The 2nd track to make use of the video, but in this case the word is visible. It occurs at about 26:50 and can be seen to the left of the hand. The word is “radio”.

Track 10: Flows out to the River — no words

Nothing puzzle related in this track, just an ambiental track I guess (:

Bonus: The order

So the order that we needed to put the words in was not the track order.

It was “hidden” in track 2. At around 1.36 into the song, there’s a voice that starts reading out the digits of the Feigenbaum Constant. Writing them down all the way to the end and comparing with the real value of the constant, taken from https://oeis.org/A006890, we get:


Real value: 4.669201609102990671853203820466201617258185577475
From track 2: 4.669201609102990671853203820642231917278885517575
642 3 9 7 8 1 5

There’s some differences in there! And, each “mistake” only appears once, with all the numbers between 1 and 9 included. The author had hinted that only Tracks 1–9 are relevant to the puzzle, so the order is 6 4 2 3 9 7 8 1 5.

Solution

Putting this all together, we obtain the seed that can be used to unlock the wallet (for BIP84):

love sound electric bomb quantum radio silver mountain tree west solve sad

Yay!

Acknowledgements

A big thank you to CodeCrafting, who solved this together with me! Your scripts are the best (when they’re not broken, at least :D )

And also, thank you very much to Logic Beach who made this all possible, creating a really cool album and taking the time to design/implement/test a lot of different puzzles in it. This puzzle definitely feels like it had a lot of thought put into it. Which is also probably why Logic Beach thought it would be solved fast, after spending so much time on every single track to make sure everything is perfect.

And thank you to the anonymous donors that increased the prize pot!

Finally, for some great and active puzzle-filled communities, check out:

Crypto_puzzles: https://discord.gg/bSn85h5

ARG Solving Station: https://discord.gg/uYAXsww

--

--