完全离线的 Android 原生 Kotlin 应用,用于日常听力训练、歌曲转录和五度圈练习。听力训练对齐 JustinGuitar Ear Training Grade 1–4 课程结构。
- Grade 1:完全音程(纯五度 → 纯四度 → 纯八度)
- Grade 2:大音程(大二度、大三度)+ 声乐辅助
- Grade 3:小音程(小三度、小二度)+ 内心指板
- Grade 4:七和弦辨听(CQR / SSR / CPR)+ 全音程
- Play What You Hear:Justin 核心练习 — 听到旋律,判断移动方向和距离
- 分级测试:每级 20 题、75% 通过线、自动解锁下一级
- 原创拨弦 PCM 合成,无第三方课程音频
- 本地音频导入(SAF)、保持音高变速(0.5×–1.25×)
- AB 循环、波形显示、时间标记(段落/和弦/旋律/节奏/笔记)
- ±5 秒快进快退
- 双层可交互五度圈(外圈大调、内圈小调)
- 调号、音阶、调内和弦、常用进行
- 四类测验:相邻调、关系调、调号、调内和弦
- 每日练习计划(基于当前 Grade 自适应)
- 连续练习天数、7/30 天统计
- 听力等级进度追踪(Grade 1–4 测试历史)
- 完全离线:无账号、广告、后端或网络权限
.\gradlew.bat :app:assembleDebug :app:testDebugUnitTest :app:lintDebug --no-daemon --max-workers=1Debug APK 输出:app/build/outputs/apk/debug/app-debug.apk。
设备测试需要 Android 8.0(API 26)或更高版本:
.\gradlew.bat :app:connectedDebugAndroidTest --no-daemon --max-workers=1- Kotlin、Jetpack Compose、Material 3、Navigation Compose
- Room(本地数据库)、DataStore(设置)
- Media3 ExoPlayer(音频播放)
- 原创 PluckedStringSynth(拨弦 PCM 合成 + AudioTrack)
- JDK 17、minSdk 26、compileSdk/targetSdk 36