Loud Numbers: data sonification with Norns

Loud Numbers

A script for turning data (csv files) into sound and music

Loud Numbers is a data sonification script for Norns. It turns .csv files into melodies and control voltages.

You can select the root note and scale with encoders 2 and 3. Encoder 1 selects the bpm. Key 2 toggles play/pause, and key 3 toggles whether the melody should loop when you reach the end of the dataset or not.

The script comes with a default set of data - temperature.csv, which contains global temperature anomalies since 1950 for the globe, tropics, and northern and southern hemispheres, via Our World in Data. Swap between data columns by turning encoder 1 while holding down key 1. Selecting a new data column will reset the sequence.


Monome Norns or Norns Shield
Optional: Monome Crow


Place data files in the /data folder - the same folder as temperatures.csv. Once you’ve loaded your file, restart the script and select it through the parameters menu.

KEY 2: toggle play/pause
KEY 3: toggle loop
ENC 1: select bpm
ENC 2: select root note
ENC 3: select scale

KEY 1 + ENC 1: select data column
KEY 1 + KEY 2: listen for triggers in Crow's IN2 port

Crow support:

IN2 = accept triggers to progress sequence
OUT1 = note (1V/oct)
OUT2 = trigger
OUT3 = control voltage
OUT4 = control voltage


Install through the Maiden package manager.

You can find the code on Github, and see what bugs I want to fix and features I want to add in the issues section.

Loud Numbers?

It’s the name of my data sonification podcast. Worth a listen if you want to see what’s possible with sonification.


Was curious to see more about your 2021 goals! This looks very cool. I’m actually curious to output some data tables from work and see what it do!

1 Like

Please give it a try! I’ve not fed it a very wide range of data yet, so I would love to see what creative ways it breaks :sweat_smile:

1 Like

Uyeah nice to see your work come to norns :slight_smile: Check The Arp Index if you haven’t already :chart_with_upwards_trend: it’s quite bonkers and cool.

PS. I meant to ask this earlier elsewhere, but i didn’t find am RSS feed for Loud Numbers podcast for subscription. Anyhow keep up the good work.


Building a Norns in the next couple weeks and very excited to test this out. I’m a huge fan of sonification practices. You might be interested in this project I did some time ago: A Home, Electric - Max/MSP sonifications of home energy data


Arp Index looks v cool (and much more polished than my script currently). Visualizing with a line chart is a smart idea, particularly for long datasets. I was thinking of scrolling bars, but I haven’t quite got there yet.

You can grab the RSS feed here, and find links to listen in various other non-Spotify podcast providers here.

Awesome! I’d love to hear how it goes - please report back with any difficulties you encounter. Your home energy project sounds very cool, I’m giving it a listen now. I’ve never done any sonification with Max (only Sonic Pi and Tone.js) but I’ve no doubt it’s capable of some great results. I do wish there was a more powerful no-code tool for folks to get started with sonification than TwoTone.io - that’s another project I want to look into in 2022…


Wooot! Top idea. Will try when back at the desk.

1 Like

I’ve been runing into an error load fail with this script after multiple installs. Any idea why? It hasnt been an issue with anything else on my norns.

Thankyou for the bug report! Are you loading on a Norns, a Norns Shield, or a Fates? And when you load it, do you get any errors showing up in Maiden?

I’m loading it onto a norns sheild and not getting any maiden errors

Curious. I’m on a Norns Shield also and just deleted and reinstalled it and it works fine. This is the first script I’ve made for Norns, so I’m not super experienced with this kind of troubleshooting.

How are you installing it? By typing ;install https://github.com/duncangeere/loudnumbers_norns into Maiden?

Do you have a folder under code/loudnumbers_norns, and if so, what’s in it?

It worked when installing it through that method. I think the issue is that I was installing it through the maiden project manager so that file may be corrupt. Thank you for the help, I am excited to get started with your script!

Ah interesting! I’ll look into that. Thankyou for the bug report and I’m glad it’s working for you now :slight_smile:

presumably u can swap csv? ta

Yes! That’s very much the point of the script. Place csv files in the /data folder - the same folder as temperatures.csv. Once you’ve loaded your file, restart the script and select it through the parameters menu.

Some Tips

  • The script assumes that your .csv file has headers. If it doesn’t, it’ll read the first row of data as headers.
  • Short datasets work better than long datasets right now, due to the number of bars that can fit on the screen. The temperature dataset is about 70 lines long - I wouldn’t go much longer than that. It’ll work, but won’t look so great. This is now fixed - you can use as long a dataset as you like.
  • The script is pretty fragile right now. If it breaks, please let me know (attach the CSV you’re using) and I’ll try to figure out why.
  • Looking for some data to sonify? Step this way.

it might be interesting to introduce loop points between columns…

Interesting! Could you expand on that a little? How would you see it working?

Locking small sequences e.g. press Kx once sets the start of the loop, press again the end, press once more removes loop points…


Very interesting! I’ll add it to the roadmap.

1 Like

the temperature .csv works like a charm. i downloaded another .csv, transfer worked too, it shows up in maiden et aal. But: i cant change it in >PARAMETERS.
i assume it should show up under >data filename, but it doesnt.
any help appreciated.
i think this is a topnotch idea, thanks very much for sharing your work. this has, at least for me, some potential if i only can get it to work :-/