You are on page 1of 49

A Project Report

On

“VOICE BASED EMAIL SYSTEM FOR VISUALLY IMPAIRED”


Submitted to
JMJ COLLEGE (AUTONOMOUS) ,TENALI

In partial fulfillment for the Award of Degree Of

Bachelor of Sciences

In

Computer Science

Submitted By
J.Manasa(J18A31175)

A.Swathi(J18A31153)

CH.Sunanda(J18A31162)

J.Lavanya(J18A31207)

SK.Asma(J18A31212)

UNDER THE GUIDANCE OF

Mrs. A.REVATHI

Department of Computer Science

JESUS MARY JOSEPH COLLEGE FOR WOMEN

(Affiliated to Acharya Nagarjuna University), Tenali


DECLARATION

This is to declare that the project entitled “Voice based email system for
visually impaired”is a bonafide work carried out in the department of
computer science ,JMJ COLLEGE FOR WOMEN(Autonomous),Tenali, during
the academic year 2020-2021, in partial fulfillment for the award of the
Degree of Bachelor of Sciences in computer science.

J.Manasa (J18A31175)

A.Swathi(J18A31153)

CH.Sunanda (J18A31162)

J.Lavanya(J18A31207)

SK.Asma(J18A31212)

Place :

Date :
Department of Computer Science

JESUS MARY JOSEPH COLLEGE FOR WOMEN

(Affiliated to AcharyaNagarjuna University)

TENALI

CERTIFICATE

This is to certify that the dissertation entitled "VOICE BASED EMAIL


SYSTEM FOR VISUALLY IMPAIRED" is bonafide project work carried out
by bearing Name and Regd. No.J.Manasa(J18A31175),A.Swathi (J18A31153),
Ch.Sunanda(J18A31162),J.Lavanya(J18A31207),SK.Asma(J18A31212)worke
d under my supervision and submitted in partial fulfillment of the requirements for
the award of the degree of Bachelor of Sciences in Computer Science during the
Academic year 2020-2021.

INTERNAL HEAD OF DEPARTMENT

Mrs.A.Revathi Mrs. M.Asha Priya Darshini

EXTERNAL EXAMINER
ACKNOWLEDGMENT
Firstly I would like to convey my heartfelt thanks to Almighty for the blessings on
me to carry out this project work without any disruption.I am thankful to our principal
Dr.Sr.Shiny K.P for fostering an excellent environment in my college and helping me at all
points for achieving my task.

I am very much grateful to Mrs.A.Revathi, Lecturer and Mrs. M.Asha Priya Darshini
,Lecturer and H.O.D Department of Computer science, for their valuable guidance which
helped me to bring out this project successfully. His wise approach made me learn the
minute details of the subject. His matured and patient guidance paved the way for
completing my project with the sense of satisfaction and pleasure.

I am thankful to my project coordinator Mrs.A.Revathi, Lecturer in the Department of


Computer science for his valuable guidance which helped me to bring this project
successfully.

Finally I would like to convey my heartfelt thanks to my technical staff, for their guidance
and support in every step of this project. I convey my sincere thanks to all the faculty and
friends who directly or indirectly helped me for the successful completion of my project.

Project Associate

J.Manasa (J18A31175)

A.Swathi(J18A31153)

CH.Sunanda (J18A31162)

J.Lavanya(J18A31207)

SK.Asma(J18A31212)
ABSTRACT

The Internet is one of the basic luxuries for daily living. Every
person is using facts and information on the internet. On the other hand,
blind people face difficulty in accessing the text resources. The development
in computer based handy systems has opened up numerous opportunities for
the visually disabled across.
Audio response based virtual environment, the screen readers help blind
people a lot to use internet applications.
This project introduces the Voicemail system structural
design that can be used by a blind person to access EMails easily. The
involvement of research is helping blind individuals to send and receive
voice based mails messages in their inhabitant language with the help of a
computer.
1. INDEX
1. Introduction

2. Literature survey

3. System Analysis

4. System Requirements Specification

5. System Design

6. Implementation

7. Testing

8. Screen Shots

9. Conclusion and Future Enhancements

10. Bibilography
1. INTRODUCTION

Internet is considered as a major storehouse of information in today’s world. No single work can
be done without the help of it. It has even become one of the de facto methods used in
communication. And out of all methods available email is one of the most common forms of
communication especially in the business world. However not all people can use the internet.
This is because in order to access the internet you would need to know what is written on the
screen. If that is not visible it is of no use. This makes internet a completely useless technology
for the visually impaired and illiterate people. Even the systems that are available currently like
the screen readers TTS and ASR do not provide full efficiency to the blind people so as to use
the internet. As nearly 285 million people worldwide are estimated visually impaired it become
necessary to make internet facilities for communication usable for them also.

Therefore we have come up with this project in which we will be developing a voice based email
system which will aid the visually impaired people who are naive to computer systems to use
email facilities in a hassle free manner. The users of this system would not need to have any
basic information regarding keyboard shortcuts or where the keys are located. All functions are
based on simple mouse click operations making it very easy for any type of user to use this
system. Also the user need not worry about remembering which mouse click operation he/she
needs to perform in order to avail a given service as the system itself will be prompting them as
to which click will provide them with what operations.

1.1 Scope of the Project


For people who can see, emailing is not a big deal, but for people who are not blessed with gift of
vision it postures a key concern because of its intersection with many vocational responsibilities.
This voice based email system has great application as it is used by blind people as they can
understand where they are. E.g. whenever cursor moves to any icon on the website say Register it
will sound like “Register Button”[4].There are many screen readers available. But people had to
remember mouse clicks. This system will reduce this problem as mouse pointer would read out
where he/she lies.This system focuses more on user friendliness of all types of persons including
regular persons, visually compromised people as well as illiterate.This system makes the disabled
people feel like a normal user.They can hear the recently received mails to the Inbox, as well as
the IVR technology proves very effective for them in the terms of guidance.

