01Contexte et problème
Transformer un livre en audiobook implique souvent d'envoyer un contenu privé, d'attendre la génération complète et de perdre le contrôle des voix, chapitres et corrections. Whisperbook conserve import, attribution, synthèse, lecture et export sur l'appareil.
02Responsabilité et contribution
Chakib a conçu et réalisé le produit Android de bout en bout : import et extraction, préparation des chapitres, attribution explicable des locuteurs, casting local, synthèse progressive Supertonic 3, lecture Media3, suivi synchronisé et export MP3 hors ligne.
Responsabilités
- Création des interfaces Kotlin/Compose et du système visuel Woodland Paper Theatre.
- Implémentation de l'extraction EPUB/PDF, de l'OCR embarqué et de l'état durable par livre.
- Intégration de Supertonic 3 via sherpa-onnx avec préécoute locale et casting par livre ou chapitre.
- Création de la préparation progressive, de la lecture Media3, du suivi de lecture et de l'enchaînement des chapitres.
- Ajout d'un export MP3 annulable qui réutilise l'audio finalisé et ne génère que les segments manquants.
03Architecture et flux de données
Une application Kotlin/Compose mono-module copie la publication dans un stockage privé, extrait le texte EPUB ou PDF, détecte chapitres et locuteurs, persiste la bibliothèque dans Room et prépare l'audio d'ouverture via WorkManager. Supertonic 3 génère des segments WAV locaux finalisés que Media3 lit progressivement pendant la préparation des chapitres suivants.
- EPUB ou PDF local
- Extraction privée et détection des chapitres
- Attribution des locuteurs et casting
- Synthèse progressive Supertonic 3
- Lecture Media3 et passages synchronisés
- Export MP3 hors ligne
04Décisions d’ingénierie
Supprimer tout réseau à l'exécution.
Le manifeste Android n'accorde ni INTERNET ni ACCESS_NETWORK_STATE : livres, audio et historique restent dans la frontière de l'appareil.Alternative écartée: Imposer un modèle hébergé, un compte ou un fallback cloud pour la narration.
Lire des segments locaux finalisés sans attendre le livre complet.
Le premier chapitre devient écoutable pendant la préparation séquentielle des suivants, tout en conservant cache, recherche et reprise.Alternative écartée: Bloquer la lecture jusqu'à la synthèse de tous les chapitres.
05Fiabilité, sécurité et évaluation
- Room, DataStore et WorkManager persistent la bibliothèque, les réglages et les checkpoints de préparation.
- Les microsegments WAV finalisés servent de représentation commune au cache, à la lecture et à l'export.
- Les tests JVM et Android couvrent import, synthèse, lecture, navigation, choix des voix et enchaînement des chapitres sur les interfaces Compose réelles.
06Résultats et état actuel
Version Android publique v0.1 pour appareils arm64 sous Android 8.0 ou plus. L'application importe EPUB/PDF, narre avec Supertonic 3, propose l'anglais, le français et l'arabe par livre, synchronise lecture et passages, puis exporte un MP3 local.
Groupes technologiques
Android
Kotlin, Jetpack Compose, Room, DataStore, WorkManager
Audio
Supertonic 3, sherpa-onnx, Media3, AudioTrack, FFmpegKit
Documents
EPUB, PDF, ML Kit OCR, Storage Access Framework