Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
a53c1ae
rev vx
MAMware Jun 19, 2025
3537fb5
MAMware Jun 20, 2025
5988ad0
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
9127478
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
4c2fab1
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
e57d61f
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
965c17b
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
72ab72f
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
aff8794
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
8639c98
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
4f8f857
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
5d9fd07
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
96cee8e
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
2445cf5
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
286e54c
v0.4.7 bugfixing (new versioning also)
MAMware Jun 25, 2025
2370930
v0.4.7 new feat autoFPS & new versioning
MAMware Jun 25, 2025
a7e8f3f
v0.4.7 new feat autoFPS & new versioning
MAMware Jun 25, 2025
485c727
v0.4.7 new feat autoFPS & new versioning
MAMware Jun 25, 2025
d05ee0a
v0.4.7 new feat autoFPS & new versioning
MAMware Jun 25, 2025
a04efd6
v0.4.7 new feat autoFPS & new versioning
MAMware Jun 25, 2025
18b219a
solucion de errores en declaraciones y apuntando a una correcta estru…
MAMware Jun 25, 2025
082f522
v0.4.7 linting and identation correction
MAMware Jun 25, 2025
11066d2
v0.4.8 new UI and settings BETA
MAMware Jun 25, 2025
44d66b6
v0.4.8 new UI and settings BETA
MAMware Jun 25, 2025
1e0dcf9
Merge pull request #36 from MAMware/MAMware-v0.4.8-newUI
MAMware Jun 25, 2025
68018dc
v0.4.8 new UI and settings BETA
MAMware Jun 25, 2025
397501a
v0.4.8 new UI and settings BETA
MAMware Jun 26, 2025
c21d983
v0.4.8 new UI and settings BETA
MAMware Jun 26, 2025
27e70ca
v0.4.8 new UI and settings BETA
MAMware Jun 26, 2025
10a3b40
v0.4.8 new UI and settings BETA
MAMware Jun 26, 2025
f2e9ac4
v0.4.8 new UI and settings BETA
MAMware Jun 26, 2025
5e657ce
v0.4.8 new UI and settings BETA
MAMware Jun 26, 2025
2dbcbb7
v0.4.8 New UI and features!
MAMware Jun 26, 2025
422128e
v0.4.8 new UI and settings BETA
MAMware Jun 26, 2025
b59c990
v0.4.8 new UI and settings BETA
MAMware Jun 27, 2025
360ba0e
v0.4.8 new UI and settings BETA
MAMware Jun 27, 2025
885d323
v0.4.8 new UI and settings BETA
MAMware Jun 27, 2025
3994161
v0.4.8 bigfuxing ;)
MAMware Jun 27, 2025
a407148
v0.4.8 new UI and settings BETA
MAMware Jun 27, 2025
77afd68
v0.4.8 new UI and settings BETA
MAMware Jun 27, 2025
2d076f5
v0.4.8 new UI and settings BETA
MAMware Jun 27, 2025
0db4575
v0.4.8 bugfixing
MAMware Jun 27, 2025
1bb126c
v0.4.8 bugfixing
MAMware Jun 27, 2025
c2298f9
v0.4.8 bugfixing
MAMware Jun 27, 2025
f12378d
v0.4.8 bugfixing
MAMware Jun 27, 2025
03d53f9
v0.4.8 bugfixing
MAMware Jun 27, 2025
456c184
v0.4.8 new UI and settings BETA tweaks
MAMware Jun 28, 2025
8669489
v0.4.8 new UI and settings BETA tweaks
MAMware Jun 28, 2025
2e1919d
v0.4.8 bugfixing
MAMware Jun 28, 2025
1af9038
v0.4.8 new UI and settings BETA
MAMware Jun 28, 2025
d94a4af
v0.4.8 bugfixing
MAMware Jun 28, 2025
cf5d147
v0.4.8 bugfixing
MAMware Jun 28, 2025
9ccf499
v0.4.8 bugfixing
MAMware Jun 28, 2025
bb61bde
v0.4.8 bugfixing
MAMware Jun 28, 2025
830f9f8
v0.4.8 bugfixing
MAMware Jun 28, 2025
1f7876e
v0.4.8 new UI and settings BETA
MAMware Jun 28, 2025
2dab155
v0.4.8 bugfixing
MAMware Jun 28, 2025
b38e44c
v0.4.8 bugfixing
MAMware Jun 28, 2025
09fff5f
v0.4.8 bugfixing
MAMware Jun 28, 2025
af8a61d
v0.4.8 bugfixing
MAMware Jun 28, 2025
91970b3
v0.4.8 bugfixing
MAMware Jun 28, 2025
75133fa
v0.4.8 bugfixing
MAMware Jun 28, 2025
a1fc15f
v0.4.8 bugfixing
MAMware Jun 28, 2025
f0cc8c6
v0.4.8 bugfixing
MAMware Jun 28, 2025
c79794e
v0.4.8 bugfixing
MAMware Jun 28, 2025
2d7fedb
v0.4.8 bugfixing
MAMware Jun 28, 2025
0cebe11
v0.4.8 bugfixing
MAMware Jun 28, 2025
ad3ff0a
v0.4.8 bugfixing
MAMware Jun 28, 2025
d22aa8d
v0.4.8 bugfixing
MAMware Jun 28, 2025
8a128fe
rev v0.4.8 6/28/25
MAMware Jun 28, 2025
164bed7
v0.4.8.1 6/28/25
MAMware Jun 28, 2025
717f950
mic init
MAMware Jun 29, 2025
4559816
v0.4.8.1 bugfixing
MAMware Jun 29, 2025
c96d646
more modules, new mic feature
MAMware Jul 1, 2025
4995e6c
lots of bugfixing
MAMware Jul 2, 2025
c0e4c4b
Delete future/web/ui/DEPRECATE.rectangle-handlers.js
MAMware Jul 3, 2025
9522b8e
Delete future/web/ui/beta.rectangle-handlers.js
MAMware Jul 3, 2025
7849985
Delete future/web/ui/dom.diagram.md
MAMware Jul 3, 2025
ef8e158
Refactor frame processing and UI settings management
MAMware Jul 4, 2025
45369bf
Eliminar importación innecesaria de getDispatchEvent en ui-settings.js
MAMware Jul 4, 2025
6c691a7
feat: Introduce automatic file loader and enhance audio processing
MAMware Jul 11, 2025
683fd71
7/12/2025
MAMware Jul 12, 2025
061c03d
7/12/2025
MAMware Jul 12, 2025
e369294
7/12/2005
MAMware Jul 12, 2025
06667dc
Update README.md
MAMware Jul 12, 2025
bdb9a42
Update README.md
MAMware Jul 12, 2025
7395128
last update 7/12/2025
MAMware Jul 12, 2025
46a5ea6
fixed typos
MAMware Jul 14, 2025
bbe21f6
clarity fix
MAMware Jul 14, 2025
2a7db7c
14/7/2025
MAMware Jul 14, 2025
ee4d0bf
cleanup, still outdated
MAMware Jul 14, 2025
bbb17b9
Delete future/web/config.js
MAMware Jul 15, 2025
bb30e26
revision v0.4
MAMware Jul 15, 2025
2b010e7
rev v0.5
MAMware Jul 15, 2025
a97eab3
Delete future/web/test/utils.test.js
MAMware Jul 15, 2025
f08ed19
Delete future/web/test/rectangle-handlers.test.js
MAMware Jul 15, 2025
39b12a8
v0.5.2
MAMware Jul 15, 2025
8d4f995
v0.5.2
MAMware Jul 15, 2025
b06ebca
v0.5.2 slopfixing
MAMware Jul 15, 2025
5d1f0f7
v0.5.2
MAMware Jul 16, 2025
776e7b1
v0.5.2
MAMware Jul 16, 2025
df4ca6e
Delete future/web/ui/stream-control.js unused as per v0.5.2
MAMware Jul 16, 2025
ccea0a0
test
MAMware Jul 16, 2025
c20d3cc
v0.5.2
MAMware Jul 16, 2025
c74b75d
v0.5.2
MAMware Jul 16, 2025
d13d7b0
v0.5.2
MAMware Jul 16, 2025
86881ae
v0.2
MAMware Jul 16, 2025
24dea47
v0.5.2
MAMware Jul 16, 2025
e1a7e6c
v0.5.2
MAMware Jul 16, 2025
4b11a26
v0.5.3 cleanup
MAMware Jul 17, 2025
afb21da
v0.5.3
MAMware Jul 17, 2025
814488d
v0.5.3 Refactor event dispatching in audio controls and main initiali…
MAMware Jul 17, 2025
aa550be
v0.5.3 Actualiza .gitignore y modifica project-files.txt para incluir…
MAMware Jul 17, 2025
99eabef
v0.5.3 bugfixes
MAMware Jul 17, 2025
7cbc709
v0.5.3 bugfixes: Añade carga de configuraciones al inicializar la apl…
MAMware Jul 17, 2025
1841c91
v0.5.3
MAMware Jul 17, 2025
74051a1
v0.5.3
MAMware Jul 17, 2025
307711c
v0.5.3
MAMware Jul 17, 2025
386d92e
v0.5.3 bugfixing
MAMware Jul 17, 2025
53c5971
v0.5.3 bugfixing
MAMware Jul 17, 2025
442e053
v0.5.3 bugfixing
MAMware Jul 17, 2025
209a4e8
v0.5.3 (bug..) fixing after milestone 5 refactor
MAMware Jul 17, 2025
7541143
v0.5.3 quieter logs
MAMware Jul 18, 2025
77972e3
v0.5 cleanup
MAMware Jul 18, 2025
1502f3c
v0.1
MAMware Jul 18, 2025
ea39ad7
might be finishing up the dynamic loading feature for the web version…
MAMware Jul 23, 2025
103c9d0
removed orientation lock
MAMware Jul 24, 2025
0623871
v0.5.3 dynamicLoading
MAMware Jul 24, 2025
6cabab6
v0.5.4 bug-fixing with x.AI Grok
MAMware Jul 24, 2025
690e70a
v0.5.4 bug-fixing with x.AI Grok
MAMware Jul 24, 2025
2ec89e7
temp: enabled verbose log, and disabled tts
MAMware Jul 25, 2025
e22084c
v0.5.4 bugfixing
MAMware Jul 25, 2025
10e6ce8
v0.5.4 bug-fixing
MAMware Jul 25, 2025
753da03
v0.5.4 bugfixing
MAMware Jul 25, 2025
a4ff351
v0.5.4 bugfixing
MAMware Jul 25, 2025
0b5548c
v0.5.4 bugfixing
MAMware Jul 25, 2025
25aa632
v0.5.4 bug-fixing
MAMware Jul 25, 2025
96d7595
v0.5.4 bug-fixing with x.AI Grok
MAMware Jul 25, 2025
0a4598d
v0.5.5 enhancingLogging
MAMware Jul 26, 2025
f00b837
v0.5.5 structuredLog
MAMware Jul 26, 2025
1849277
v0.5.5-enhancingLogging (to human readable 2)
MAMware Jul 26, 2025
06bf66f
v0.5.6 Adds structured logging and IndexedDB support for persistent l…
MAMware Jul 26, 2025
1add5b0
v0.5.6 Complete IndexedDB logging transition: Removed in-memory logs/…
MAMware Jul 27, 2025
e90ed3a
v0.5.6 enhancingLogging
MAMware Jul 27, 2025
4b2d671
v0.5.6 Enhanced structured logging across audio processing and event …
MAMware Jul 27, 2025
fd6aea4
v0.5.6 enhancingLogging better event tracing, improved error diagnist…
MAMware Jul 27, 2025
ec8164e
v0.5.6 bugfix: logg issues
MAMware Jul 28, 2025
8212857
Refactor button event handling: Consolidate touch and click events in…
MAMware Jul 28, 2025
3dae86e
v0.5.6 enhancingCleanup: Improve audio cleanup by stopping and discon…
MAMware Jul 28, 2025
b3d0664
v0.5.8 Grok 4 is now lit on refactoring audio cleanup process and enh…
MAMware Jul 28, 2025
1e8acfd
v0.5.6 Grok 4 debugger + GPT o4-mini agent + yours trully: Enhanced a…
MAMware Jul 28, 2025
f10095f
v0.5.8 debugging by Gemini 2.5 pro + GPT o4-mini as agent
MAMware Jul 28, 2025
3a22553
v0.5.8 logFixing grok4+gpt-o4-mini+sonnet4: Enhanced structured loggi…
MAMware Jul 29, 2025
d90e70f
v.0.5.8 Grok 4 custom prompeted to debug and resulted in refactor fra…
MAMware Jul 29, 2025
6ac7088
v0.5.8 Grok 4 debugging: Enhanced Dimension Validation
MAMware Jul 29, 2025
9b397e4
v0.5.8 Grok 4 debugging
MAMware Jul 29, 2025
a74c487
v0.5.8 Grok 4 debugging
MAMware Jul 29, 2025
9822426
Unit Test
MAMware Jul 29, 2025
78cf6c1
v0.5.8 Grok 4 "debugging" (chasing own tail)
MAMware Jul 29, 2025
35b9035
v0.5.8 Grok 4 "debugging"
MAMware Jul 29, 2025
8fdf981
v0.5.8 Grok 4 debugging: Enhanced video stream handling and error log…
MAMware Jul 29, 2025
c71a245
v0.5.9 Gemini 2.5 pro: Refactors audio and frame processing to use ca…
MAMware Jul 29, 2025
8716fbe
v0.5.9 Gemini 2.5 pro: Refactor console logging to avoid circular dep…
MAMware Jul 29, 2025
910b181
v0.5.10 Central dispatcher core to break circular dependencies
MAMware Jul 29, 2025
01f0fcc
v0.5.11-oscWeakMap: Enhanced audio processing by implementing memory …
MAMware Jul 29, 2025
75ae91f
v0.5.12 "newStructure"
MAMware Jul 30, 2025
241cdd2
v0.5.12 "newStructure"
MAMware Jul 30, 2025
cbb6e22
v0.5.12 newStructure
MAMware Jul 30, 2025
217c50d
v0.5.12 newStructure
MAMware Jul 30, 2025
478d54d
feat: audio controls and processing enhancements
MAMware Jul 31, 2025
31ae487
v0.5.12 newStructure
MAMware Jul 31, 2025
8a6eeee
fix: update import paths for utils and logging, and correct audio int…
MAMware Jul 31, 2025
6ff99e9
v0.5.12 corected import locations
MAMware Jul 31, 2025
c2361a9
fix: removed unused import and streamlined language retrieval in getT…
MAMware Jul 31, 2025
e4bbe8b
feat: implemented event dispatcher with logging
MAMware Jul 31, 2025
5ad66ae
fix: consolidated imports from frame-processor.js
MAMware Jul 31, 2025
04d7232
fix: added structured logging to cleanupFrameProcessor and improved e…
MAMware Jul 31, 2025
6c2db3e
feat: added structured logging to setMicStream function and implement…
MAMware Jul 31, 2025
f2a474f
fix: kebab case for filenames
MAMware Jul 31, 2025
20acad1
fix: removed the redundant fetch calls from createEventDispatcher, mp…
MAMware Jul 31, 2025
1954285
Grok 4 fixes
MAMware Aug 1, 2025
59d425d
feat: implement AudioManager class for audio context management, enha…
MAMware Aug 1, 2025
6d5d8f5
refactor: simplify loadConfigs function by replacing fetch with dynam…
MAMware Aug 1, 2025
c1e6865
feat: enhance frame processing with initial data checks and motion th…
MAMware Aug 1, 2025
afb6c8c
refactor: replace dynamic imports with fetch for configuration loadin…
MAMware Aug 1, 2025
80cf18b
fixed translation dir error
MAMware Aug 1, 2025
2724772
refactor: update AudioManager initialization to remove sample rate pa…
MAMware Aug 1, 2025
89ed512
fix: update language file fetch path to use relative path for consist…
MAMware Aug 1, 2025
0dd3951
feat: enhance default settings initialization to set grid type, synth…
MAMware Aug 1, 2025
0d1cfad
Grok 4+ Gemini 2.5 pro + Sonnet 4 + o4-mini resulting in this refacto…
MAMware Aug 2, 2025
f2b09de
feat: enhanced language initialization and error handling in utils, i…
MAMware Aug 2, 2025
a059322
feat: enhanced logging utility with safe stringification for objects …
MAMware Aug 3, 2025
56601f8
..
MAMware Aug 3, 2025
256a692
.
MAMware Aug 3, 2025
72a1d1b
.
MAMware Aug 3, 2025
ecb3197
feat: default settings initialization with fallback options for grid …
MAMware Aug 3, 2025
e0f296f
feat: improved default settings initialization and handling missing c…
MAMware Aug 3, 2025
04a3015
reflecting status from milestone 6
MAMware Aug 11, 2025
10db783
show your appreciation
MAMware Aug 12, 2025
6d9a356
updated to milestone 6
MAMware Aug 16, 2025
bae92e6
Improve README clarity and update milestones
MAMware Nov 27, 2025
5daba98
Merge pull request #46 from MAMware/v0.4.11-lots-of-bug-fixing
MAMware Dec 4, 2025
25014e0
Merge branch 'developing' into v0.5-dinamicLoading
MAMware Dec 4, 2025
78baad7
Merge pull request #40 from MAMware/v0.5-dinamicLoading
MAMware Dec 4, 2025
f36a7cf
Merge pull request #47 from MAMware/v0.5.5-enhancingLogging
MAMware Dec 4, 2025
08b5f1a
Merge branch 'developing' into v0.5.7-DRY-ing-up
MAMware Dec 4, 2025
804a1d6
Merge pull request #48 from MAMware/v0.5.7-DRY-ing-up
MAMware Dec 4, 2025
859cad8
Merge branch 'developing' into v0.5.9
MAMware Dec 4, 2025
5cc9c37
Merge pull request #49 from MAMware/v0.5.9
MAMware Dec 4, 2025
4fb0216
Merge pull request #50 from MAMware/v0.5.11-oscWeakMap
MAMware Dec 4, 2025
c140297
Merge branch 'developing' into v.0.5.12-newStructure
MAMware Dec 5, 2025
61258ad
Merge pull request #51 from MAMware/v.0.5.12-newStructure
MAMware Dec 5, 2025
d2c4cee
Merge pull request #52 from MAMware/debuggingDynamycLoading
MAMware Dec 5, 2025
0f29f01
Merge pull request #53 from MAMware/dDL
MAMware Dec 5, 2025
e562ad5
Update README.md
MAMware Feb 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: MAMware
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
node_modules/
future/test

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down Expand Up @@ -174,3 +174,4 @@ cython_debug/

