sound pal


sound pal is a data visualization and sound of more than 10k Facebook messages between two friends.

I was curious about different ways for a human to perceive data, besides a simple visualization that all of us already got used to. I ended up coding an algorithm that parses through each message and turns it into a sound.


This is a solo project.
Coding & Visuals by Yona Ngo.

How It Works

After downloading the chat history on Facebook, I wrote a Python script that goes through each message and finds the most common words my friend Tommy and I use.

It turned out that besides the words "I" and "you" we used quite often slang and meme words that only we could understand like poop emoji 💩, the words "lol", "ahisee", "sweats" etc.

I picked the top 10 most commonly used and interesting words with individual priorities and set a corresponding note to them. The sounds are also different depending on the sender's name. If a sender is "Phuong Ngo" the pitch is higher and is lower for "Tommy".

Then with JavaScript, the algorithm reads each message every 0.1 seconds, analyzes if the message carries the keywords and plays the note of the found word with the highest priority with Tone.js.

Data Visualization Poster

The poster above presents each message as a polygon. The number of each polygon's edges corresponds to the number of keywords mentioned in a message, the color is picked according to the keyword with the highest priority and sender's name, e.g. my messages are represented in brighter colors and Tommy's messages are darker.

This poster was inspired by Yining Shi's posters.

Tools & Process

The sonic visualization was created using Tone.js, poster — p5js. The data from the messenger were also processed with Python.
Thank Thank Thank

Special thanks to my friend Tommy for letting me use our messages in this project.

made with ♥ by yonaymoris in 2021