B. Aim and Objective The project aims to develop a voice based email system that would help
blind people to access email in a hassle free manner with the help of a smart watch. The system
will not let the user make use of the keyboard instead will work on speech recognition.In today’s
age much of the communication takes place through internet .In order to make the visually
challenged person take the benefits of the internet we come up with our project of voice based
email system through smart watch.The smartwatch will recognize the speech and convert that into
text hence user friendly for them.It will be connected to internet via Bluetooth or wifi-hotspot or
stand alone internet connection so that the respective email can be send to the receiver.Arduino
smart-watch processor will be implemented so as to get the access of bluetooth, wifi and battery
status.

1.2 Project Objectives


This project proposes a python based application, designed specifically for visually impaired
people. This application provide a voice based mailing service where they could read and send
mail on their own, without any guidance through their g-mail accounts. Here, the users have to use
certain keywords which will perform certain actions for e.g. Read, Send, Compose Mail etc. The
VMAIL system can be used by a blind person to access mails easily and adeptly. Hence
dependence of visually challenged on other individual for their activities associated to mail can be
condensed.

The application will be a python-based application for visually challenged persons using IVR-
Interactive voice response, thus sanctioning everyone to control their mail accounts using their
voice only and to be able to read, send, and perform all the other useful tasks. The system will ask
the user with voice commands to perform certain action and the user will respond to it. The main
advantage of this system is that use of keyboard is completely eliminated , the user will have to
respond through voice only.

1.3 Module Description


SPEECH_ TO_ TEXT Converter

The system acquires speech at run time through a microphone and processes the sampled speech to
recognize the uttered text. The recognized text can be stored in a file. We are developing this on
Android platform using Eclipse workbench. Our speechto-text system directly acquires and
converts speech to text. It can supplement other larger systems, giving users a different choice for
data entry. A speech-to-text system can also improve system accessibility by providing data entry
options for blind, deaf, or physically handicapped users. Speech recognition system can be divided
into several blocks: feature extraction, acoustic models database which is built based on the
training data, dictionary, language model and the speech recognition algorithm. Analog speech
signal must first be sampled at time and amplitude axes, or digitized. Samples of the speech signal
are analyzed in even intervals. This period is usually 20 ms because the signal in this interval is
considered stationary. Speech feature extraction involves the formation of equally spaced discrete
vectors of speech characteristics. Feature vectors from training database are used to estimate the
parameters of acoustic models. The acoustic model describes properties of the basic elements that
can be recognized. The basic element can be a phoneme for continuous speech or word for isolated
words recognition.
TEXT_ TO_ SPEECH Converter

Converting text to voice output using speech synthesis techniques. Although initially used by the
blind to listen to written material, it is now used extensively to convey financial data, e-mail
messages, and other information via telephone for everyone. Text-to-speech is also used on
handheld devices such as portable GPS units to announce street names when giving directions.
Our Text-to-Speech Converter‖ accepts a string of 50 characters of text (alphabets and/or numbers)
as input. In this, we have interfaced the keyboard with the controller and defined all the alphabets
as well as digits keys on it. The speech processor has an unlimited Jayachandran .K, Anbumani .P,
International Journal of Advance Research, Ideas and Innovations in Technology. © 2017,
www.IJARIIT.com All Rights Reserved Page | 1067 dictionary and can speak out almost any text
provided at the input most of the times. Hence, it has an accuracy of above 90%. It is a
microcontroller based hardware coded in Embedded C language. Further research is to be done to
optimize various methods of inputting the text i.e. Reading the text using optical sensor and
converting it to speech so that almost all sorts of physical challenges faced by the people while
communicating are overcome.

WORD RECOGNITION

Voice recognition software (also known as speech to text software) allows an individual to use
their voice instead of typing on a keyboard. Voice recognition may be used to dictate text into the
computer or to give commands to the computer.Voice recognition software allows for a quick
method of writing onto a computer. It is also useful for people with disabilities who find it difficult
to use the keyboard. This software can also assist those who have difficulty with transferring ideas
onto paper as it helps take the focus out of the mechanics of writing. Word recognition is measured
as a matter of speed, such that a word with a high level of recognition is read faster than a novel
one. This manner of testing suggests that comprehension of the meaning of the words being read is
not required, but rather the ability to recognize them in a way that allows proper pronunciation.
Therefore, context is unimportant, and word recognition is often assessed with words presented in
isolation in formats such as flash cards Nevertheless, ease in word recognition, as in fluency,
enables proficiency that fosters comprehension of the text being read.
2.LITERATURE SURVEY

2.1 Interactive Voice Response(IVR)


Interactive voice response (IVR) is a technology that allows a computer to interact with humans
through the use of voice and DTMF tones input via a keypad. In telecommunications, IVR allows
customers to interact with a company’s host system via a telephone keypad or by speech recognition,
after which services can be inquired about through the IVR dialogue. IVR systems can respond with
pre-recorded or dynamically generated audio to further direct users on how to proceed. IVR systems
deployed in the network are sized to handle large call volumes and also used for outbound calling,
as IVR systems are more intelligent than many predictive dialer systems.

IVR systems can be used for mobile purchases, banking payments and services, retail orders,
utilities, travel information and weather conditions. A common misconception refers to an
automated attendant as an IVR. The terms are distinct and mean different things to traditional
telecommunications professionals—the purpose of an IVR is to take input, process it, and return a
result, whereas that of an automated attendant is to route calls. The term voice response unit (VRU)
is sometimes used as well. DTMF decoding and speech recognition are used to interpret the caller's
response to voice prompts. DTMF tones are entered via the telephone keypad.

Other technologies include using text-to-speech (TTS) to speak complex and dynamic information,
such as e-mails, news reports or weather information. IVR technology is also being introduced into
automobile systems for hands-free operation. TTS is computer generated synthesized speech that is
no longer the robotic voice traditionally associated with computers. Real voices create the speech in
fragments that are spliced together (concatenated) and smoothed before being played to the caller.

