Water Waves To Sound Waves

The waves on water in lakes, rivers, swimming pools, and oceans might sound interesting if recorded and then sped up to become audio waves.

Similar projects worth following
This is a second attempt at recording waves on water. My first attempt used a float, potentiometer, a simple FM encoder, a handheld digital audio recorder, and some software. It worked pretty well on waves in a pool. Its range of motion was too limited, and the resolution was too poor to produce good audio.

This time, at first, I was considering using sound: with a speaker to create pulses, a microphone to record the time delay to measure the delay to a float (or the water surface directly) and indirectly measure wave height, but that has not worked out.

I'm going back to the potentiometer, but will use an AM encoder instead.

(The current photos are of the original project. I will replace those when new photos are available.)

Water waves are the variation of water level over time. The waves in a pond are a good example. If you experiment with throwing rocks into the water you can see the waves spread out and dissipate. There are more than just one up and down motion of the surface, maybe anywhere from 5 to 10. The water waves appear to be generally in the frequency range of around 1 Hz, plus or minus.

What would happen if you record the water height as a function of time, and then speed it up by a factor of around 100. That would raise the frequency to around 100 Hz, which is in the range of human hearing. What would it sound like?

Would waves formed by throwing something into a swimming pool, when sped up, sound like clapping your hands in an empty room? Or what?

I tried a little experiment a while ago and got this sound: - it shows promise, but it does not sound very good at all!

So, in this new version, I'd like to substantially improve the sound quality.

Basically it's a data recorder that can record water height at rather slow rates (around 1 Hz). I can't use a digital audio recorder directly for this, since the frequency is way too slow. What is required is some kind of transformation of slowly changing height measurements into an audio signal. Some software can transform the audio signal back into the sequence of height measurements, and then that sequence can be sped up by a factor of about 100 to create a new audio file representing the water waves.

The long term goal is to build two detectors to create a stereo audio waveform.


A result of the original version. The speed increase is 300 times faster than real time.

mp3 - 105.21 kB - 01/03/2017 at 16:26


  • Reflection Delay - Nope

    SmokeyVW01/04/2017 at 16:16 2 comments

    Negative experiment result:

    I tried to record a reflection of a sound wave off a piece of cardboard. The goal was to see if I could measure the distance to the cardboard by measuring the time between the original squarewave coming from a loudspeaker, and the reflected echo. The first few tries, I got no noticeable echo. Finally, by reducing the period of the squarewave, I could see a weak echo in the sound recording, but the return signal was very weak relative to the driving signal. That's going to turn into lots of noise in the software when trying to extract distance info from the recording. So I'm going to abandon this approach entirely for now.

    And, more generally, I'm going to abandon using time delays or frequency modulation. I'm just not going to get the resolution I need, given a sampling rate of 44.1 KHz.

    Now I'll turn to using amplitude modulation. I'm hopeful this will work much better.

  • Will Reflection Delay Work?

    SmokeyVW01/04/2017 at 00:10 0 comments

    The first experiment will be to measure the intensity difference between the initial pulse and the resulting echo. I will try it in open-air first, no tube involved yet. We'll see how that goes. If that doesn't work, I'll need to scrap this concept and try something else.

    The "something else" might be to try amplitude modulation rather than frequency modulation or time delays. My recorder is 16 bit resolution at 44.1 KHz. It seems like I may be wasting too much resolution on time (samples) instead of on amplitude. It also seems like there ought to be a way to use both to obtain plenty more than just 16 bits.

  • A New Attempt

    SmokeyVW01/04/2017 at 00:09 0 comments

    For this version, I plan to use a 555 as a fixed frequency squarewave generator, probably around 500 Hz. The 555 drives a small loudspeaker at the end of a tube. A little further in, a microphone records the sound. The tube is held vertically and other end of the tube dips into the water. The sound reflects off the surface of the water and goes back toward the microphone. Some software is used to analyze the varying time delay between the speaker's output and the returned echo. The series of sampled time delays is used to generate an audio file.

    500 Hz provides about 2 mS for the reflection to occur before the next waveform arrives. That is about a 2 foot round-trip. To accommodate larger water waves, I might need to lower the frequency (maybe to 100 Hz or so). If the water wave varies over a 1 foot range, that corresponds to about 1 ms of time, which at my recorder's max sample-rate (44,100 per sec) is about 44 samples. But that's only 5 or 6 bits resolution. So I need to increase the effective resolution somehow, possibly by mechanically amplifying the wave height. A factor of 2 or 4 is probably the max, bringing the resolution to 7 or 8 bits. Still not so good!

  • History

    SmokeyVW01/04/2017 at 00:08 0 comments

    A little history:

    My first attempt used a float, potentiometer, a simple FM encoder, a handheld digital audio recorder, and some software. It worked pretty well on waves in a pool. Its range of motion was too limited, and the resolution was too poor to produce good audio.

    The original version uses a 555 as a variable frequency oscillator. The frequency is controlled by a potentiometer with an arm attached to the shaft that supports a styrofoam float. As the water level moves up and down, the frequency continually shifts. The 555 output is recorded on a digital audio recorder. I wrote some c code that analyzes the recording and produces an audio file. A recording of about 30 minutes of water waves produces about 20 seconds of sound. It sounds kind of echo-ey, but with very poor resolution (like 5 or 6 bits), only just good enough to motivate me to improve the sound quality. (listen to the sound sample)

View all 4 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates