Ian Baxter
Sound Artist






Web Based Works




Sounds Heard

Scores and Strategies

Other Writings


Nochevkoy - a nocturnal web composition

Nochevkoy is a piece exploring the possibility of the web to generate continuously sounding sound art that changes with the day and season.

It takes Rachmaninov's seminal All Night Vigil and time-stretches it (without distorting pitch) to the length of the night. More accurately, it takes the three sections of the original piece which relate to the holy hours of Vespers (starting at dusk), Matins (starting at nightfall) and Prime (the first hour after sunrise) and plays them according to the onset of these periods on any given day, for the time that they last, according to an observer in Moscow. If it's currently daytime there, you won't hear a thing. Come back at dusk*.

I've tested this on Chrome. I'm informed it will not work correctly on iOS without some modifications to my code. My apologies if you can't hear anything.

At the time of writing dusk began at 15:04 UTC, and night will fall at 16:31. I can currently hear the vespers section about 96% of the way through, with the original file stretched some 11 times to fit the length of dusk. If I were to stay up all night, I'd hear the Matins sections of the All Night Vigil stretched by a factor of 97 to last until 5:02 tomorrow morning.

Some more detail...

The genesis of this piece goes back to my another work Ephemeris de la Lune which manipulates the Moonlight Sonata based on the passage and phase of the moon. Feeling a bit stuck in a rut with my pieces I wrote in my journal that they were easy to parody, amongst other suggestions I wrote "Why not All Night Vigil that actually lasts all night!".

Parallel to this I'd been researching ways of making the Landscape page I created in 2015 work as I had originally intended. That is, to switch between a dayscape and nightscape depending on the time of day. After a few false starts and some head-scratching at complicated astronomical calculations I discovered how to accurately generate sunrise and sunset times in javascript (see note on suncalc below) which could drive this diurnal webpage. Suddenly, calculating the All Night Vigil start and end times was viable. The only element missing was the time stretch which would take Rachmaninov's original ~1hr composition to the length of the night (perhaps 10 hours in winter, less in summer) in the manner of my other projects - using a phase vocoder in Pure Data.

Pursuing the idea of creating the piece as a webpage rather than a Pd patch, I looked up Sébastien Piquemal's WebPd project, to see if it was possible to somehow take across the code I'd developed in Pd to stretch the Moonlight Sonata. This is beyond the scope of WebPd at the present time but as luck would have it Sébastien's other projects include one to implement the paulstretch algorithm for long time stretches all under the WebAudio API.

This piece wouldn't have been possible without the help of Sébastien whose implementation of the paulstretch algorithim for the WebAudio API makes its sound possible, and for his incredibly generous toleration of my questions about adapting his script and eventual refactoring of my code to work correctly with multiple sections.

It would also not function without suncalc.js by mourner which allows for the calculation of accurate dusk, night and day times which are the soul of the piece.

Sheffield, February 2017

About the title: Nochevkoy is 'all night' or 'overnight' according to a transliteration of the google translation from English to Russian. It also seems to translate as 'I'm late tonight' in Spanish.

Update July 2017 - I discovered that in high summer, SunCalc returns no night time as at high latitudes there is no such thing as astronomical night (i.e. the sky is so dark that astronomical observations can be made). This sort of mucks things up for a couple of months of the year. I may get to making a work around one day, on the other hand, no night means no vigil. Perhaps, in the best experimental tradition, I should just accept the results of the process.

*'performance times' can be checked by going to suncalc, set to 55.754093, 37.620407. Red Square.