Another technology which can be used is using text to speech to talk advanced and dynamic data,
such as e-mails, reports and news and data about weather. IVR used in automobile systems for easy
operations too. Text To Speech is system originated synthesized speech that’s not the robotic voice
historically related to computer. Original voices produce the speech in portions that are joined
together and rounded before played to the caller.

2.2 Speech Recognition


Speech recognition is the inter-disciplinary sub-field of computational linguistics that develops
methodologies and technologies that enables the recognition and translation of spoken language into
text by computers. It is also known as "automatic speech recognition" (ASR), "computer speech
recognition", or just "speech to text" (STT). It incorporates knowledge and research in the
linguistics, computer science, and electrical engineering fields.Some speech recognition systems
require "training" (also called "enrollment") where an individual speaker reads text or isolated
vocabulary into the system. The system analyzes the person's specific voice and uses it to fine-tune
the recognition of that person's speech, resulting in increased accuracy. Systems that do not use
training are called "speaker independent" systems. Systems that use training are called "speaker
dependent".

Speech recognition applications include voice user interfaces such as voice dialing (e.g. "Call
home"), call routing (e.g. "I would like to make a collect call"), domotic appliance control, search
(e.g. find a podcast where particular words were spoken), simple data entry (e.g., entering a credit
card number), preparation of structured documents (e.g. a radiology report), speech-to-text
processing (e.g., word processors or emails), and aircraft (usually termed Direct Voice Input).

The term voice recognition or speaker identification refers to identifying the speaker, rather than
what they are saying. Recognizing the speaker can simplify the task of translating speech in systems
that have been trained on a specific person's voice or it can be used to authenticate or verify the
identity of a speaker as part of a security process.

From the technology perspective, speech recognition has a long history with several waves of major
innovations. Most recently, the field has benefited from advances in deep learning and big data. The
advances are evidenced not only by the surge of academic papers published in the field, but more
importantly by the worldwide industry adoption of a variety of deep learning methods in designing
and deploying speech recognition systems.

Speech recognition works using algorithms through acoustic and language modeling. Acoustic
modeling represents the relationship between linguistic units of speech and audio signals; language
modeling matches sounds with word sequences to help distinguish between words that sound
similar.Often, hidden Markov models are used as well to recognize temporal patterns in speech to
improve accuracy within the system.The most frequent applications of speech recognition within
the enterprise include call routing, speech-to-text processing, voice dialing and voice search.

While convenient, speech recognition technology still has a few issues to work through, as it is
continuously developed. The pros of speech recognition software are it is easy to use and readily
available. Speech recognition software is now frequently installed in computers and mobile devices,
allowing for easy access. The downside of speech recognition includes its inability to capture words
due to variations of pronunciation, its lack of support for most languages outside of English and its
inability to sort through background noise. These factors can lead to inaccuracies.

Speech recognition performance is measured by accuracy and speed. Accuracy is measured with
word error rate. WER works at the word level and identifies inaccuracies in transcription, although
it cannot identify how the error occurred. Speed is measured with the real-time factor. A variety of
factors can affect computer speech recognition performance, including pronunciation, accent, pitch,
volume and background noise.It is important to note the terms speech recognition and voice
recognition are sometimes used interchangeably.
However, the two terms mean different things. Speech recognition is used to identify words in
spoken language. Voice recognition is a biometric technology used to identify a particular
individual's voice or for speaker identification.

2.3 Speech to text Converter


The process of converting spoken speech or audio into text is called speech to text converter. The
process is usually called speech recognition. The Speech recognition is used to characterize the
broader operation of deriving content from speech which is known as speech understanding. We
often associate the process of identifying a person from their voice, that is voice recognition or
speaker recognition so it is wrong to use this term for it. As shown in the above block diagram
speech to text converters depends mostly on two models 1.Acoustic model and 2.Language model.
Systems generally use the pronunciation model. It is really imperative to learn that there is nothing
like a universal speech recognizer. If you want to get the best quality of transcription, you can
specialize the above models for the any given language communication channel. Likewise another
pattern recognition technology, speech recognition can also not be without error. Accuracy of speech
transcript deeply relies on the voice of the speaker , the characterstic of speech and the environmental
conditions. Speech recognition is a tougher method than what folks unremarkably assume, for a
personality’s being. Humans are born for understanding speech, not to transcribing it, and solely
speech that’s well developed will be transcribed unequivocally. From the user's purpose of read, a
speech to text system will be categorised based in its use.

2.4 Speech Synthesis(TTS)


Speech synthesis is the synthetic production of speech. A automatic data handing out system used
for this purpose is called as speech synthesizer, and may be enforced in software package and
hardware product. A text-to-speech (TTS) system converts language text into speech, alternative
systems render symbolic linguistic representations. Synthesized speech can be created by
concatenating pieces of recorded speech that are stored in a database. Systems differ in the size of
the stored speech units; a system that stores phones or diphones provides the largest output range,
but may lack clarity. For specific usage domains, the storage of entire words or sentences allows for
high-quality output. Alternatively, a synthesizer can incorporate a model of the vocal tract and other
human voice characteristics to create a completely "synthetic" voice output. The quality of a speech
synthesizer is judged by its similarity to the human voice and by its ability to be understood clearly.
An intelligible text to speech program permits individual with ocular wreckage or reading
disabilities to concentrate to written words on a computing device. Several computer operational
systems have enclosed speech synthesizers since the first nineteen nineties years. The text to speech
system is consist of 2 parts:-front-end and a back-end. The front-end consist of 2 major tasks. Firstly,
it disciple unprocessed text containing symbols like numbers and abstraction into the equivalent of
written out words. This method is commonly known as text, standardization, or processing. Front
end then assigns spoken transcriptions to every word, and divides and marks the text into speech
units, like phrases, clauses, and sentences. The process of assigning phonetic transcriptions to words
is called text-tophoneme or grapheme-to-phoneme conversion. Phonetic transcriptions and prosody
information together make up the symbolic linguistic representation that is output by the front-end.
The back-end—often referred to as the synthesizer—then converts the symbolic linguistic
representation into sound. In certain systems, this part includes the computation of the target prosody
(pitch contour, phoneme durations), which is then imposed on the output speech.

Text-to-speech (TTS) is a type of speech synthesis application that is used to create a spoken sound
version of the text in a computer document, such as a help file or a Web page. TTS can enable the
reading of computer display information for the visually challenged person, or may simply be used
to augment the reading of a text message. Current TTS applications include voice-enabled e-mail
and spoken prompts in voice response systems. TTS is often used with voice recognition programs.
There are numerous TTS products available, including Read Please 2000, Proverbe Speech Unit,
and Next Up Technology's TextAloud. Lucent, Elan, and AT&T each have products called “Text-
to-Speech”. In addition to TTS software, a number of vendors offer products involving hardware,
including the Quick Link Pen from WizCom Technologies, a pen-shaped device that can scan and
read words; the Road Runner from Ostrich Software, a handheld device that reads ASCII text; and
DecTalk TTS from Digital Equipment, an external hardware device that substitutes for a sound card
and which includes an internal software device that works in conjunction with the PC's own sound
card
3.SYSTEM ANALYSIS

3.1 Systems Development Life Cycle :

Systems Development Life Cycle (SDLC) adheres to important phase that are essential for
developers, such as planning, analysis, design, and implementation.

SDLC Methodology :

Although SDLC has different forms and models, it follows certain steps. These steps could
have the same name in one methodology but they are treated in a different manner or could lead to
something different. We will take a look at some of the common steps that you will find in most
methodologies in SDLC. There are SDLC models that have been created by different developers.
Some of them follow the standard steps in a model however; there are those that prefer to create
their own type of model. But whatever their model is, they should go through these stages as these
determine the outcome of the any SDLC model.
1. Planning – Everything starts with a concept. It could be a concept of someone, or everyone.
However, there are those that do not start out with a concept but with a question, “What do you
want?” they ask thousands of people in a certain community or age group to know what they want
and decide to create an answer. Establishes a high-level view of the intended project and determines
its goals.

2. Design – Once planning and arguing with the manager or the owner about the plan and somehow
convincing them, it is time to design or create a rough plan regarding the software. Developers will
work together and decide the initial specifics of the software to be created. They will decide what
platform or programming language to use, which will take care the coding of a certain part of the
software and even the time frame.

3. Implementation – The first two stages are quite common in all SDLC models. However, things
change starting on this stage. When the design and all the things that you need have been laid out, it
is time to work on the plan. Some developers, especially those that follow the standard plan of
developing software will work on the plan and present them for approval.

4. Testing – This could mean two things depending on an SDLC model. The first type of testing is
the actual testing by users. This is usually done in models wherein implementation does not go with
pre-testing with users. On the other hand, there are also testing that uses professionals in the field.
This testing is aimed in cleaning the software of all the bugs altogether. For software that are set for
public release, the software is first tested by other developers who were not in charge in creating the
software. They will weed out the bugs and suggest fixes if every they find one. Once this stage is
completed, it is time to test the software not just to the developers but to actual users

5. Acceptance – When the software is released to be used by a certain company, acceptance means
the software is implemented as an added tool or could be replacing another software that has been
found too wanting after years of use. On the other hand, when the software is implemented to the
public a new software could be an added software for use. So developers will always have a fighting
chance in the market as long as they implement good software for public use.

6. Maintenance – When the software is implemented, it does not mean that the software is good as
it is. All SDLC models include maintenance since there are absolutely no way that a software will
be working perfectly. Someone has to stay in the present software to take a look and ensure the
program works perfectly. When the software is implemented in public. Software companies either
set up a call center or an e-mail service to address the concerns of the consumer. As we have
indicated in previous chapters, Maintenance is quiet an easy task as long as the right food and
product is serve in an expected time frame. However, it is always a challenge when something goes
wrong. The whole team might not be there to help the developer so addressing a major concern
could never be answered.

These are the common steps in SDLC. Although they might have different versions, they all
end up with one thing: creating a software to make the world a better place. These six steps could
be even bigger or expanded depending on the SDLC model that has been followed by different
developers. These strategies were created by the same programmers and they sure know that
something is needed to be done to create better software.

Requirements :

This document play a vital role in the development of life cycle (SDLC) as it describes the
complete requirement of the system. It means for use by developers and will be the basic during
testing phase. Any changes made to the requirements in the future will have to go through formal
change approval process.

SPIRAL MODEL was defined by Barry Boehm in his 1988 article, “A spiral Model of
Software Development and Enhancement. This model was not the first model to discuss iterative
development, but it was the first model to explain why the iteration models.

As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase
starts with a design goal and ends with a client reviewing the progress thus far. Analysis and
engineering efforts are applied at each phase of the project, with an eye toward the end goal of the
project.

The steps for Spiral Model can be generalized as follows:


 The new system requirements are defined in as much details as possible. This usually
involves interviewing a number of users representing all the external or internal users
and other aspects of the existing system.

 A preliminary design is created for the new system.

 A first prototype of the new system is constructed from the preliminary design. This is
usually a scaled-down system, and represents an approximation of the characteristics of
the final product.

 A second prototype is evolved by a fourfold procedure:

1. Evaluating the first prototype in terms of its strengths, weakness, and risks.

2. Defining the requirements of the second prototype.

3. Planning an designing the second prototype.

4. Constructing and testing the second prototype.

 At the customer option, the entire project can be aborted if the risk is deemed too great.
Risk factors might involved development cost overruns, operating-cost miscalculation,
or any other factor that could, in the customer’s judgment, result in a less-than-
satisfactory final product.

 The existing prototype is evaluated in the same manner as was the previous prototype,
and if necessary, another prototype is developed from it according to the fourfold
procedure outlined above.

 The preceding steps are iterated until the customer is satisfied that the refined prototype
represents the final product desired.

 The final system is constructed, based on the refined prototype.

 The final system is thoroughly evaluated and tested. Routine maintenance is carried on
a continuing basis to prevent large scale failures and to minimize down time.
The following diagram shows how a spiral model acts like:

Fig 1.0-Spiral Model

Advantages :

 Estimates(i.e. budget, schedule etc .) become more relistic as work progresses, because
important issues discoved earlier.

 It is more able to cope with the changes that are software development generally entails.

 Software engineers can get their hands in and start woring on the core of a project earlier.

3.2 Existing System

There are a total number of 4.1 billion email accounts created until 2014 and an there will be
estimated 5.2 billion accounts by end of 2018.[4] this makes emails the most used form of
communication. The most common mail services that we use in our day to day life cannot be used
by visually challenged people. This is because they do not provide any facility so that the person in
front can hear out the content of the screen. As they cannot visualize what is already present on
screen they cannot make out where to click in order to perform the required operations.
For a visually challenged person using a computer for the first time is not that convenient as it is
for a normal user even though it is user friendly. Although there are many screen readers available
then also these people face some minor difficulties. Screen readers read out whatever content is
there on the screen and to perform those actions the person will have to use keyboard shortcuts as
mouse location cannot be traced by the screen readers. This means two things; one that the user
cannot make use of mouse pointer as it is completely inconvenient if the pointer location cannot be
traced and second that user should be well versed with the keyboard as to where each and every
key is located. A user is new to computer can therefore not use this service as they are not aware of
the key locations.

3.3 Proposed System

The proposed system is based on a completely novel idea and is nowhere like the existing mail
systems. The most important aspect that has been kept in mind while developing the proposed
system is accessibility. A web system is said to be perfectly accessible only if it can be used
efficiently by all types of people whether able or disable. The current systems do not provide this
accessibility. Thus the system we are developing is completely different from the current system.
Unlike current system which emphasizes more on user friendliness of normal users, our system
focuses more on user friendliness of all types of people including normal people visually impaired
people as well as illiterate people. The complete system is based on IVR- interactive voice
response.

3.4 FEASIBILITY STUDY

Preliminary investigation examine project feasibility, the likelihood the system will be
useful to the organization. The main objective of the feasibility study is to test the Technical,
Operational and Economical feasibility for adding new modules and debugging old running system.
All system is feasible if they are unlimited resources and infinite time. There are aspects in the
feasibility study portion of the preliminary investigation:

 Economical Feasibility
 Operational Feasibility
 Technical Feasibility

3.4.1 Economical Feasibility


A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical feasibility, the development cost in creating the
system is evaluated against the ultimate benefit derived from the new systems. Financial benefits
must equal or exceed the costs.

The system is economically feasible. It does not require any addition hardware or software.
Since the interface for this system is developed using the existing resources and technologies
available at NIC, There is nominal expenditure and economical feasibility for certain.

3.4.2 Operational Feasibility

Proposed projects are beneficial only if they can be turned out into information system. That
will meet the organization’s operating requirements. Operational feasibility aspects of the project
are to be taken as an important part of the project implementation. Some of the important issues
raised are to test the operational feasibility of a project includes the following: -

 Is there sufficient support for the management from the users?


 Will the system be used and work properly if it is being developed and implemented?
 Will there be any resistance from the user that will undermine the possible application benefits?
This system is targeted to be in accordance with the above-mentioned issues. Beforehand,
the management issues and user requirements have been taken into consideration. So there is no
question of resistance from the users that can undermine the possible application benefits.
The well-planned design would ensure the optimal utilization of the computer resources and would
help in the improvement of performance status.

3.4.3 Technical Feasibility

The technical issue usually raised during the feasibility stage of the investigation includes
the following:

 Does the necessary technology exist to do what is suggested?


 Do the proposed equipments have the technical capacity to hold the data required to use the new
system?
 Will the proposed system provide adequate response to inquiries, regardless of the number or
location of users?
 Can the system be upgraded if developed?
 Are there technical guarantees of accuracy, reliability, ease of access and data security?
Earlier no system existed to cater to the needs of ‘Secure Infrastructure Implementation
System’. The current system developed is technically feasible. It is a web based user interface for
audit workflow at NIC-CSD. Thus it provides an easy access to the users. The database’s purpose is
to create, establish and maintain a workflow among various entities in order to facilitate all
concerned users in their various capacities or roles. Permission to the users would be granted based
on the roles specified. Therefore, it provides the technical guarantee of accuracy, reliability and
security. The software and hard requirements for the development of this project are not many and
are already available in-house at NIC or are available as free as open source. The work for the project
is done with the current equipment and existing software technology. Necessary bandwidth exists
for providing a fast feedback to the users irrespective of the number of users using the system.

4. SYSTEM REQUIREMENTS SPECIFICATION

4.1 INTRODUCTION

A Software Requirements Specification (SRS) – a requirements specification for a software


system – is a complete description of the behavior of a system to be developed. It includes a set of use
cases that describe all the interactions the users will have with the software. In addition to use cases,
the SRS also contains non-functional requirements. Non-functional requirements are requirements
which impose constraints on the design or implementation (such as performance engineering
requirements, quality standards, or design constraints).

System requirements specification: A structured collection of information that embodies the


requirements of a system. A business analyst, sometimes titled system analyst, is responsible for
analyzing the business needs of their clients and stakeholders to help identify business problems and
propose solutions. Within the systems development life cycle domain, the BA typically performs a
liaison function between the business side of an enterprise and the information technology department
or external service providers. Projects are subject to three sorts of requirements:

 Business requirements describe in business terms what must be delivered or accomplished


to provide value.
 Product requirements describe properties of a system or product (which could be one of
several ways to accomplish a set of business requirements.)
 Process requirements describe activities performed by the developing organization. For
instance, process requirements could specify specific methodologies that must be followed,
and constraints that the organization must obey.

Product and process requirements are closely linked. Process requirements often specify the
activities that will be performed to satisfy a product requirement. For example, a maximum
development cost requirement (a process requirement) may be imposed to help achieve a maximum
sales price requirement (a product requirement); a requirement that the product be maintainable (a
Product requirement) often is addressed by imposing requirements to follow particular development
styles

4.2 PURPOSE

An systems engineering, a requirement can be a description of what a system must do,


referred to as a Functional Requirement. This type of requirement specifies something that the
delivered system must be able to do. Another type of requirement specifies something about the
system itself, and how well it performs its functions. Such requirements are often called Non-
functional requirements, or 'performance requirements' or 'quality of service requirements.'
Examples of such requirements include usability, availability, reliability, supportability, testability
and maintainability.

A collection of requirements define the characteristics or features of the desired system. A


'good' list of requirements as far as possible avoids saying how the system should implement the
requirements, leaving such decisions to the system designer. Specifying how the system should be
implemented is called "implementation bias" or "solution engineering". However, implementation
constraints on the solution may validly be expressed by the future owner, for example for required
interfaces to external systems; for interoperability with other systems; and for commonality (e.g. of
user interfaces) with other owned products.

In software engineering, the same meanings of requirements apply, except that the focus of
interest is the software itself.

4.3 FUNCTIONAL REQUIREMENTS

 The system should be the user friendly.


 The system should give the perfect search results to the users with in a minimum time.
4.4 NON-FUNCTIONAL REQUIREMENTS

The major non-functional Requirements of the system are as follows

1. Usability
The system is designed with completely automated process hence there is no or
less user intervention.

2. Reliability
The system is more reliable because of the qualities that are inherited from the
chosen platform java. The code built by using java is more reliable.

3. Performance
This system is developing in the high level languages and using the advanced
front-end and back-end technologies it will give response to the end user on client
system with in very less time.
4. Supportability
The system is designed to be the cross platform supportable. The system is
supported on a wide range of hardware and any software platform, which is
having JVM, built into the system.

5. Implementation
The system is implemented in web environment. The apache tomcat is used as
the web server and windows xp professional is used as the platform.

6. Interface The user interface is based on HTML and XHTML.


4.5 Hardware Requirements:
System : Pentium IV 2.4 GHz.

Hard Disk : 40 GB.

Floppy Drive: 1.44 Mb.

Monitor : 15 VGA Color.

Mouse : Logitech

RAM : 512 Mb

MOBILE : ANDROID

4.6 Software Requirements:-


Operating System : Windows XP/7.

Coding Language : Java 1.7

Tool Kit : Android 4.4 ABOVE

IDE : Eclipse

Front End : Android and Java

Back End : My SQL


5. SYSTEM DESIGN

5.1 SYSTEM SPECIFICATIONS

OBJECTIVES :
The objective of this sub-project is to develop tools and methods to support the earlier
phases of systems development; for implementation independent specification and verification,
and for subsequent synthesis of specifications into efficient implementations.

The sub-project is divided into four sub-tasks:

i) Adopt/further develop a model for formal, high-level system specification and verification.

