How jbl2023-2879-91296-cpu/karaok works
KaraOK is a Flutter client and Flask API for assessing karaoke recordings, presenting saved results, and recommending amplifier adjustments. The principal workflow is record or upload → authenticate when needed → analyze and score five audio features → view reports and save history. Separate branches cover account and profile management, settings recommendations, and the local Admin Console’s policy-controlled data administration. The tree and excerpts support the backend route and service boundaries; frontend internals and several report/storage implementations were not sampled, so their links are limited to documented capabilities.
Main entry points: application.py Flask composition · pipeline.py Upload pipeline · assessments/routes.py Assessment routes · settings_recommendations/routes.py Recommendation routes
Components 24
Client experience
- Flutter app
frontend
API and assessment
- Flask composition
backend/karaok/application.py - Account routes
backend/karaok/modules/auth/routes.py - Account services
backend/karaok/auth/accounts.py - Audio routes
backend/karaok/modules/audio_analysis/routes.py - Upload pipeline
backend/karaok/audio_pipeline/pipeline.py - Analyzer execution
backend/karaok/audio_pipeline/execution.py - Audio analyzer
backend/audio_analyzer.py - Quality scoring
backend/audio_thresholds/scoring.py
Results and settings
- Assessment routes
backend/karaok/modules/assessments/routes.py - Assessment results
backend/karaok/results/assessments.py - Visual reports
backend/karaok/results/visualizations.py - Settings recommendations
backend/karaok/audio_pipeline/recommendations.py - Recommendation engine
backend/settings_recommendations/engine.py - Recommendation routes
backend/karaok/modules/settings_recommendations/routes.py - Saved profiles
backend/karaok/results/profiles.py
Administration
- Admin Console
admin/public/index.php - Admin API client
admin/app/Api/AdminApiClient.php - Data administration API
backend/karaok/modules/admin_data/routes.py - Data administration
backend/karaok/admin/data/service.py
Other components
- KaraOK user
- Console operator
- MySQL
- Reference recordings
Connections 26
- KaraOK user → Flutter app: uses
- Flutter app → Flask composition: API requests
- Flask composition → Account routes: registers
- Flask composition → Audio routes: registers
- Flask composition → Assessment routes: registers
- Flask composition → Recommendation routes: registers
- Account routes → Account services: dispatches
- Audio routes → Upload pipeline: dispatches
- Upload pipeline → Analyzer execution: runs
- Analyzer execution → Audio analyzer: executes
- Upload pipeline → Quality scoring: scores
- Upload pipeline → Settings recommendations: builds
- Settings recommendations → Recommendation engine: generates
- Assessment routes → Assessment results: dispatches
- Assessment routes → Visual reports: dispatches
- Recommendation routes → Saved profiles: dispatches
- Recommendation routes → Settings recommendations: loads
- Upload pipeline → MySQL: saves assessments
- Assessment results → MySQL: reads history
- Visual reports → MySQL: reads report data
- Quality scoring → Reference recordings: uses reference
- Console operator → Admin Console: uses
- Admin Console → Admin API client: calls
- Admin API client → Data administration API: API requests
- Data administration API → Data administration: dispatches
- Data administration → MySQL: reads and writes