# PyPI configuration file
.pypirc
future/project-files.txt
248 changes: 133 additions & 115 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,31 @@
# AcoustSee

**a photon to phonon code**


## [Introduction](#introduction)

The content in this repository aims to transform a visual environment into a intuitive soundscape, in a synesthesic transform, empowering the user to experience the visual world by synthetic audio cues in real time.
The content in this repository provides code and docs of an accessibility web app that aims to help visually impaired users by transforming visual environments into soundscapes in real time.

> **Why?** We believe in solving real problems with open-source software in a fast, accessible, and impactful way. You are invited to join us to improve and make a difference!
> We believe in enhancing humanity with open-source software. You are invited to join us improving this mission and make a difference!

### Project Vision

The synesthesia at project is the translation from a photon to a phonon, with a tech stack that should be easy to get for a regular user, in this case a visually challenged one.
This repo holds code that when loaded into a mobile phone browser translates its camera imput into a stereo soundscape, where a sidewalk that the user is waling on could have a distintive spectrum signature that is being hear by both hears, a wall at the left with its should make its distintive sound signature, a car, a hole... a light... and so on...
- Synesthetic Translation: Converting visual data such as a live camera feed into stereo audio cues, mapping colors, shapes and motions to distinct sound signatures.
- Dynamic Soundscapes for Location-Aware Audio: Adjusts audio in real time based on object distance and motion, e.g., an object approaching shifts the sound in tone, volume and complexity as it moves.


