Monday, November 24, 2008

Refining the sound

It's been a while since I've posted because I'm getting busier and busier with all of my projects. I will post more information when I get the chance.

Since my last post I've changed the ASD envelope to be a Hann window (just a raised cosine wave) to eliminate any choppiness associated with amplitude change, I've added FM synthesis to each of the temperature tones which are controlled by the ASD envelope to add some harmonics to the sound, added a wind-chime sampler to add to the sound and fixed various bugs throughout the patch. Take a listen to the new samples here, here and here.

I'm currently working on a way to automatically retrieve the real-time weather data. This way a user can turn on the application and listen to the wave data immediately rather than punch in each number.

Monday, November 3, 2008

Pure Data Crash

I learned my lesson...

I was developing some extra features on my application tonight when I received a stack overflow message from pd. Somehow I had created an infinite loop or saved too much data and pd imploded. I lost all of my new work, some of my old work and all of the connections on the first window. After I calmed down a bit I realized that I had assigned too many variables and sent too many messages for pd to handle.

After coping with the fact that I had been shot back about four weeks worth of work I sat back down and rewrote the important bits of code. I'm back to where I was before the crash and I eliminated the unnecessary section that caused all of the trouble.

Since the last update, I set up a way for the frequency of notes to play randomly based on 1/f noise. In this way the timing changes between each note randomly, but still correlates to the average wave period.

I've also turned the ADSR envelope into a simpler ASD (Attack, Sustain, Decay) one and made it controlled by the average wave period and wave height.

There is now an option to store about fifty historical data points for temperature and play them back to listen for patterns. The changing frequencies make for some interesting dissonant intervals.

I've learned my lesson... I'm creating several back-ups of my work so far and taking more screenshots to document where I am now so that if I mess up again I'll bounce back a little faster.

Take a listen to the last 24 hours of temperature data here.