COUNTERSOUL is a real-time, generative music & visual performance of the Bitcoin blockchain. Its development began in late 2021, and completed in January 2023 and is the first generative musical composition inscribed on Bitcoin.


Listening to the Blockchain

COUNTERSOUL brings the fundamentals of the Bitcoin blockchain into a generative (forever different and changing) musical system. COUNTERSOUL's algorithmic base continually generates all aspects of music and visual elements in real time based on the current block height number of the Bitcoin blockchain as it's sole input.


The block height value is converted to a Hex colour code and used to determine the main colour featured in the work at any time. Blocks are continually added to the bitcoin blockchain, so COUNTERSOUL evolves as this proceeds. The frequency of changes to the block height is unpredictable, but on average a block is added about every 10 minutes. In addition, COUNTERSOUL responds in different ways to special block height numbers and lead ups to on-chain events such as the mining difficulty adjustments, halvenings etc. and is programmed to continue doing this into the future.

Enjoying the Performance of COUNTERSOUL

COUNTERSOUL was intended to be listened to over long periods of time. With it's ever-evolving design, it ensures a unique listening experience every time you play it. The sequencing and phrasing of COUNTERSOUL makes for easy background listening whilst doing work on a computer. A great example is to listen to COUNTERSOUL whilst you wait for a transaction to confirm, being notified by subtle changes in the music when a new block is mined.

COUNTERSOUL will run in most web browsers, but consider using modern hardware and up to date web browsers for an optimal experience.

Controls and Keyboard Shorcuts

Start / stop music Left mouse click or press 'm' key
Enter / exit fullscreen Press 'f' key
Pause / unpause visuals Press 'h' key
Save a .PNG screenshot
(may require 'allow' permissions)
Press 'p' key
Save a .SVG screenshot
(vector format)
Press 's' key

Generative Music

The music and sounds are produced in real-time by the code and uses randomness to ensure that the music and visuals continuously vary in subtle ways. COUNTERSOUL employs a combination of pre-composed elements and a generative sequencer.

Generative Music
Virtual Synthesizers

The sounds produced by COUNTERSOUL are synthesized. This means that the code includes virtual instruments for making the sounds to play the generative music composition. These synthesizers uses various types of synthesizers including subtractive, frequency modulation, and stochastic synthesizer techniques.

Virtual Synthesizers
Reverb and Delay

Sounds are passed through effects for additional spaciousness and ambience. In particular, COUNTERSOUL makes use of delays (echoes) and reverberation. These effects are built from scratch in the code. The reverb algorithm is custom made for COUNTERSOUL based on multiple feedback delay lines.

Reverb and Delay
The Sequencer

The music of Countersoul employs a combination of pre-composed elements and a generative sequencer. Other parts are comprised of probabilistic sequences that update from time to time. The density and level of playback of these sequenced parts varies over time in response to blockchain state and events. All musical parts are subject to quantisation against metrical time and harmonic progression.

No External Libraries
Generative Graphics

The visual elements of COUNTERSOUL are generative and synchronous with the music. The scalable vector graphics (SVG) routines built into modern browsers are used for drawing the visual elements. This ensures that they will appear clear and crisp at any resolution and on any screen size. SVG elements are programmatically created and deprecated as required in response to the music or blockchain events. Even though there is no technical limit to the complexity of the visual elements, a balance between generation and depreciation maintains a reasonably consistent work load for the device running COUNTERSOUL.

Generative Graphics

The Code

The code is pure HTML, CSS and Javascript using only built-in functions provided by standards-compliant browsers and the 37KB work does not use any external libraries. The minified code includes an interchangable URL which the user can forever input their choice of block height input data (API).


On-Chain Provenance

There are 25 COUNTERSOUL Editions in the collection. Every COUNTERSOUL is unique with an edition ID # in the code. Editions #22, #23 and #24 will be held by the three members of Music Non Stop with Edition #25 held in reserve. The remaining 21 Editions will be released for sale in the future.

COUNTERSOUL Listed at Scarce City Auction House

Scarce City COUNTERSOUL Auction

Running from In February 14-16th 2023, the first three editions #1, #2 and #3 will be auctioned on the Scarce City auction house, a marketplace that uses Bitcoin technology to sell Bitcoin related art and physical goods for Bitcoin.

About Bitcoin

Bitcoin uses peer-to-peer technology to operate with no central authority or banks; managing transactions and the issuing of bitcoins is carried out collectively by the network. Bitcoin is open-source; its design is public, nobody owns or controls Bitcoin and everyone can take part. Through many of its unique properties, Bitcoin allows exciting uses that could not be covered by any previous payment system.


A Block refers to a set of Bitcoin transactions from a certain time period. Blocks are "stacked" on top of each other in such a way that one block depends on the previous. In this manner, a chain of blocks is created, and thus we come to the term "blockchain".

Block Height

The block height of a particular block is defined as the number of blocks preceding it in the blockchain. A blockchain is an encrypted database that records a ledger of transactions sequentially in data structures known as blocks.

Mining Difficulty

Bitcoin’s mining difficulty is updated every 2,016 blocks (or roughly every two weeks). This is why each 2,016 block interval is called the difficulty epoch, as the network determines whether the activities of miners for the last two weeks have reduced or increased the time it takes to mine a new block. If the time it takes is below 10 minutes, the mining difficulty will be increased. The opposite occurs when the block time is above 10 minutes.


The Halvening (sometimes referred to as “the halving”) is the moment when Bitcoin’s block subsidy gets cut in half. The halving of Bitcoin’s block subsidy occurs every 210,000 blocks (roughly every 4 years) and is a key feature of Bitcoin. It is because of the halving of the block subsidy that Bitcoin ultimately will have a capped supply of 21