| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Street-level noise measurements from 655 locations across Delhi.
We recorded sound meter readings while walking and riding Delhi streets over 20+ days in April-May 2026.
Summary (GoPro continuous + Rider spot measurements):
| Noise Level | GoPro (% of Time) | Rider (% of Stops) | Reference |
|---|---|---|---|
| ≥70 dB | 52% | 82% | Louder than normal conversation |
| ≥80 dB | 11% | 52% | Hearing damage risk with prolonged exposure |
| ≥85 dB | 4.3% | 38% | NIOSH 8-hour occupational limit |
| ≥91 dB | 1.4% | 25% | NIOSH 2-hour limit |
How does Delhi compare to urban traffic noise elsewhere? At traffic stops and jams, you're largely hearing engine idling and slow-moving vehicles - conditions that should produce similar noise levels across cities.
| Location | Average dB | Peak Range | Source |
|---|---|---|---|
| Delhi (this study) | 70 dB (GoPro mean) | 49-128 dB | Continuous measurement |
| NYC streets | 73.4 dBA | 56-95 dB | Neitzel et al. 2011 |
| NYC high traffic | 77.2 dBA | - | Same study |
| Manhattan | 74.6 dBA | - | Same study |
| US busy urban street | 70-80 dB | - | CODOT |
| EU road traffic (67M exposed) | >55 dB Lden | - | EEA 2024 |
Key finding: Delhi's average street noise (~70 dB) is comparable to NYC and other busy urban environments. However, Delhi shows more extreme peaks - 38% of rider stops recorded ≥85 dB, and 25% exceeded 91 dB. This suggests Delhi's noise problem is less about average levels and more about frequent high-intensity spikes (horns, engines revving).
| Road Type | N | Mean Max dB | % ≥85 dB |
|---|---|---|---|
| Trunk (major highway) | 21 | 99.5 | 71% |
| Primary | 30 | 94.7 | 70% |
| Secondary | 65 | 92.3 | 65% |
| Tertiary | 110 | 84.7 | 36% |
| Residential | 194 | 77.3 | 18% |
Most locations experience brief spikes above safe levels, but sustained harmful exposure is rare.
GoPro analysis (output/analysis/figs/):
Rider analysis (output/rider/analysis/figs/):
Comparison (output/comparison/figs/):
| File | Description |
|---|---|
| output/readings/*.json | GoPro OCR'd decibel readings with GPS |
| output/rider/readings.json | Rider spot measurements with road type metadata |
| output/analysis/delhi_gopro_data.parquet | GoPro readings as DataFrame |
| output/rider/analysis/delhi_rider_data.parquet | Rider data with road type |
| output/comparison/delhi_compare_matched.parquet | GoPro-Rider location matches |
| output/*/tabs/delhi_*.tex | LaTeX tables |
Raw GoPro recordings with embedded GPS telemetry:
| Archive | Size | Videos |
|---|---|---|
| delhi_04_30_2026.tar.gz | 1.9 GB | 8 |
| delhi_05_01_2026.tar.gz | 618 MB | 4 |
| delhi_05_03_2026.tar.gz | 2.0 GB | 18 |
| delhi_05_04_2026.tar.gz | 2.0 GB | 20 |
| delhi_05_05_2026.tar.gz | 2.0 GB | 22 |
| delhi_05_06_2026.tar.gz | 2.0 GB | 24 |
| delhi_05_07_2026.tar.gz | 416 MB | 3 |
| delhi_05_08_2026.tar.gz | 1.9 GB | 22 |
| delhi_05_09_2026.tar.gz | 1.9 GB | 24 |
| delhi_05_13_2026.tar.gz | 1.6 GB | 27 |
| delhi_05_14_2026.tar.gz | 1.9 GB | 17 |
| Total | 18 GB | 192 |
git clone https://github.com/soodoku/soundscape
cd soundscape
uv sync
uv pip install -e ".[maps]"# Generate figures and tables from existing readings
uv run soundscape analyze --readings output/readings/delhi_full_12728_3-flash-preview_20260523_190001.json
# Open interactive map
open output/analysis/figs/fig1_map_locations.htmlIf you download the raw videos from Dataverse:
# Extract frames, GPS, metadata
uv run soundscape extract-frames --input data/delhi
uv run soundscape extract-gps --input data/delhi
uv run soundscape extract-exif --input data/delhi
uv run soundscape downsample
uv run soundscape build-manifest
# OCR the sound meter readings
export GOOGLE_API_KEY=your_key
uv run soundscape ocr-readings --model gemini-2.5-flash
# Generate analysis
uv run soundscape analyze --readings output/readings/readings.json| Command | Description |
|---|---|
| extract-frames | Extract JPEG frames from video |
| downsample | Resize frames to 720p |
| extract-exif | Extract video metadata |
| extract-gps | Extract GPS from GoPro telemetry |
| build-manifest | Combine metadata into manifest.json |
| ocr-readings | OCR sound meter values |
| viewer | Generate HTML viewer for QC |
| analyze | Generate GoPro analysis tables and figures |
| analyze-rider | Generate rider data analysis with road type breakdown |
| compare-locations | Compare rider and GoPro locations for overlap |
| create-archives | Create tar.gz for Dataverse |
For data collected via the rider route tool, conversion scripts are in that repo:
cd ../missing-women-rider-route-tool
# Sound data -> soundscape
python3 export_sound.py \
--manifest exports/2026-05-24/manifest.json \
--output ../soundscape/output/rider \
--geocode
# Pollution data -> streetaqi
python3 export_pollution.py \
--manifest exports/2026-05-24/manifest.json \
--output ../streetaqi/data/rider \
--city delhi \
--geocode# Generate rider-specific analysis (by road type, traffic conditions)
uv run soundscape analyze-rider --readings output/rider/readings.json
# Compare rider and GoPro locations for spatial overlap
uv run soundscape compare-locations \
--rider output/rider/readings.json \
--gopro "output/readings/delhi_full_*.json"MIT
| Back | FazBrowse Home | New Git URL |