Overwintering

Overwintering

Bird migration patterns as sound. Generative sequences represent the patterns of the common crane, white stork, ruff and European turtle-dove as they migrate every year.

This was originally intended as an installation but I’m sharing the script here so anyone can easily try it out. And here’s a very long video!

Sound and code Mark Eats.
Concept Giovanni Lami & Elisabetta Reali.
Data and consulting Gabriel Gargallo.
EuroBirdPortal.org

How it works

The data available from the EuroBirdPortal maps sightings across Europe by date. These sightings are sorted into large clusters to generate musical chords based on their position. Stats based on the area the sightings are covering and the density of those sightings drive synth parameters.

There are also ‘triggers’ positioned across the map that translate to short sounds (percussion/melody) when sightings are nearby. These are defined to be arranged based on the direction of the migration.

Notes

This script includes an engine and takes ~30 sec to load.
Oh and there isn’t much to do, just select a bird species and listen :slight_smile:

Download

Overwintering v1.0.0 zip

118 Likes

I’m very much looking forward to exploring this. Thank you for sharing this gorgeous script!

1 Like

Birds + norns? Count me in! It looks beautiful, and will report back once I have a go at it. Thank you so much for sharing :slight_smile:

4 Likes

Just loading it up now. I got an “init” error a few times and now I’m getting “loading” for a long time. How long is long?

So excited to try this, thank you for sharing it.
Error:

script clear

script load: /home/we/dust/code/Overwintering/overwintering.lua

initializing data folder

cp: cannot stat ‘/home/we/dust/code/Overwintering//data/*.pset’

: No such file or directory

copied default psets

including /home/we/dust/code/Overwintering/lib/trove.lua

including /home/we/dust/code/Overwintering/lib/json.lua

including /home/we/dust/code/Overwintering/lib/sequencer.lua

including /home/we/dust/code/Overwintering/lib/oystercatcher_engine.lua

including /home/we/dust/code/Overwintering/lib/map_view.lua

including /home/we/dust/code/Overwintering/lib/stats_view.lua

including /home/we/dust/code/Overwintering/lib/cluster_view.lua

including /home/we/dust/code/Overwintering/lib/trigger_view.lua

script run

loading engine: Oystercatcher

reading PMAP /home/we/dust/data/Overwintering/overwintering/overwintering.pmap

m.read: /home/we/dust/data/Overwintering/overwintering/overwintering.pmap not read.

Engine.register_commands; count: 36

___ engine commands ___

amp f

ampModLfo f

chordOff

chordOn iffffffff

chorusSend f

controlLag f

delayFeedback f

delayModDepth f

delayModFreq f

delaySend f

delayTime f

detuneVariance f

envAttack f

envDecay f

envRelease f

envSustain f

freqModEnv f

freqModLfo f

lfoFreq f

lpFilterCutoff f

lpFilterCutoffModEnv f

lpFilterCutoffModLfo f

lpFilterResonance f

mixerAmp f

noiseLevel f

oscLevel f

oscWaveShape f

oscWaveShapeModEnv f

oscWaveShapeModLfo f

percOff i

percOffAll i

percOn ifffffffffffffffffffffffff

ringModFreq f

ringModMix f

ringModMixModEnv f

ringModMixModLfo f

___ polls ___

amp_in_l

amp_in_r

amp_out_l

amp_out_r

cpu_avg

cpu_peak

pitch_in_l

pitch_in_r

script init

Loaded 4 species from /home/we/dust/code/Overwintering/data/species_list.json

Loading /home/we/dust/code/Overwintering/data/53560.json

Loaded Common Crane in 7.0 seconds

Loading /home/we/dust/code/Overwintering/data/52744.json

Loaded White Stork in 7.0 seconds

Loading /home/we/dust/code/Overwintering/data/53943.json

Loaded Ruff in 3.0 seconds

Loading /home/we/dust/code/Overwintering/data/54149.json

Loaded European Turtle-Dove in 3.0 seconds

Loaded all species data in 20.0 seconds

Loaded sonic def for species 53560

Loaded sonic def for species 52744

Loaded sonic def for species 53943

Loaded sonic def for species 54149

SCRIPT ERROR: init

/home/we/norns/lua/core/paramset.lua:187: attempt to perform arithmetic on a string value (field ‘group’)

stack traceback:

/home/we/norns/lua/core/norns.lua:146: in metamethod ‘__sub’

