Skip to content

Repository files navigation

SonicScope 音频分析仪

一款面向 Android 的实时音频分析工具:展示麦克风输入的频谱、自相关函数、基频、周期与音高,并以响度-时间曲线记录实时收音与录音过程。

功能特性

  • 实时频谱:FFT + Hann 窗,对数频率轴(40 Hz – 16 kHz),幅度以 dB 显示。
  • 自相关图 R(Δt):归一化自相关(Δt 0–20 ms),Δt=0 恒为 1,周期性声音在基频周期整数倍处出现峰。
  • 基频 / 周期 / 音高:YIN 基频检测,十二平均律音高(如 A4、C#5)及音分偏差;置信度低时显示 --。
  • 响度-时间曲线:横轴时间、纵轴响度(dBFS),定位指针始终水平居中,曲线在其下滚动;实时为绿色、录音为红色,转换点时间归零。
  • 录音与回放:内存中保留最近一次录音;回放时可在曲线上拖动(scrub)调整播放位置。
  • 收音设备选择:内置 / 外置(USB、蓝牙等)麦克风。
  • 可配置采样率与刷新速度:采样率 8 / 16 / 44.1 / 48 kHz;刷新速度 慢 / 正常 / 快。

系统要求

  • minSdk 24(Android 7.0),targetSdk / compileSdk 35(Android 15)。
  • 需要录音权限 RECORD_AUDIO。

构建

使用 Gradle 构建 debug APK:

./gradlew assembleDebug
# 产物:app/build/outputs/apk/debug/app-debug.apk

构建签名 release 需要提供 keystore.properties 与签名密钥库(默认不入库):

./gradlew assembleRelease

下载

最新 APK 见 Releases。Release 页面由 GitHub Actions 在推送 v* 标签时自动构建发布。

技术说明

  • 全自研 DSP:FFT、YIN 基频检测、归一化自相关,无第三方音频库。
  • 响度采用 dBFS(手机麦克风未经校准,不测量绝对声压级 SPL)。

许可

本项目仅供学习与个人使用。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages