Data visualization is limited to those that can understand and are capable of reading graphs. We would like to expand the accessibility of such information to those with visual impairments as well as those that don't know how to read graphs through something we call audiozation. We hope this project (with some expansions) will enable more people to access information for STEM fields.
What it does
SoundPlot takes in any generic data, and conforms that data to a waveform. It automatically determines the range of the data, and maps this range to a range of sound frequencies. While this doesn’t offer the most accurate representation of the data, it is extremely useful for data like stocks that require an understanding of the big picture.
How we built it
SoundPlot is a simple standalone React app. TuneJS provides the required tools for generating waveforms. We still wanted to include some visualization, and we used d3.js to draw a graph to the screen and map a “playhead” to the data, that shows what datapoint is currently being heard.
Challenges we ran into
Conforming to a waveform to encompass a wide variety of different data types is very challenging. We originally started with an algorithm that mapped values directly to frequencies, but smallers stocks broke this algorithm as humans can only hear down to about 50Hz. To solve this, we now generate tone frequencies relative to the calculated minimum and maximums of the data and conform the waveform accordingly.
Accomplishments that we're proud of
We built this application in between building our other application, TeamTune.
What we learned
We learned some of the advantages and possibilities that Heroku offers as a service. We also learned a lot about frequency bounds and how to mappings sounds to ranges of data. Switching between projects is a great way to keep momentum.
What's next for SoundPlot
SoundPlot will expand to different file types allowing the audiozation of different types of information for not only the sake of those without sight but for those that would appreciate the convenience. SoundPlot will also fix some of the small bugs currently facing its website and likely improve the user interface. Integration with other current analytics tools such as GraphPad Prism and Jupyter notebooks would be ideal.