Open Ramkrishna-egov opened 5 months ago
Research and Development on Digit Component:
Explored the digit_components
package to understand its functionality and how it can be leveraged for form fields.
Identified the key components that could be integrated with voice commands.
Library Exploration:
Investigated libraries such as speech_to_text
and flutter_tts
for integrating voice commands.
Evaluated the pros and cons of different libraries to determine the best fit for the project.
UI Components for Voice Commands: Created basic UI components to handle voice commands and form submission. Developed initial prototypes to test the integration of voice commands with form fields.
Voice Integration on Dummy UI: Implemented basic voice integration on a dummy UI to test the feasibility. Ensured the app can listen for voice commands and update the UI accordingly.
TalkBack Feature Exploration:
Experimented with TalkBack as an alternative to text-to-speech for providing audio feedback to users.
Compared the user experience and effectiveness between TalkBack and flutter_tts
.
Semantic Widget Integration: Integrated semantic widgets to improve accessibility and provide better screen reader support. Ensured that the app is accessible to users with visual impairments.
Flutter TTS and Speech-to-Text Integration:
Successfully integrated flutter_tts
and speech_to_text
packages into the project.
Implemented voice command functionality to fill form fields.
DigitTextField from Digit Components:
Incorporated DigitTextField
from the digit_components
package to manage form fields.
Created UI components to handle voice commands and form submission.
Form Validation and Snack Bar Notifications: Implemented form validation to ensure user input meets required criteria. Provided user feedback through a snackbar notification upon successful form submission.
Reactive Text Form Field:
Used the Reactive Text Form field in code along with form control.
Transitioned DigitTextField
to DigitTextFormField
.
Digit Components with Voice Commands:
Added more Digit Components enabled with voice commands such as DigitReactiveDropDown
.
Flutter Material 3 Widget Implementation:
Implemented voice command functionality on Flutter Material 3 widgets.
Transitioned this functionality to DigitReactiveDropDown
.
Voice Command in Digit Component (DigitCheckBoxTile):
Added voice command functionality to DigitCheckBoxTile
(reactive checkbox).
Used "agreed" as a keyword to mark the tick in the checkbox.
Tested Multiple Open Source Model Tested multiple open-source models for speech recognition and benchmarked them accordingly GitHub Repo of benchmark of the models : https://github.com/EuclidStellar/Model-Bechmarks-for-stt
Documented the Complete Research on the Model Notion link of Documentation : https://www.notion.so/LLM-for-speech-recognisition-08eec4116c01495c94cd6ec612eafbac
[x] Research and Choose the Best LLM Model Compare Different LLM Models:
Evaluate models like OpenAI's GPT-4, GPT-3.5, and other alternatives.
Consider Factors:
Look at accuracy, response time, cost, ease of integration, and available features.
Select the Best Model:
Choose the model that best fits your needs based on the evaluation.
[x] Documentation on the finalized approach.
[x] Create an analysis of Research in a summarized manner
[x] Make PPT to showcase the work to the technical council
[x] Add a dummy apk of current version using speech_to_text in PPT
Model Benchmarking research repo of Google Colab : https://github.com/EuclidStellar/Model-Bechmarks-for-stt
Description
In light of the digital transformation of public services, this project endeavours to create a UI component tailored for Flutter applications. The main objective is to address the challenge faced by many citizens in completing digital forms by developing a voice-based form-filling solution. This component, when integrated into a Flutter form, will automatically extract existing form elements and conversationally engage users to facilitate form completion. By offering a generic voice-based form-filling capability, the project aims to significantly enhance the user experience of Flutter-based apps. Given the increasing popularity of Flutter for building mobile applications used by citizens and frontline workers, such innovation has the potential to streamline interactions with digital services and improve accessibility for all users.
Goals
Design and develop a voice-based form-filling component specifically tailored for Flutter applications on DIGIT. Create a conversational interface that engages users to facilitate form completion using voice commands. The interface should allow the user to hear as well as see the voice prompts and recorded responses.
Expected Outcome
Acceptance Criteria
Voice-Based Form-Filling Component Development:
Conversational Interface:
Form Element Extraction and Dynamic Prompt Generation:
User Interface Design:
Backend Speech Processing Service:
Integration with NLP Service:
Thorough Testing and Debugging:
Frontend Optimization:
Out of Scope:
Implementation Details
Mockups / Wireframes
Product Name DIGIT
Project Name Voice-Based Form Filling Component for Flutter
Organization Name: eGovernments Foundation
Domain Public Services
Tech Skills Needed: Flutter, Java Spring Boot
Mentor(s) Ramkrishna Sahoo
Complexity High
Category Feature
Sub Category API, Frontend, Backend, LLM