/home/we/norns/lua/core/paramset.lua:187: in function ‘core/paramset.add’

…/we/dust/code/Overwintering/lib/oystercatcher_engine.lua:58: in field ‘add_chord_params’

/home/we/dust/code/Overwintering/overwintering.lua:182: in global ‘init’

/home/we/norns/lua/core/script.lua:126: in function ‘core/script.init’

[C]: in function ‘xpcall’

/home/we/norns/lua/core/norns.lua:147: in field ‘try’

/home/we/norns/lua/core/engine.lua:91: in function </home/we/norns/lua/core/engine.lua:89>

I’ve put the files in “code” and also the data folder is in the “data” folder under Dust too.

Oh, excited to try this! You might be interested in the data sonification thread if you’ve not already seen it:

3 Likes

Looks and sounds lovely! :star_struck:

1 Like

I did that too and was getting the same error. It all goes into the code folder.
I just removed it and did a straight
;install https://github.com/markwheeler/overwintering
and I’m now enjoying it :slight_smile:

3 Likes

Yes that’s correct, no need to split up the folders (apologies if ‘data’ is a confusing folder name).

Load time is around 30-40 seconds for me.

1 Like

Thank you. I tried al that but still getting this “init” error :frowning:
Do i need a specific synth engine perhaps?

2 Likes

As a resident on a migration flyway with annual overwintering avian neighbors, I am excited to give this a try!

1 Like

The required engine is included, you may just need to restart after the installation?

This is so cool! If there’s every a Crow output, well, you could have a crow migration mode :slight_smile:

5 Likes

even though it’s so hot here (and everywhere else) i dove into Overwintering for last night’s session…
:cold_face:
running Overwintering on two norns and Haze by @szymon_k on a third.
additional noiz help from a thing called a Starcrasher.

4 Likes

I have the same issue, except I’ve not tried putting script files in folders, I used installation via maiden

Hi! I’ve tried to install it (via maiden and via smb) but I have this error:

Loaded Common Crane in 8.0 seconds

Loading /home/we/dust/code/overwintering/data/52744.json

Loaded White Stork in 9.0 seconds

Loading /home/we/dust/code/overwintering/data/53943.json

Loaded Ruff in 4.0 seconds

Loading /home/we/dust/code/overwintering/data/54149.json

Loaded European Turtle-Dove in 4.0 seconds

Loaded all species data in 25.0 seconds

Loaded sonic def for species 53560

Loaded sonic def for species 52744

Loaded sonic def for species 53943

Loaded sonic def for species 54149

### SCRIPT ERROR: init

/home/we/norns/lua/core/paramset.lua:187: attempt to perform arithmetic on a string value (field 'group')

stack traceback:

/home/we/norns/lua/core/norns.lua:146: in metamethod '__sub'

/home/we/norns/lua/core/paramset.lua:187: in function 'core/paramset.add'

.../we/dust/code/overwintering/lib/oystercatcher_engine.lua:58: in field 'add_chord_params'

/home/we/dust/code/overwintering/overwintering.lua:182: in global 'init'

/home/we/norns/lua/core/script.lua:126: in function 'core/script.init'

[C]: in function 'xpcall'

/home/we/norns/lua/core/norns.lua:147: in field 'try'

/home/we/norns/lua/core/engine.lua:91: in function </home/we/norns/lua/core/engine.lua:89>

Maybe I have to update my norns?

I just installed in maiden. Looked like all was fine in maiden; it told me “installation complete”, …or maybe it was “successful” (?) Anyway, a positive result.
Then I restarted my shield, selected the script and the word “loading…” appears on the screen.
I’m aware that this takes longer than your average script, but it has been “loading…” now for 3 or 4 minutes.

Update: Now it tried to load for 30/40 secs ,and then I get “error; init”, on the main screen (by “main screen”, I mean like the home screen, the one with “Select” “System” and “Sleep” on it…
Any ideas?

2 Likes

I have the same issue :smiling_face_with_tear:

@markeats just wanted to say I love the script. Just running it this morning while working with a subtle kick in the background, varying patterns every 15-20 mins, and it’s so good.

3 Likes

Got mine working by updating Norns :grimacing:

It’s so beautiful!

Love hearing about people combining this with their own sounds & music!

For those having trouble installing:

  • Start by making sure you’re on the latest version of norns (220306).
  • After installing, ensure to restart so the engine is found.
  • If you’re still seeing errors then share the maiden log and perhaps I can help.
3 Likes