Skip to content

An app connecting open-source weather data to a Max/MSP RNBO object. Still in development.

Notifications You must be signed in to change notification settings

krismakesstuff/WeatherMusic

Repository files navigation

Weather Music

This project is a work in progress. The goal is to make a project that maps 'real-time' weather data to audio parameters that generate music. As the weather changes, so will the music.

How it works

You can use your current location or input coordinates to fetch the current weather data. This uses open-meteo, a free open-source weather API. For more information visit open-meteo. The data is sent to a RNBO device that updates it's setting based off of the given input. Then you hear sounds. see Data Mapping below.

How to Use

  1. Enter a location in the input field and click "Fetch Weather" or click "Use Current Location" to get the weather for your current location.
  2. View the weather information displayed on the page.
  3. Listen to the sounds generated from the weather data.

How to Build

WIP

Note

This project is a work in progress.

TODO:

  • map weather to audio parameters
  • finish building rnbo patch
  • Connnect weather data to rnbo patch
  • add geocoding to add search by name of location functioanlity geocoding api
  • fix google maps integration (look at alternatives Nasa Whirlwind, OpenStreetMap)
  • Add auto-refresh (by minute? or hour? or day?) Open-Meteo has a limit of 10,000 calls per day.

Data Mapping

The weather data is mapped to RNBO parameters. Inside RNBO are mutliple patches that receive the input values and change the audio.

Weather Types Data Traits
sunny - High temperature
- Low dew point
- No precipitation
- High atmospheric pressure
rainy - Moderate to high precipitation
- Moderate to high humidity
- Low atmospheric pressure
- Cooler temperature
windy - High wind speed
- Variable wind direction
- Moderate temperature changes
- Possible low pressure
stormy - Very high precipitation
- High wind speed
- Low atmospheric pressure
- Thunder and lightning presence
cloudy - Overcast conditions
- Potential for cooler temperature
- Moderate humidity
- Possible light precipitation


Weather Variables RNBO Parameters
Rain amount (mm/hr) RainSynth
- Trigger Rate
- Frequency
- ADSR
- Note Length(ms)
- OutputGain
- Noise Gain
Wind Speed (km/h) tbd
Wind Direction (deg) tbd
Temperature (C) tbd
Humidity (%) tbd
Day or Night (1or0) tbd
Surface Pressure (hPa) tbd


Max Patches Description
RainSynth 4 OSCs: 2 sine, 2 saw, each channel has dedicated saw and sine OSCs. There is noise stage that is applied to both channels equally. After that, a delay and filter. Each "clock input" triggers random numbers for the following parameters:
- frequency multiplier for each channel's OSCs.
- delay time for ADSR note on.
- left or right channel to trigger note on.
HeatSynth Need to build. Could be for temperature, humidity, maybe pressure as well?
WindSynth Need to build. Would be for windspeed, and winddirection.
EarthTone Single sine wave at 64hz.

About

An app connecting open-source weather data to a Max/MSP RNBO object. Still in development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages