By law when reciting Pi to one hundred trillion places, it must be done in the style of a Gregorian chant.
Introducing our singers: the Blob Opera
In 2020, David Li, Artist in Residence at Google Arts & Culture launched “Blob Opera“, a machine learning model trained on opera singers, where you can interactively create songs and have the blobs harmonize to your input. You get the option of four ‘singers’, each with a 10-note scale, and five ‘vowels’.
From our partners:
You can programmatically create compositions using python-blobopera
, a community-written unofficial toolkit to convert MusicXML files into Blob Opera scores. This toolkit also accepts lyric input and guesses phonetic approximations to make use of the available vowels…
… which means we can, and have, programmed an operatic arrangement of a Gregorian chant of the digits of pi.
Gregorian Pi – the singing of a constant
Sing a song of tetrachord
Originating in the 9th century through the Roman Catholic Church, Gregorian chants are monophonic (single melody) unaccompanied sacred songs in Latin.
With this format as a guide, we can use the input of the digits of pi, mapped to a simple musical scale (ignoring for the purposes of simplicity the difference between Gregorian and modern musical notation), using the syllables from the latin translation of each digit (readily available via Google Translate).
From there, it’s a process of writing a Python script to fetch the digits of pi from the pi.delivery API, then build a score using the Python library music21
. After building a stream of notes and mapping each digit to the note and Latin lyrics, we can start developing our score. We can export using music21
to MIDI, meaning we can play in the command-line using pygame to check how our orchestration sounds as we go.
By exporting to MusicXML directly from music21
, we can also confirm our output in MuseScore, a free music notation software tool.

Gregorian Pi

Gregorian Pi, Plainchant
By: Katie McLaughlin (Senior Developer Relations Engineer) and Sara Ford (Senior Developer Relations Engineer)
Source: Google Cloud Blog
For enquiries, product placements, sponsorships, and collaborations, connect with us at [email protected]. We'd love to hear from you!
Our humans need coffee too! Your support is highly appreciated, thank you!