### Tech stack needed

Development: Pure Vanilla JS with no external dependency

>Imagine a person that is unable to see, sitting at a park with headphones on and paired to a mobile phone. This phone is being weared like a necklage with the camera facing a quiet swing, as the seat of the swing gets back/further the sound generator makes a sound spectra that has a less broad harmonic content and a lower volume and wen it swings closer its spectra complexity raises, broader and louder.
Software: Runs in a web browser from 2020 and up (ES6+)
Hardware: The design is tested with low settings on a mobile phone from 2020.
Input: Video camera for real-time visual data capture.
Audio Output: Stereo headphones or speakers for spatial audio effects.

This project aims to make this imagination into a reality, with its first milestones coded entirely by xAI Grok is now ready to welcome contributors from open source community to enhace in a afordable way, perception.
### BRIEF

Entirely coded by xAI Grok 3 to Milestone 4 as per @MAMware prompts
Milestone 5 got help from OpenAI ChatGPT 4.1, 04-mini, Anthropic Claude 4 via @github copilot at codespaces and also Grok 4 wich is charge of the re-estructuring from v0.5.12
Currently at Milestone 9 (26.02.09) the project is developed in private and near public annoucement.

## Table of Contents

Expand All @@ -33,141 +42,150 @@ This project aims to make this imagination into a reality, with its first milest

