The web application features a user-friendly interface divided into five interactive regions, designed to facilitate seamless control and customization of the synesthetic audio experience. All camera processing is performed locally on your device, ensuring privacy. No frames are transmitted externally, though the browser will request camera access permission to enable this local processing for audio generation.
When settings are enabled via the SHIFTer button:
The latest stable version is hosted at:
https://mamware.github.io/acoustsee/present
Browser | Minimum Version for Full Support | Notes |
---|---|---|
Chrome for Android | Chrome 47 (December 2015) | Full support for getUserMedia, AudioContext, and createStereoPanner. |
Safari on iOS | iOS 14.5 (Safari 14.1, April 2021) | Supports unprefixed AudioContext and createStereoPanner. No vibration support. |
Firefox for Android | Firefox 50 (November 2016) | Full support for all APIs, though SpeechSynthesis may be inconsistent. |
Samsung Internet | Samsung Internet 5.0 (2017) | Based on Chromium, full support for all APIs. |
Opera Mobile | Opera 36 (2016) | Based on Chromium, full support for all APIs. |
Edge for Android | Edge 79 (January 2020) | Based on Chromium, full support for all APIs. |
How to run the first iteration, a simple proof-of-concept processing a static image file and output basic left/right panned audio file.
Clone the Repo:
git clone https://github.com/MAMware/acoustsee.git
cd acoustsee
Set Up Virtual Environment:
python3 -m venv acoustsee_env
source acoustsee_env/bin/activate
Install Dependencies:
bash
pip install opencv-python-headless numpy scipy pyo
Run the MVP:
For local machines
bash
python src/main.py
For headless environments (e.g., Codespaces):
python src/main_codespaces.py
Try it with examples/wall_left.jpg to hear a basic left/right audio split!
pyo
Installation:
python3.11 -m venv acoustsee_env
.\acoustsee_env\Scripts\activate
pip install opencv-python numpy scipy pyo
pyo
Installation (e.g., GitHub Codespaces):
python3 -m venv acoustsee_env
source acoustsee_env/bin/activate
sudo apt update
sudo apt install -y libportaudio2 portaudio19-dev libportmidi-dev liblo-dev libsndfile1-dev libasound-dev libjack-dev build-essential libgl1-mesa-glx
pip install opencv-python-headless numpy scipy pyo
opencv-python
fails with libGL.so.1
errors, use opencv-python-headless
:
pip uninstall -y opencv-python
pip install opencv-python-headless
sudo apt install -y python3.11 python3.11-venv
python3.11 -m venv acoustsee_env
source acoustsee_env/bin/activate
pip install opencv-python-headless numpy scipy pyo
main_codespaces.py
to generate WAV files:
python src/main_codespaces.py
examples/output.wav
via the Codespaces file explorer and play locally.from pyo import *
s = Server(audio="offline").boot()
s.recordOptions(dur=2, filename="test.wav")
sine = Sine(freq=440, mul=0.5).out()
s.start()
s.stop()
pyo
may warn about missing WxPython, falling back to Tkinter. This is harmless for WAV generation.License :: OSI Approved :: GNU General Public License
is harmless (it’s a pyo
packaging issue).Privacy and Processing The application processes all camera data locally on your device, ensuring no visual information leaves your processor. Upon launching, the browser will request camera access to perform this private processing, which is essential for generating the real-time audio cues used for navigation.