Chart2Music turns charts into music so the blind can hear data.
Charts can convey a lot of information but are difficult to make accessible for visually impaired and blind users. The most common solutions are to include a data table or attempt to describe the chart in alt text, often resulting in a subpar user experience.
- Inclusively designed - The dev team behind C2M includes blind people in the design, development, and testing stages.
- Accessibility for screen reader users - Enables blind users to quickly absorb information about charts and graphs using sound and exploration.
- Easier maintenance for accessibility requirements - Traditionally, charts and graphs would be made accessible using alt text, which can be difficult to generate or maintain, or data tables, which provide a poor end user experience. C2M provides an automated solution while enhancing the user experience.
- Visual agnostic - Use C2M alongside your charts, regardless of how your visuals were created. ChartJS? D3.js? An image? C2M works in parallel with your visuals.
- Use anywhere, for free - C2M is MIT licensed, so you can integrate into anything - personal, commercial, government, etc.
Try Chart2Music for yourself using the below demo. Tab to or click on the chart. Use the left and right arrow keys on your keyboard to explore the chart using sound. Press the H key to get help, including a list of keyboard commands.
Due to Autoplay restrictions in Firefox, you may have to press spacebar before you hear any sound.
For code examples in action, see the Chart2Music Examples collection on Codepen.
Some of the examples you will find there include a variety of chart types, like:
You can also find examples of integrations with other visualization libraries, like:
- with Chart.js (includes visual syncing)
- with D3.js
- with HighCharts (includes visual syncing)
- with Google Charts (includes visual syncing)
- with AnyChart
- with Chartist.js
- with NVD3.js
- with Plotly.js (includes visual syncing)
- with Vega-Lite
- with Morris.js
- with Frappe
If you have any problems or suggestions, open an issue in our Github repository.