|
|
||
|---|---|---|
| .. | ||
| android | ||
| lib | ||
| test | ||
| web | ||
| .gitignore | ||
| .metadata | ||
| README.md | ||
| analysis_options.yaml | ||
| devtools_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
README.md
ConfiVoice Mobile
Flutter Android client untuk aplikasi ConfiVoice.
Mobile app ini tidak menyimpan dataset atau model. Audio dipilih dari perangkat Android, lalu dikirim ke API prediksi. API tetap bertugas membaca model dari:
../ml/models/svm_voice_confidence_model.joblib
Audio bisa berasal dari file yang dipilih dari perangkat atau dari fitur rekam suara langsung di halaman Prediksi. Rekaman disimpan sementara sebagai WAV mono 22050 Hz di storage aplikasi.
Menjalankan di Emulator
Jalankan API dari folder cv_app:
cd ml
uvicorn api_app:app --host 0.0.0.0 --port 8000
Lalu jalankan mobile app:
cd cv_app/mobile_app
flutter pub get
flutter run
Default endpoint di aplikasi:
http://10.0.2.2:8000/predict
10.0.2.2 adalah alamat khusus emulator Android untuk mengakses localhost komputer. Alamat ini tidak bisa dipakai dari HP fisik.
Saat prediksi, isi Nama siswa/i di halaman Prediksi. Nama dan hasil analisis
akan disimpan oleh API ke database SQLite:
cv_web/data/confivoice.db
Admin dapat melihat hasil dari browser:
http://localhost:8001/admin
Menjalankan di HP Fisik
Ganti endpoint pada menu Model menjadi alamat IP komputer yang menjalankan API, misalnya:
http://192.168.1.6:8000/predict
Pastikan HP dan komputer berada di jaringan yang sama.
Build APK
cd cv_app/mobile_app
flutter build apk --release
Output APK biasanya berada di:
build/app/outputs/flutter-apk/app-release.apk
Format Response API
Aplikasi mengharapkan JSON:
{
"label": "PD",
"description": "Percaya Diri",
"confidence": 0.76,
"probabilities": {
"PD": 0.76,
"TPD": 0.24
}
}