Sonifier
Sonifier is a simple JavaScript library that converts a two-dimensional data into a sonified response (also known as "audio graphs"). Sonification assists people who use screen readers (for e.g., blind and people with low-vision) to understand the "ups-and-downs" of the data such as trends in a temporal data set.
This library is part of an ongoing research project being conducted at the University of Washington, led by Ather Sharif.
Installation
npm i sonifier --save
Examples
Examples are provided under the example
folder.
Dev Tools
Lint
ESLint is used for linting.
Command: make lint
/ npm run lint
Tests
Jest and Enzyme are used as testing frameworks and for coverage. Adding/modifying tests for the proposed changes and ensuring that the coverage is at 100% is crucial. To run tests in watch mode:
npm run test
To generate coverage report:
npm run test:coverage
Docs
JSDoc is used for documentation. It's important to follow the guidelines for JSDoc to add informative and descriptive comments and documentation to the code. Documentation can be found here.
Command: make docs
/ npm run docs
Code formatter
Prettier is used for code formatting.
Command: make prettier
/ npm run prettier
Build
Babel is used for build purposes. Runs lint, tests, code formatter and docs as well.
Command: make build
/ npm run prepublish
Contributing
Pull requests are welcome and appreciated. Contributing guidelines can be found here.
License
Licensed under MIT. Can be found here.
Citations
Ather Sharif, Olivia H. Wang, Alida T. Muongchan, Katharina Reinecke, and Jacob O. Wobbrock. 2022. VoxLens: Making Online Data Visualizations Accessible with an Interactive JavaScript Plug-In. In Proceedings of the 2022 CHI Conference on Human Factors in Computing Systems (CHI '22). Association for Computing Machinery, New York, NY, USA, Article 478, 1–19.
Ather Sharif, Olivia H. Wang, and Alida T. Muongchan. 2022. "What Makes Sonification User-Friendly?" Exploring Usability and User-Friendliness of Sonified Responses. In The 24th International ACM SIGACCESS Conference on Computers and Accessibility (ASSETS '22). Association for Computing Machinery, New York, NY, USA. To appear.