ii) Demonstrate the efficacy of the developed model by applying it to a suitable part of the
consortium demonstrator, the network terminal for broadband access.

iii) Develop a systematic method to refine the specification into synthesizable code and a
prototype tool which supports the refinement process and links it to synthesis and compilation
tools.

5.2 SYSTEM COMPONENTS:

The diagram shows a general view of how desktop and workstation computers are organized.
Different systems have different details, but in general all computers consist of components
(processor, memory, controllers, video) connected together with a bus. Physically, a bus consists of
many parallel wires, usually printed (in copper) on the main circuit board of the computer. Data
signals, clock signals, and control signals are sent on the bus back and forth between components.
A particular type of bus follows a carefully written standard that describes the signals that are carried
on the wires and what the signals mean. The PCI standard (for example) describes the PCI bus used
on most current PCs.

 KEYBOARD
 MOUSE
 JOYSTICK
 SCANNER
 SCANNING DEVICE
 DIGITIZING TABLET
 TOUCH-SENSITIVE SCREEN
 MICROPHON
5.3 UML DIAGRAMS:

 Class Diagram:

Class diagrams are widely used to describe the types of objects in a system and their
relationships. Class diagrams model class structure and contents using design elements such
as classes, packages and objects. Class diagrams describe three different perspectives when
designing a system, conceptual, specification, and implementation. These perspectives
become evident as the diagram is created and help solidify the design.

