voiceBank Authentication System - Making banking accessible to everyone through voice-enabled technology! ๐๏ธ๐ฐ
A revolutionary voice-powered banking solution designed for illiterate and less tech-savvy users, promoting financial inclusion and accessibility.
voiceBank is an innovative voice-based banking assistant that eliminates the barriers of traditional banking interfaces. Users can perform essential banking operations through simple voice commands, making financial services accessible to everyone regardless of literacy level or technical expertise.
- Voice Control: Hands-free banking operations using speech recognition
- Text-to-Speech: Audio responses for complete accessibility
- Intent Recognition: Intelligent understanding of user requests
- Dummy Banking Data: Safe testing environment with realistic scenarios
- Multi-language Support: Configurable for different languages
- Responsive Design: Works on mobile and desktop devices
-
Account Balance Check
- "What is my account balance?"
- "How much money do I have?"
-
Fund Transfer Information
- "How much can I transfer today?"
- "Money transfer limits"
-
Loan Information
- "Tell me about my loans"
- "What are my EMIs?"
-
Transaction History
- "Show my recent transactions"
- "Last few transactions"
-
Help & Guidance
- "What can you help me with?"
- "Show available options"
online_banking/
โ
โโโ app.py # Flask backend server
โโโ requirements.txt # Python dependencies
โโโ README.md # Project documentation
โ
โโโ templates/
โ โโโ index.html # Main frontend interface
โ
โโโ static/ # (Optional) Additional assets
- Python 3.8+
- Flask - Web framework
- SpeechRecognition - Speech-to-text processing
- pyttsx3 - Text-to-speech engine
- HTML5 - Structure and semantic markup
- CSS3 - Modern styling and animations
- JavaScript - Client-side speech processing
- Web Speech API - Browser-native speech recognition
- Python 3.8 or higher
- Microphone access
- Modern web browser (Chrome, Firefox, Edge)
-
Clone or Download the Project
# If using git git clone <repository-url> cd online_banking # Or simply navigate to the project folder cd path/to/online_banking
-
Create Virtual Environment (Recommended)
# Windows python -m venv venv venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install Dependencies
pip install -r requirements.txt
-
Run the Application
python app.py
-
Access the Application
- Open your browser
- Navigate to
http://localhost:5000 - Allow microphone access when prompted
- Click the Microphone Button - Large circular button in the center
- Speak Your Request - Use natural language
- Listen to Response - System will speak back the information
- View on Screen - Text response appears for reference
- "Check my account balance"
- "How much money can I transfer today?"
- "Tell me about my personal loan"
- "Show my recent transactions"
- "What banking services do you offer?"
- Flask Routes:
/(main page),/process_speech(API endpoint). The/process_speechendpoint now accepts alanguagefield (e.g.'te'or'te-IN'for Telugu) and performs simple Telugu-to-English normalization so that commands spoken in Telugu are understood. It also returns responses already localized into Telugu when the language flag indicates Telugu. - Intent Recognition: Keyword-based classification system
- Data Processing: Functions for each banking operation
- Dummy Data: Realistic banking information for testing
- Speech Recognition: Web Speech API integration
Installing a Telugu TTS voice:
- Windows: Settings โ Time & Language โ Speech โ Manage voices โ Add voices โ select "Telugu (India)".
- macOS: System Settings โ Accessibility โ Spoken Content โ System Voice โ Customiseโฆ โ tick a Telugu voice such as Lekha or Rishi, then download.
- Linux: install a Telugu pack for your TTS engine (e.g.
sudo apt install espeak-ng-dataand verify withespeak-ng --voices | grep te).
Reload the page and check speechSynthesis.getVoices() in the dev console to confirm the voice appears.
- Text-to-Speech Improvements:
utterance.langis now set and voices selected by language so Telugu responses use an appropriate voice when available. If your browser has no Telugu voices installed, the assistant will fall back to the default voice and will sound English โ you can add a voice via your OS settings (see below). - Voice Interface: Large accessible microphone button
- Visual Feedback: Status indicators and animations
- Error Handling: User-friendly error messages
- Responsive Design: Mobile-first approach
Backend Functions:
recognize_intent(text)- Classifies user requestsprocess_balance_check()- Handles balance inquiriesprocess_fund_transfer()- Manages transfer informationprocess_loan_info()- Provides loan detailsprocess_transaction_history()- Shows transaction data
Frontend Functions:
startListening()- Initiates speech recognitionsendToServer()- Communicates with backendspeakResponse()- Text-to-speech outputupdateUI()- Manages interface states
- Start the server:
python app.py - Open browser to
http://localhost:5000 - Test various voice commands:
- Balance inquiries
- Transfer limit questions
- Loan information requests
- Transaction history queries
- โ "What is my account balance?"
- โ "How much can I transfer today?"
- โ "Tell me about my loans"
- โ "Show recent transactions"
- โ "What can you help me with?"
- Financial Inclusion: Accessible to illiterate populations
- Digital Literacy: No technical skills required
- Independence: Users can bank without assistance
- Confidence Building: Encourages financial participation
- Cost Effective: Reduces need for human banking assistants
- โ Voice-only interface
- โ Large touch targets
- โ High contrast design
- โ Audio feedback
- โ Simple language responses
- โ Error recovery guidance
Traditional banking interfaces create barriers for:
- Illiterate populations
- Elderly users
- Technologically challenged individuals
- Visually impaired users
voiceBank addresses these challenges through:
- Voice-first design eliminating text barriers
- Intuitive intent recognition understanding natural language
- Audio responses providing complete accessibility
- Dummy data environment safe for learning and testing
- Modern Web APIs leveraging browser capabilities
- Python Flask backend for robust processing
- Real-time speech processing with low latency
- Scalable architecture ready for production
- Financial inclusion for underserved populations
- Digital empowerment without literacy requirements
- Banking democratization making services accessible to all
- Economic participation enabling financial independence
- Multi-language support (Hindi, Tamil, Telugu, etc.)
- Integration with real banking APIs
- Mobile app development
- Offline voice recognition capabilities
- Enhanced security features
Microphone Not Working:
- Check browser permissions
- Ensure microphone is connected
- Try refreshing the page
Speech Not Recognized:
- Speak clearly and at normal pace
- Use simple, direct language
- Ensure quiet environment
Server Connection Errors:
- Verify Flask server is running
- Check if port 5000 is available
- Confirm no firewall blocking
- Best: Google Chrome (recommended)
- Good: Microsoft Edge, Firefox
- Limited: Safari (some speech features)
This project is developed for educational and demonstration purposes. Feel free to modify and extend for your specific needs.
Special thanks to:
- Web Speech API for browser-native voice capabilities
- Flask community for excellent documentation
- Open source speech recognition libraries
- Financial inclusion advocates inspiring this work
voiceBank - Making banking accessible to everyone, one voice at a time. ๐๏ธ๐ฐ
531f28bdaf8bfef0911c13ff2f31c60bc6b3a15e