### [Usage](docs/USAGE.md)

The latest stable proof of concept can be run from

- https://mamware.github.io/acoustsee/present

Previous versions and other approachs can be found at

- https://mamware.github.io/acoustsee/past
The webapp runs from a Internet browsers and mobile hardware from 2021.

Unstable versions currently being developed adn tested can be found at
- Current version [RUN](https://mamware.github.io/acoustsee/present/)
- Previous versions [RUN](https://mamware.github.io/acoustsee/past/old_versions/preview)
- Testing developments [RUN](https://mamware.github.io/acoustsee/future/web)

- https://mamware.github.io/acoustsee/future
### Check [Usage](docs/USAGE.md) for further details

To use it, having the most up to date version of mobile web browsers is diserable yet most mobile internet browsers from 2021 should work.
### [Current Status](#status) **OUTDATED**

For a complete mobile browser compability list check the doc [Usage](docs/USAGE.md) there you also find instruccions to run the first command line PoC made with Python

### Hardware needed:

A mobile phone/cellphone from 2021 and up, with a front facing camera and stereo headphones with mic.

### Steps to initialize

- The webapp is designed to be used with a mobile phone where its front camera (and screen) are facing the desired objetive to be transformed in to sound, wearing the mobile phone like a necklage is its first use case in mind.

- Enter https://mamware.github.io/acoustsee/present (or your version of preference from [Usage](docs/USAGE.md))

- The User Interface of the webapp is split into five regions,
- Center rectangle: Audio enabler, a touchplace holder that enables the webpage to produce sound.
- Top border rectangle: Settings SHIFTer button
- Bottom rectangle: Start and Stop button
- Left rectangle: Day and night switch for light logic inversion
- Right rectangle: Languaje switcher
- SHIFTed left rectangle (settings enabled): Grid selector, changes how the camera frames or "grids" the environment
- SHIFTed right rectangle (settings enabled): Audio engine selector, changes how the sound synthetizer reacts to the selected grid.
Working at **Milestone 5 (Current)**
- Haptic feedback via Vibration API **Developing in Progress 85%**
- Console log on device screen and mail to feature for debuggin. **Developing in Progress 85%**
- New languajes agnostic architecture ready to provide multilingual support for the speech sinthetizer and UI **Developing in Progress 95%**
- Mermaid diagrams to reflect current Modular Single Responsability Principle **To do**

### [Changelog](docs/CHANGELOG.md)

IMPORTANT: The processing of the camera is done privately on your device and not a single frame is sent outside your device processor. A permision to access the camera by the browser will be requested in order to do this local processing and thus generate the audio for the navigation.
- Current "stable" version from "present" is v0.4.7, link above logs the history and details past milestones achieved.
- Current "future" version in development starts from v0.5

### [Status](#status)
### [Project structure](#project_structure)
WARN: this is alpha stage and is only meant for testing purposing using the Sinewave synth, some synths like Strings cause VERY HIGH NOISE that could damage hearing and speakers.

**Milestone 4 (Current)**: **Developing in Progress** at /future folder from developing branch
- Current version [RUN](https://mamware.github.io/acoustsee/present/)
- Previous versions [RUN](https://mamware.github.io/acoustsee/past/old_versions/preview)
- Test version in development [RUN](https://mamware.github.io/acoustsee/future/web)

- Current effort is at setting the repository with the most confortable structure for developers, with niche experts in mind, to have a fast way to understand how we do what we do and be able to contribute in a fast and simple way.
- We should refactor dependencies, isolate the audio pipeline and decouple UI and logic.
- Make WCAG contrast UI.
- Code should be educational purpose ready (JSDoc)

### [Changelog](docs/CHANGELOG.md)
### [Current Status](#status)

- Current version is v0.4.7, follow link above for a the history change log, details and past milestones achieved.
- Milestone 0 to 4: reached by vibecoding with xAI Grok 3
- Milestone 5: reached byv ibecoded with SuperGrok 4. some assistance from Gemini 2.5 Pro (Preview), ChatGPT 4.1 & o4-mini agents + small reviews from Claude 4.
- Milestone 6: restructered with Gemini 2.5 Pro and ChatGPT 4.1 & 04-mini agents
- Milestone 6.5: (WIP) robust architectural improvements and integration work by GPT-5 mini (Preview)
- Milestone 7 to 9: mayor redesign with a foundational Command pattern and Hexagonal architecture while still in plain vanilla JS, not merged to developing branch becouse this actually a complete rebase.

### [Project structure](#project_structure)
### [v0.6 Project structure, (in construction)](#project_structure)

```

acoustsee/

├── present/ # Current Stable Modular Webapp
│ ├── index.html
│ ├── styles.css
│ ├── main.js
│ ├── state.js
│ ├── audio-processor.js
│ ├── grid-selector.js
│ ├── ui/
│ │ ├── rectangle-handlers.js # Handles settingsToggle, modeBtn, languageBtn, startStopBtn
│ │ ├── settings-handlers.js # Manages gridSelect, synthesisSelect, languageSelect, fpsSelect
│ │ ├── frame-processor.js # Processes video frames (processFrame)
│ │ └── event-dispatcher.js # Routes events to handlers
│ └── synthesis-methods/
│ ├── grids/
│ │ ├── hex-tonnetz.js
│ │ └── circle-of-fifths.js
│ └── engines/
│ ├── sine-wave.js
│ └── fm-synthesis.js
├── tests/ # Unit tests (TO_DO)
│ ├── ui-handlers.test.js
│ ├── trapezoid-handlers.test.js
│ ├── settings-handlers.test.js
│ └── frame-processor.test.js
├── docs/ # Documentation
│ ├── USAGE.md
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ ├── TO_DO.md
│ ├── DIAGRAMS.md
│ ├── LICENSE.md
│ └── FAQ.md
├── past/ # Historic folder for older versions.
├── future/ # Meant to be used for fast, live testing of new features and improvements
└── README.md
web/
├── audio/ # Audio synthesis/processing (notes-to-sound, HRTF, mic)
│ ├── audio-controls.js # PowerOn/AudioContext init
│ ├── audio-manager.js # AudioContext management
│ ├── audio-processor.js # Core audio (oscillators, playAudio, cleanup; integrates HRTF/ML depth)
│ ├── hrtf-processor.js # HRTF logic (PannerNode, positional filtering)
│ └── synths/ # Synth methods (extend with HRTF)
│ ├── sine-wave.js
│ ├── fm-synthesis.js
│ └── available-engines.json
├── video/ # Video capture/mapping (camera-to-notes/positions; includes ML depth)
│ ├── video-capture.js # Stream setup/cleanup
│ ├── frame-processor.js # Frame analysis (emits notes/positions; calls ML if enabled)
│ ├── ml-depth-processor.js # New: Monocular depth estimation
│ └── grids/ # Visual mappings
│ ├── hex-tonnetz.js
│ ├── circle-of-fifths.js
│ └── available-grids.json
├── core/ # Orchestration (events, state)
│ ├── dispatcher.js # Event handling
│ ├── state.js # Settings/configs
│ └── context.js # Shared refs
├── ui/ # Presentation (buttons, DOM; optional ML/HRTF toggles)
│ ├── ui-controller.js # UI setup
│ ├── ui-settings.js # Button bindings
│ ├── cleanup-manager.js # Teardown listeners
│ └── dom.js # DOM init
├── utils/ # Cross-cutting tools (TTS, haptics, logs)
│ ├── async.js # Error wrappers
│ ├── idb-logger.js # Persistent logs
│ ├── logging.js # Structured logs
│ └── utils.js # Helpers (getText, ...)
├── languages/ # Localization (add ML/HRTF strings)
│ ├── es-ES.json
│ ├── en-US.json
│ └── available-languages.json
├── test/ # Tests (grouped by category)
│ ├── audio/ # Audio/HRTF tests
│ │ ├── audio-processor.test.js
│ │ └── hrtf-processor.test.js
│ ├── video/ # Video/grid/ML tests
│ │ ├── frame-processor.test.js
│ │ └── ml-depth-processor.test.js # New: Test depth estimation
│ ├── core/ # Dispatcher/state tests (if added)
│ ├── ui/ # UI tests
│ │ ├── ui-settings.test.js
│ │ └── video-capture.test.js
│ └── utils/ # Utils tests (if added)
├── .eslintrc.json # Linting
├── index.html # HTML entry
├── main.js # Bootstrap (update imports for moves/ML init)
├── README.md # Docs (update structure/ML/HRTF)
└── styles.css # Styles

```

### [Contributing](docs/CONTRIBUTING.md)

- Please follow the link above for the detailed contributing guidelines, branching strategy and examples.

### [To-Do List](docs/TO_DO.md)

- At this document linked above, you will find the list for current TO TO list, we are now at milestone 4 (v0.4.X)
>We welcome contributors!

Resume of TO_DO:

- Haptic feedback via Vibration API
- Console log on device screen and mail to feature for debuggin.
- New languajes for the speech sinthetizer
- Audio imput from camera into the headphones among the synthetized sound from camera.
- Further Modularity: e.g., modularize audio-processor.js
- Optimizations aiming the use less resources and achieve better performance, ie: implementing Web Workers and using WebAssembly.
- Reintroducing Hilbert curves.
- Gabor filters for motion detection.
- New grid types and synth engines
- Voting system for grid and synth engines.
- Consider making User selectable synth engine version.
- Consider adding support for VST like plugins.
- Testing true HRTF, loading CIPIC HRIR data.
- New capabilities like screen/video capture to sound engine.
- Android/iOS app developtment if considerable performance gain can be achieved.
- Mermaid diagrams to reflect current Modular Single Responsability Principle
- At this document linked above, you will find the list for our current TO TO list, now from milestone 5 (v0.5.2)

### [Code flow diagrams](docs/DIAGRAMS.md)

Diagrams covering the Turnk Based Development approach.
Diagrams covering the Turnk Based Development approach (v0.2).

Reflecting:
- Process Frame Flow
- Audio Generation Flow
- Motion Detection such as oscillator logic.
```mermaid

graph TD
A[dispatcher.js] -->|routes| B[core/handlers/]
B --> C[video-handlers.js]
B --> D[audio-handlers.js]
B --> E[ui-handlers.js]
B --> F[settings-handlers.js]
B --> G[grid-handlers.js]
B --> H[debug-handlers.js]
C -->|calls| I[video/frame-processor.js]
D -->|calls| J[audio/audio-processor.js]
E -->|updates| K[ui/ui-settings.js]
F -->|uses| L[utils/utils.js]
A -->|state| M[state.js]
A -->|logs| N[utils/logging.js]
B -->|future| O[ml-handlers.js]
```

### [Changelog](docs/CHANGELOG.md)

- Current "stable" version from "present" is v0.4.7, the link above logs the history and details past milestones achieved.
- Current "future" version in development starts from v0.6

### [FAQ](docs/FAQ.md)

- Follow the link for list of the Frecuently Asqued Questions.

### [License](docs/LICENSE.md)

- GPL-3.0 license details

### [FAQ](docs/FAQ.md)
Peace
Love
Union
Respect


- Follow the link for list of the Frecuently Asqued Questions.
Loading