Git Product home page Git Product logo

sound_spatialization's Introduction

What Sound_Spatialization is

A website that leverages a combination of the GPS and Gyroscope sensors in modern smartphones, through JavaScript's web APIs, to help users navigate a pre-defined path.
The goal with this proof of concept is to help advance the technology visually impaired individuals have available and to help them navigate the world in a more comfortable, independent and safe way, be it while running a marathon or walking in a park.
This project was in part inspired by Google's Project Guideline

How it works

It allows you to set GPS points along your desired path, which hold information about the angle you must face to reach the next point.
This incorporates the general absolute location provided by GPS with the precise relative alpha angle provided by the Gyroscope.

How to use it

Navigate to https://gugajazz.github.io/Sound_Spatialization on a modern smartphone and give it permission to access your GPS location. All data including GPS coordinates is kept locally at all times.

The user should start by walking over to where they want the path to start.
Then press reset whith the phone screen facing up and pointing at the direction you wish to go. In that same place and holding the same heading create a point
When you reach a location where your heading must change point your phone towards the new direction and then create a new point.
Do this until the path is complete. The path can form a line or circle.
When the user is back at the path's starting point they can press start and be guided by the sound to the final point.
If you hear a beep in the left or right you must turn towards that side to keep following the correct heading.
At any point the user can stop the auditory feedback by clicking the stop button .

When looking at the map there are 3 different types of points, the gold one indicates the user's current position, the red indicates every point that isn't the current point and the blue indicates the point the user currently is on.

Example animation

0001-0300.mov

Results and possible applications

The idea and code implementation work nicely to guide the user in the created path.
This idea could be employed by sporting events like foot races and marathons. Since they take place in a pre-defined circuit a mesh of point could be generated for it and visually impaired atlethes could use their smartphone to guide them through the circuit.
A more refined and sophisticated version could additionally be used to give more feedback to visually impaired individuals when navigating with the help of map apps.

Warnings

This code is ment only as a prof of concept and doesn't intend to replace more conventional tools like the guide cane, merely to augment them.
Test it in a big, open space with no obstacles or dangers and in a safe, responsible way.

Chalenges and limitations:

As mentioned previously all data, including GPS coordinates, is kept locally at all times and lost when the website refreshes.
This is a benefit when it comes to privacy and reliability, as the only responsibility of the server is to host the website, but it isn't practical for actual day-to-day use.
The UI also needs improvement in many areas, and that is the next step for this project.

sound_spatialization's People

Contributors

gugajazz avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.