Sequence Diagram:

Sequence diagrams belong to a group of UML diagrams called Interaction


Diagrams. Sequence diagrams describe how objects interact over the course of time through an
exchange of messages. A single sequence diagram often represents the flow of events for a single
use case.

Instance : An instance of a class shows a sample configuration of an object. On the sequence


diagram, each instance has a lifeline box underneath it showing it's existence over a period of time.

Actor : An actor is anything outside the system that interacts with the system. It could be a user or
another system.
Message : The message indicates communication between objects. The order of messages from top
to bottom on your diagram should be the order in which the messages occur.

Use Case Diagram:

A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals , and any
dependencies between those use cases.
Actor : You can picture an actor as a user of the IT system, for example Mr. Steel or Mrs. Smith
from check-in. Because individual persons are irrelevant for the model, they are abstracted. So the
actors are called “check-in employee” or “passenger”:

Use Case : Use cases describe the interactions that take place between actors and IT systems during
the execution of business processes:

Relationships:

Association : An association is a connection between an actor and a use case. An association


indicates that an actor can carry out a use case. Several actors at one use case mean that each actor
can carry out the use case on his or her own and not that the actors carry out the use case together:

Include Relationships : An include relationship is a relationship between two use cases:

It indicates that the use case to which the arrow points is included in the use case on the other
side of the arrow. This makes it possible to reuse a use case in another use case
Data Flow Diagrams:

