The Problem
Data visualizations are fundamentally visual. When a sighted person views a chart, they instantly perceive comparisons, trends, and patterns. But what about the hundreds of millions who can't see them?
Screen readers can only provide generic descriptions like "Bar chart showing sales data" or read data tables row by row. This loses the instant "gestalt" understanding that visualizations provide.
The Solution: Sonification
Sonification converts data into non-speech audio. Higher values become higher pitches. Position becomes stereo panning. Patterns become audible.
Human hearing can detect:
- Pitch changes → Value magnitude (higher = more)
- Stereo panning → Position (left to right)
- Volume → Emphasis or importance
- Rhythm → Trends and patterns
Research shows blind users can achieve comparable comprehension to sighted users when data is properly sonified.
The Gap
While sonification libraries exist, none integrate with D3.js—the most popular data visualization library powering millions of charts on the web.
| Solution | D3.js Native | Keyboard | Screen Reader | Open Source |
|---|---|---|---|---|
| Chart2Music | ✗ | ✓ | ✓ | ✓ |
| Highcharts | ✗ | ✓ | ✓ | ✗ Commercial |
| Google Charts | ✗ | ✗ | ✗ | ✗ |
| sound3fy | ✓ | ✓ | ✓ | ✓ |
Our Approach
sound3fy is designed to be:
- Simple — One line of code:
.sonify({ pitch: "value" }) - Accessible — Full keyboard navigation and screen reader support
- Musical — Uses pentatonic scales so it sounds pleasant, not jarring
- Open — MIT licensed, zero dependencies beyond D3.js
🙋 We need your help!
If you are blind or have low vision, your feedback is invaluable. Does the sonification work for you? Is it intuitive? Share your experience →
References
- WHO Vision Impairment Statistics
- Chart2Music — Prior art in chart sonification
- MAIDR — Multimodal accessible data research
- WCAG 2.1 — Web accessibility guidelines