A minimal Flutter app that measures ambient noise through the device microphone, color-codes custom thresholds, aggregates min/mean/max levels per interval, and exports a CSV summary. Supports Android and iOS (building for iOS still requires macOS/Xcode).
- Live decibel reading with bright color feedback that latches for 10 seconds after each threshold breach
- Real-time interval chart that matches the recording length (30 s default), pans continuously, shades the caution/danger bands, and overlays mean/max guide lines
- Adjustable recording interval (15 seconds to 5 minutes, default 30 s) from the Options screen, plus live min/mean/max stats for every interval
- Adjustable yellow/red thresholds with an in-app guidance table and palette selector (normal vs. high-contrast)
- Spreadsheet-style interval history card with built-in export button
- Options screen with a “keep screen awake” toggle (enabled by default) to prevent the display from sleeping, plus palette and interval settings that persist between launches
- Record, Pause, Export (CSV share sheet), About with GitHub/support links
- Install Flutter 3.38+ and add it to your
PATHor run it explicitly (e.g./mnt/vol1/var/flutter/bin/flutter). - Android: enable Developer Options → USB debugging on your phone (Settings → About phone → tap Build number 7× → System → Developer options).
- iOS: use Xcode on macOS, add a signing team, and trust the developer profile on-device.
- Connect the phone via USB and accept the fingerprint prompt.
- From the project root run:
/mnt/vol1/var/flutter/bin/flutter devices /mnt/vol1/var/flutter/bin/flutter run
- The build can take a few minutes the first time. Keep the terminal open—press
qto stop the app.
- Open
ios/Runner.xcworkspacein Xcode on macOS. - Set your Development Team under Runner → Signing & Capabilities.
- Plug in the iPhone, select it from the Run target picker, then press
▶️ .
Follow these steps after the app installs:
-
Launch & permissions
- Tap
Record. - Accept the microphone permission prompt. If denied, go to device Settings → App → Permissions → enable Microphone, then retry
Record.
- Tap
-
Live reading
- Speak or play music; confirm the large decibel number changes.
- Watch the color band: green (calm) should change to orange/red as levels rise.
-
Interval storage
- Leave the app recording for at least one full interval (default 1 minute; adjust via Options → Recording interval slider if you want a quicker test).
- After the interval completes, ensure a new entry appears under “Recorded intervals” showing min/mean/max.
-
Pause & resume
- Tap
Pause; the live number should freeze and the Record button becomes active again. - Tap
Recordto resume and verify readings continue.
- Tap
-
Export CSV
- Once you have at least one interval, tap
Export. - Choose a target (e.g., Gmail, Drive). The attachment named
sound_history.csvshould include timestamp, min, mean, and max columns.
- Once you have at least one interval, tap
-
About dialog
- Tap
Aboutand confirm the informational dialog appears; dismiss it to return.
- Tap
- Use shorter intervals (slider) while testing so entries appear faster.
- If audio capture stops unexpectedly, the banner at the top will guide you to restart.
- Clearing the app’s data (Settings → Apps) resets stored intervals.