A graphical tool used to describe and analyze the moment of data through a system manual
or automated including the process, stores of data, and delays in the system. Data Flow Diagrams
are the central tool and the basis from which other components are developed. The transformation
of data from input to output, through processes, may be described logically and independently of the
physical components associated with the system. The DFD is also know as a data flow graph or a
bubble chart.

DFDs are the model of the proposed system. They clearly should show the requirements on
which the new system should be built. Later during design activity this is taken as the basis for
drawing the system’s structure charts. The Basic Notation used to create a DFD’s are as follows:

1. Dataflow: Data move in a specific direction from an origin to a destination.


2. Process: People, procedures, or devices that use or produce (Transform) Data. The physical
component is not identified.

3. Source: External sources or destination of data, which may be People, programs, organizations
or other entities.

4. Data Store: Here data are stored or referenced by a process in the System.
E-R DIAGRAMS:

In software engineering, an entity-relationship model (ERM) is an abstract and


conceptual representation of data. Entity-relationship modeling is a database modeling method, used
to produce a type of conceptual schema or semantic data model of a system, often a relational
database, and its requirements in a top-down fashion. Diagrams created by this process are called
entity-relationship diagrams, ER diagrams, or ERDs. The definitive reference for entity-
relationship modeling is Peter Chen's 1976 paper. However, variants of the idea existed previously,
and have been devised subsequently.

