Heartbeat sounds03 Apr 2016
Heartbeat sound is maybe the most familiar and atavistic sound we know. It’s power, both relaxing and angsty at the same time, can be useful to obtain some involvement in the listener. Here’s a sample sound:
Without bothering of too many details, let’s examine the typical ECG (electrocardiograph) curve: we will use this information to recreate the same curve procedurally.
As we see, the waveform is made-up of many portions (wave P, Q, R, S, T and U), each one related to the contraction/relaxation of a specific section of the heart muscle.
Each of these parts has it’s own relative amplitude and duration. We’ve based our calculations on these average values, since they vary not only from individual to individual but also from the measurement point. Thus we have drawn a qualitative graph on witch we can base our sound waveshaping.
This is a challenging work, we don’t know how it will sound at the end, but we’re sure it’s worth working on.
HeartBeater: first attempt of heartbeat sound synthesis
HeartBeater is our first attempt to build a synthetizer producing an heartbeat sound in a procedural way.
HeartBeater synth creates the sound calculating the ECG graph in real-time according to the BPM frequency you have set.
Each curve portion is approximated usign a cosine function. This cosine is warped in different ways so it conforms to the ECG graph.
Each part duration, as well as time between them, has been parametrized so it’s possibile to vary the BPM frequency without losing the genearal waveform shape.
Here’s the sound as recorded directly from the patch. As you can hear it is slightly different from the sample sound shown at the beginning of this article.
The main difference is that this sound doesn’t have the double beat rhythm characteristic of the sample sound and, though it has been used with interesting result (e.g. OTTO) it is necessary to improve the PuraData patch to create a more realistic one.
Thus, we restarted from scratch, redesigning the patch, basing no more on the ECG graph but applying a “retro-engineering” process on the sample sound!
We finally ended up with LovelyHeart, new heartbeat synthetizer that seems to sound more realistic.
As you can perceive in the samples below (recorded directly within the patch), the new sound is made up of two distinct components:
- beats (two) - some cosine cycles;
- murmur - conveniently filtered noise;
- If you want to try our HeartBeater PureData patch, you can download it for free from our GitHub project page. It’s free software!
- If you want to use the newer LovelyHeart synthetizer here’s the project link;
Remember, in order to use these patches you need PureData (Vanilla version is sufficient) up and running: you can download it from the PureData official web site.
Read synth manuals for more information. Contact us for any question or suggestion. We’re looking forward for hearing from you.