How girishchinchpure/bhashasetu works
BhashaSetu is an offline-first Android teaching assistant for Hindi-to-Ho classroom use. Teachers choose a feature from Home: text translation can be spoken aloud, speech workflows capture audio and provide translated output, and lesson-plan or worksheet flows prepare teaching materials for export. TranslationPipeline coordinates translation and the documented cache-first flow; Room also stores correction logs. The README documents several model and sync upgrades as future work, not implemented product components. Some activity-to-engine links rely on the SOURCE INDEX or README because excerpts omit their call sites.
Main entry points: HomeActivity.java Home and routing · VoiceToVoiceActivity.java Live voice · TranslationPipeline.java Translation pipeline · TextToSpeechActivity.java Text translation
Components 20
Teacher app
- Home and routing
app/src/main/java/com/bhashasetu/app/ui/HomeActivity.java - Text translation
app/src/main/java/com/bhashasetu/app/ui/TextToSpeechActivity.java - Speech to text
app/src/main/java/com/bhashasetu/app/ui/SpeechToTextActivity.java - Live voice
app/src/main/java/com/bhashasetu/app/ui/VoiceToVoiceActivity.java - Lesson plans
app/src/main/java/com/bhashasetu/app/ui/LessonPlanActivity.java - Worksheet builder
app/src/main/java/com/bhashasetu/app/ui/WorksheetGenerationActivity.java
Speech features
- Speech recognition
app/src/main/java/com/bhashasetu/app/engine/ASREngine.java - Speech playback
app/src/main/java/com/bhashasetu/app/engine/TTSEngine.java - Indic transliteration
app/src/main/java/com/bhashasetu/app/engine/IndicXlitEngine.java
Translation core
- Translation pipeline
app/src/main/java/com/bhashasetu/app/engine/TranslationPipeline.java - NMT engine
app/src/main/java/com/bhashasetu/app/engine/NMTEngine.java
Teaching materials
- Lesson generator
app/src/main/java/com/bhashasetu/app/curriculum/LessonPlanGenerator.java - Material translation
app/src/main/java/com/bhashasetu/app/engine/MaterialTranslator.java - PDF materials
app/src/main/java/com/bhashasetu/app/engine/PdfMaterialGenerator.java - BhashaSetu API
app/src/main/java/com/bhashasetu/app/network/BhashaSetuApi.java
Offline data
- Room database
app/src/main/java/com/bhashasetu/app/database/AppDatabase.java - Translation cache
app/src/main/java/com/bhashasetu/app/database/TranslationCacheEntity.java - Correction log
app/src/main/java/com/bhashasetu/app/database/CorrectionLogEntity.java - Correction logger
app/src/main/java/com/bhashasetu/app/engine/CorrectionLogger.java
Other components
- Teacher
Connections 27
- Teacher → Home and routing: opens
README.md - Home and routing → Text translation: opens
app/src/main/java/com/bhashasetu/app/ui/HomeActivity.java - Home and routing → Live voice: opens
app/src/main/java/com/bhashasetu/app/ui/HomeActivity.java - Home and routing → Worksheet builder: opens
app/src/main/java/com/bhashasetu/app/ui/HomeActivity.java - Home and routing → Lesson plans: offers
README.md - Home and routing → Room database: reads counts
app/src/main/java/com/bhashasetu/app/ui/HomeActivity.java - Text translation → Translation pipeline: translates with
app/src/main/java/com/bhashasetu/app/ui/TextToSpeechActivity.java - Text translation → Speech playback: speaks with
app/src/main/java/com/bhashasetu/app/ui/TextToSpeechActivity.java - Text translation → Correction logger: logs feedback
app/src/main/java/com/bhashasetu/app/ui/TextToSpeechActivity.java - Speech to text → Speech recognition: recognizes speech
app/src/main/java/com/bhashasetu/app/ui/SpeechToTextActivity.java - Speech to text → Translation pipeline: translates with
app/src/main/java/com/bhashasetu/app/ui/SpeechToTextActivity.java - Speech to text → Speech playback: speaks with
app/src/main/java/com/bhashasetu/app/ui/SpeechToTextActivity.java - Live voice → Speech recognition: recognizes speech
app/src/main/java/com/bhashasetu/app/ui/VoiceToVoiceActivity.java - Live voice → Indic transliteration: transliterates with
app/src/main/java/com/bhashasetu/app/ui/VoiceToVoiceActivity.java - Live voice → Translation pipeline: translates with
app/src/main/java/com/bhashasetu/app/ui/VoiceToVoiceActivity.java - Live voice → Speech playback: speaks with
app/src/main/java/com/bhashasetu/app/ui/VoiceToVoiceActivity.java - Lesson plans → Lesson generator: generates with
app/src/main/java/com/bhashasetu/app/ui/LessonPlanActivity.java - Lesson generator → NMT engine: translates with
app/src/main/java/com/bhashasetu/app/curriculum/LessonPlanGenerator.java - Worksheet builder → Material translation: uses
app/src/main/java/com/bhashasetu/app/ui/WorksheetGenerationActivity.java - Worksheet builder → PDF materials: exports with
app/src/main/java/com/bhashasetu/app/ui/WorksheetGenerationActivity.java - Worksheet builder → BhashaSetu API: requests
app/src/main/java/com/bhashasetu/app/ui/WorksheetGenerationActivity.java - Translation pipeline → NMT engine: runs inference
app/src/main/java/com/bhashasetu/app/engine/TranslationPipeline.java - Translation pipeline → Translation cache: reads and writes
README.md - Room database → Translation cache: defines
app/src/main/java/com/bhashasetu/app/database/AppDatabase.java - Room database → Correction log: defines
app/src/main/java/com/bhashasetu/app/database/AppDatabase.java - Correction logger → Room database: uses
app/src/main/java/com/bhashasetu/app/engine/CorrectionLogger.java - Correction logger → Correction log: records
app/src/main/java/com/bhashasetu/app/engine/CorrectionLogger.java