An entity may be defined as a thing which is recognized as being capable of an independent


existence and which can be uniquely identified. An entity is an abstraction from the complexities of
some domain. When we speak of an entity we normally speak of some aspect of the real world which
can be distinguished from other aspects of the real world. [3]

An entity may be a physical object such as a house or a car, an event such as a house sale or
a car service, or a concept such as a customer transaction or order. Although the term entity is the
one most commonly used, following Chen we should really distinguish between an entity and an
entity-type. An entity-type is a category. An entity, strictly speaking, is an instance of a given entity-
type. There are usually many instances of an entity-type. Because the term entity-type is somewhat
cumbersome, most people tend to use the term entity as a synonym for this term.

Entities can be thought of as nouns. Examples: a computer, an employee, a song, a


mathematical theorem.

A relationship captures how two or more entities are related to one another. Relationships
can be thought of as verbs, linking two or more nouns. Examples: an owns relationship between a
company and a computer, a supervises relationship between an employee and a department, a
performs relationship between an artist and a song, a proved relationship between a mathematician
and a theorem.

The model's linguistic aspect described above is utilized in the declarative database query
language ERROL, which mimics natural language constructs.
Entities and relationships can both have attributes. Examples: an employee entity might have
a Social Security Number (SSN) attribute; the proved relationship may have a date attribute.

Every entity (unless it is a weak entity) must have a minimal set of uniquely identifying
attributes, which is called the entity's primary key.

Entity-relationship diagrams don't show single entities or single instances of relations.


Rather, they show entity sets and relationship sets. Example: a particular song is an entity. The
collection of all songs in a database is an entity set. The eaten relationship between a child and her
lunch is a single relationship. The set of all such child-lunch relationships in a database is a
relationship set. In other words, a relationship set corresponds to a relation in mathematics, while a
relationship corresponds to a member of the relation. Certain cardinality constraints on relationship
sets may be indicated as well.

ER Diagram of Proposed Project


6. Implementation

Installation Step:

Step 1: Jdk1.6 Installation:

Step2: my eclipse Installation

Step 3: Tomcat Installation

Deployment Step:

Step 1: Start the my eclipse

Step2: click on File Menu Button and Select the Import option

Step 3: After that select general option and Click on Existing Project into Workspace

Step4: After that select the Browse Button and option the project and click on Finish Button

Step 5: Right click on project and select the Run as option

6.1 Sample Code :


package thegenuinegourav.voicemail;

I import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Build;
import android.os.Handler;
import android.speech.RecognizerIntent;
import android.speech.tts.TextToSpeech;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {

private TextToSpeech tts;


private TextView status;
private TextView To,Subject,Message;
tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = tts.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
}
speak("Welcome to voice mail.
Tell me the mail address to whom you want to send mail?");

} else {
Log.e("TTS", "Initilization Failed!");
}
}
});

status = (TextView)findViewById(R.id.status);
To = (TextView) findViewById(R.id.to);
Subject =(TextView)findViewById(R.id.subject);
Message = (TextView) findViewById(R.id.message);
numberOfClicks = 0;
}

private void speak(String text){

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {


tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
}else{
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}

@Override
public void onDestroy() {
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}

public void layoutClicked(View view)


{
numberOfClicks++;
listen();
}

private void listen(){


Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say something");

try {
startActivityForResult(i, 100);
} catch (ActivityNotFoundException a) {
Toast.makeText(MainActivity.this,
"Your device doesn't support Speech Recognition", Toast.LENGTH_SHORT).show();
}
}

private void sendEmail() {


//Getting content for email
String email = To.getText().toString().trim();
String subject = Subject.getText().toString().trim();
String message = Message.getText().toString().trim();

//Creating SendMail object


SendMail sm = new SendMail(this, email, subject, message);

//Executing sendmail to send email


sm.execute();
}

private void exitFromApp()


{
this.finishAffinity();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 100){
if (resultCode == RESULT_OK && null != data) {
ArrayList<String> result = data.getStringArrayListExtra
(RecognizerIntent.EXTRA_RESULTS);
if(result.get(0).equals("cancel"))
{
speak("Cancelled!");
exitFromApp();
}
else {
switch (numberOfClicks) {
case 1:
String to;
to= result.get(0).replaceAll("underscore","_");
to = to.replaceAll("\\s+","");
to = to + "@gmail.com";
To.setText(to);
status.setText("Subject?");
speak("What should be the subject?");
break;
case 2:
Subject.setText(result.get(0));
status.setText("Message?");
speak("Give me message");
break;
case 3:
Message.setText(result.get(0));
status.setText("Confirm?");
speak("Please Confirm the mail\n To : "
+ To.getText().toString() + "\nSubject : " + Subject.getText().toString()
+ "\nMessage : " + Message.getText().toString() + "\nSpeak Yes to confirm");
break;
case 4:
if(result.get(0).equals("yes"))
{
status.setText("Sending");
speak("Sending the mail");
sendEmail();
}else
{
status.setText("Restarting");
speak("Please Restart the app to reset");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
exitFromApp();
}
},
}
}
}
}
}
}

7. SYSTEM TESTING

TESTING:

 The process of executing a system with the intent of finding an error.


 Testing is defined as the process in which defects are identified, isolated, subjected for
rectification and ensured that product is defect free in order to produce the quality product
and hence customer satisfaction.
 Quality is defined as justification of the requirements
 Defect is nothing but deviation from the requirements
 Defect is nothing but bug.
 Testing --- The presence of bugs
 Testing can demonstrate the presence of bugs, but not their absence
 Debugging and Testing are not the same thing!
 Testing is a systematic attempt to break a program or the AUT
 Debugging is the art or method of uncovering why the script /program did not execute
properly.

7.1 Testing Methodologies

 Black box Testing: is the testing process in which tester can perform testing on an
application without having any internal structural knowledge of application.
Usually Test Engineers are involved in the black box testing.
 White box Testing: is the testing process in which tester can perform testing on an
application with having internal structural knowledge.
Usually The Developers are involved in white box testing.
 Gray Box Testing: is the process in which the combination of black box and white box
tonics’ are used.

Levels of Testing:

Module1 Module2 Module3


Units Units Units

i/p Integration o/p i/p Integration o/p


System Testing: Presentation + business +Databases
UAT: user acceptance testing

Fig 11 STLC (SOFTWARE TESTING LIFE CYCLE)

Test Planning:
1. Test Plan is defined as a strategic document which describes
the procedure how to perform various testing on the total application in the most efficient
way.
2. This document involves the scope of testing,
3. Objective of testing,
4. Areas that need to be tested,
5. Areas that should not be tested,
6. Scheduling Resource Planning,
7. Areas to be automated, various testing tools used….
Test Development:
1. Test case Development (check list)
2. Test Procedure preparation (Description of the Test cases).
1. Implementation of test cases. Observing the result.
Result Analysis:
1. Expected value: is nothing but expected behavior Of application.
2. Actual value: is nothing but actual behavior of application
Bug Tracing: Collect all the failed cases, prepare documents.
Reporting: Prepare document (status of the application)
Types of Testing:
Smoke Testing: is the process of initial testing in which tester looks for the availability of
all the functionality of the application in order to perform detailed testing on them. (Main check is
for available forms)
Sanity Testing: is a type of testing that is conducted on an application initially to check for
the proper behavior of an application that is to check all the functionality are available before the
detailed testing is conducted by on them.
Regression Testing: is one of the best and important testing. Regression testing is the
process in which the functionality, which is already tested before, is once again tested whenever
some new change is added in order to check whether the existing functionality remains same.
Re-Testing: is the process in which testing is performed on some functionality which is
already tested before to make sure that the defects are reproducible and to rule out the environments
issues if at all any defects are there.
Static Testing: is the testing, which is performed on an application when it is not been
executed. Ex: GUI, Document Testing
Dynamic Testing: is the testing which is performed on an application when it is being
executed. Ex: Functional testing.
Alpha Testing: it is a type of user acceptance testing, which is conducted on an application
when it is just before released to the customer.
Beta-Testing: it is a type of UAT that is conducted on an application when it is released to
the customer, when deployed in to the real time environment and being accessed by the real time
users.
Monkey Testing: is the process in which abnormal operations, beyond capacity operations
are done on the application to check the stability of it in spite of the users abnormal behavior.
Compatibility testing: it is the testing process in which usually the products are tested on
the environments with different combinations of databases (application servers, browsers…etc) In
order to check how far the product is compatible with all these environments platform combination.
Installation Testing: it is the process of testing in which the tester try to install or try to
deploy the module into the corresponding environment by following the guidelines produced in the
deployment document and check whether the installation is successful or not.
Adhoc Testing: Adhoc Testing is the process of testing in which unlike the formal testing
where in test case document is used, with out that test case document testing can be done of an
application, to cover that testing of the future which are not covered in that test case document. Also
it is intended to perform GUI testing which may involve the cosmetic issues.
TEST CASES
Test Case Description Action Expected Actual Result
Result Result
Sign Up Click on Display the Registration Same as Pass
Sign Up registration Page expected
button page
Register Click on Check if Match: Home Same as Pass
Register password Page Mismatch: expected
entries Error message
match
Login Click on Check if Valid: Home Same as Pass
Login button username Page Invalid: expected
and Error message
password
are valid
Log Out Click on Display the Welcome Same as Pass
Logout Welcome Page expected
button Page
Inbox Click on Show the list Mail<num>: Same as Pass
Inbox button of all the Read out the expected
received received mail
mails Return:
Display Home
Page
Compose Click on Show Record: Record Same as Pass
Compose different message for a expected
button compose specific period
options of time
Listen: Play
the recorded
message
Send: Send
the message

Sent Mail Click on Show the Play: Play the Same as Pass
Sent Mail mails sent sent message expected
button by the user Return:
Display Home
Page
8. SCREEN SHOTS
9. CONCLUSION AND FUTURE ENHANCEMENTS
CONCLUSION

This e-mail system can be used by any user of any age group with ease of access. It has feature
of speech to text as well as text to speech with speech reader which makes designed system to
be handled by visually impaired person as well as blind person.

FUTURE WORK

For people who can see, e-mailing is not a big deal, but for people who are not blessed with
gift of vision it postures a key concern because of its intersection with many vocational
responsibilities. This voice based email system has great application as it is used by blind
people as they can understand where they are. E.g. whenever cursor moves to any icon on
the website say Register it will sound like “Register Button”. There are many screen readers
available. But people had to remember mouse clicks. Rather, this project will reduce this
problem as mouse pointer would read out where he/she lies. This system focuses more on
user friendliness of all types of persons including regular persons, visually compromised
people as well as illiterate.
10. BIBLIOGRAPHY

 Voice based email system for blinds, International Journal of Advanced Research in Computer
and Communication Engineering Vol. 4, Issue 1, January 2015.

 Voice Based Email System for Blinds, International Journal of Advance Foundation and
Research in Science & Engineering (IJAFRSE) Volume 1, Issue 10, March 2015. Impact
Factor: 1.036, Science Central Value: 26.54.

You might also like