Вы находитесь на странице: 1из 44

MAIN PROJECT REPORT

ON

VOICE BASED TRANSPORT ENQUIRY SYSTEM


Submitted by

FIDA SHIREEN T P (B2ENCS2147)


JASEELA FARSANA K (B2ENCS2149)
KAVYA E P (B2ENCS2151)

To The Kannur University


In partial fulfillment of the
requirements for the award of the degree of

BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING

Under the guidance of

Mrs. MRIDULA T V
(Assistant Prof. CSE Department)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


LBS COLLEGE OF ENGINEERING
KASARAGOD 671542, KERALA
MARCH 2016

DECLARATION

We hereby declare that this submission is our own work and that, to the best of
our knowledge and belief. It contains no material previously published or
written by another person nor material which has been accepted for the
award of any other degree or diploma of this Institute or other Institute of
higher learning, except where due acknowledgement has been made in the
text.

KASARAGOD

FIDA SHIREEN T P(B2ENCS2147)

01/04/2016

JASEELA FARSANA K(B2ENCS2149)


KAVYA E P(B2ENCS2151)

ii

LBS COLLEGE OF ENGINEERING KASARAGOD


DEPARTMENT OF COMPUTER SCIENCE AND
ENGINEERING

CERTIFICATE

Certified that this project report entitled VOICE BASED TRANSPORT ENQUIRY
SYSTEM submitted by FIDA SHIREEN.T.P(B2ENCS2147), JASEELA
FARSANA K (B2ENCS2149), KAVYA.E.P (B2ENCS2151) to the University of
Kannur in partial fulfillment of the requirement for the award of

the Degree of

Bachelor of Technology in Computer Science and Engineering is a bonafide record


of work carried out by them under my/our guidance and supervision. The contents of
this report, in full or in parts, have not been submitted to any of the Institute or
University for the Award of any Degree or Diploma.
PROJECT GUIDE

HEAD OF THE DEPARTMENT

Mrs. MRIDULA T V
Assistant professor
Department of CSE
LBSCE, Kasaragod

Mr. BINOY D M PANICKER


Assistant professor
Department of CSE
LBSCE, Kasaragod

Kasaragod
01.02.2016

iii

ACKNOWLEDGEMENT

It is really a momentous opportunity and privilege to express our deep sense of


gratitude to all those who have us to accomplish this task. We express humble God
Almighty for this incessant blessing on us during this project. We have taken efforts
in this project. However, it would not have been possible without the kind support and
help of many individuals and organizations. We would like to extend our sincere
thanks to all of them.
We sincerely thank our principal Dr. K.A. NAVAS for providing us facilities in order
to go ahead in our project development.
We express our sincere gratitude to Mr. BINNOY D M PANICKER HOD of
Computer Science and Engineering, for supporting us with the necessary facilities
which was essential in the successful completion and presentation of our project.
We are extremely grateful to our project convener Mrs. INDU K B for providing best
facilities for our studies.
We also express our whole hearted gratitude to Mrs. MRIDULA T V under whom
we executed the project. Her constant guidance and willingness to share her vast
knowledge made us understood this project and its manifestation in great depths and
helped us to complete the tasks.
We would like to thank all faculty members and staffs of the Department of Computer
Science and Engineering, for their support, goodwill and cooperation at every stage.
Finally, yet importantly we would like to express our heartfelt thanks to our beloved
parents for their blessings, our friends and classmates for their help and wishes in
completing our project successfully.

iv

ABSTRACT

Voice Based Transport Enquiry System is developed for providing the information
for the enquiry in transport terminals. It is the enquiry system which operates based
on the voice input given by the user. There is no communication which is understood
more appropriately than voice. This system too uses the voice commands and gives
the required information in the form of voice. This system is can be installed in any
transport terminal like Bus stands, Railway terminals or airports. This project is
developed using .Net technology using c# Programming language. This uses sql
server for storing the information to be provided to the user. This user Microsoft
Speech recognition to detect the voice from the user and uses the speech control to
deliver the voice output. This also displays the results on the screen for further
verification. User gives voice input as the desired destination. Based on the stored
data available in the database, it gives the next time of arrival & departure in the form
of voice. Benefits of this system are : anybody can use with just voice knowledge, 24
hrs useable with efficiency and better performance & physically challenged people
can also use unlike touch screen. The future extension for this project is to create an
android application for the same.

MODULES

Speech to Text conversion

Database creation & connection

Text to Speech conversion

CONTENTS
TITLE

PAGE NO

ACKNOWLEDGEMENT

iv

ABSTRACT

MODULES

LIST OF FIGURES

viii

LIST OF TABLES

ix

1. INTRODUCTION

1.1 PROBLEM DEFINITION

1.2 SCOPE OF THE PROJECT

2. SYSTEM STUDY AND ANALYSIS

2-3

2.1 EXISTING SYSTEM

2.2 PROPOSED SYSTEM

2.3 FEASIBILITY STUDY

3. SYSTEM SPECIFICATION

4-11

3.1 USER REQUIREMENTS

3.2 SYSTEM REQURMENTS

3.2.1 FUNCTIONAL REQUIREMENTS

3.2.2 NON-FUNCTIONAL REQUIREMENTS

5-6

3.2.3 HARDWARE REQUIREMENTS

3.2.4 SOFTWARE REQURMENTS

6-11

3.2.4.1 MICROSOFT SQL SERVER

6-7

3.2.4.2 MICROSOFT VISUAL STUDIO 2010

8-9

vi

3.2.4.3 C#

9-11

4. SPEECH-TO-TEXT CONVERSION

12-13

5. TEXT-TO-SPEECH CONVERSION

14-16

6. SYSTEM DESIGN

17-22

6.1 FLOW DIAGRAM

19

6.2 DATABASE DESIGN

20

6.2.1 TABLE DESIGN

21

6.3 INPUT DESIGN

22

6.4 OUTPUT DESIGN

22

7. SYSTEM TESTING

23-27

7.1 INTRODUCTION

23

7.2 TYPES OF TESTING

23-25

7.3 TESTING STRATEGY

25-27

7.4 TEST CASE

27

8. SYSTEM IMPLEMENTATION

28

9. FURTURE ENHANCEMENT

29

10. CONCLUSION

30

11. REFERENCES

31

12. APPENDIX

32-35

12.1 SAMPLE INPUTS AND OUTPUTS

32-33

12.2 SAMPLE CODE

34-35

vii

LIST OF FIGURES

FIGURE NO

FIGURE NAME

PAGE NO

6.1

Architectural design

18

6.1.1

Flow diagram

19

viii

LIST OF TABLES

TABLE NO

TABLE NAME

PAGE NO

6.2.1.1

Table BusTimings

21

7.4.1

Test case

27

ix

1. INTRODUCTION
This project is developed for providing the information for the enquiry in transport
terminals. It is the enquiry system which operates based on the voice input given by
the user. This system can be installed in any transport terminal. This uses sql server
for storing the information to be provided to the user. This user Microsoft Speech
recognition to detect the voice from the user and uses the speech control to deliver the
voice output. This also displays the results on the screen for further verification. User
gives voice input as the desired destination. Based on the stored data available in the
database it gives the next time of arrival & departure in the form of voice.

1.1 PROBLEM DEFINITION


Now this is the age of speed. Everything happens in the speed of supersonic. The data
can be transferred at the speed of light in the digital medium, can travel in the
supersonic speed, hence three is a need of information inflow in the same speed. Here
is one such need of information fast enough. We have experienced in waiting to a
transport terminals for transport controllers to get the information about the transport
facility. We encounter so many times there will be no person for providing these
information which significantly wastes the time just to know whether there is any
facility or not. Here is one solution for such a problem which lessens the human
intervention in providing such information in the transport terminals.

1.2 SCOPE OF THE PROJECT


Voice Based Transport Enquiry System is the enquiry system which operates based
on the voice input given by the user. There is no communication which is understood
more appropriately than voice. This system too uses the voice commands and gives
the required information in the form of voice. Users with simple voice knowledge will
be able to operate the system. Physically challenged persons are thus better benefitted.
User will be able to derive useful information regarding the bus timings with 24*7
availability of the system.

2. SYSTEM STUDY AND ANALYSIS


System study is the process of gathering and interacting facts diagnosing problems
and using the information to recommend improvements to the system. Only after
the system analysis we can begin to determine how and where a computer system
can benefit all user of the system study. The main objective of this system is to
provide bus timings information for even to a physically challenged person with a
need of voice knowledge. This system is easier to implement and operate. It is a
user friendly approach. There is an admin to control both the bus timing editing &
updation.

2.1 EXISTING SYSTEM


A long queue in front of an enquiry office at a bus terminal is a common sight seen
nowadays. Because of this long queue some or none of the waited user may be
able to retrieve useful satisfactory information. Also, because of this huge rush
causing noise problems the officer may also be not able to deliver the requested
information properly. Standing in the queue may also affect the health of the user
waiting there. There are also instances where which the user standing in the queue
may miss some of the desired buses due to lack of properly obtained information at
that particular instance of time. The speed for both delivering& receiving needed
information also is affected. Thereon, it is understood that such a system will
always be a waste of time for both user & officer. The current system is not userfriendly too.

2.2 PROPOSED SYSTEM


Our proposed system mainly aims at reducing some of the drawbacks faced in the
current system. Mainly here we are focusing on to minimize the waiting faced by
the user and availing a 24*7 availability of the system. This proposed system
works mainly on the voice input given by the user. Based on the voice input
regarding the place user needs to visit, the pre-defined table entries regarding the
bus timings are compared with the current system date & corresponding results are

provided. The results are also provided in the form of voice thus facilitating for
physically challenged persons. Thereby, a speech-to-text conversion and a text-tospeech conversion is done here. Also, a database searching & matching is also
done in the meantime.

2.3 FEASIBILITY STUDY


The feasibility study concerns with the considerations made to verify whether the
system is fit to be developed in all terms. Once an idea to develop the system is put
forward, the question that arises first will pertain to the feasibility aspects.
Feasibility study is a test of a system proposal according to its work ability.
In the feasibility study it focuses on mainly three questions:

What is the user needs and how does the system meet them?

What resources are available for given systems? Is the problem worth
solving?

What are the likely impact of the system on the organization and how it fit
with the System plans?

In the feasibility study of the project ,studied various feasibility studies performed
that is technically feasible whether existing equipment, software were sufficient for
completing the project.

3.SYSTEM SPECIFICATIONS
System Requirement Specification is the activity of translating the information
gathered during the analysis into a requirement document.
Classification

User Requirements

System Requirements
o

Hardware Requirements

Software Requirements

o Functional Requirements
o Non-Functional Requirements

Software Design Specification

3.1 USER REQUIREMENTS


Voice Commands:
1. Command should be accepted in the form of voice.
2. The system should recognize the voice command
3. The system shall process the voice command
4. The appropriate information shall be retrieved from the database.
5. The retrieved information is read and the output is given in the form of voice.
6. The relevant information also shall be displayed in the screen.
3.2 SYSTEM REQUIREMENTS
A set of system services and constraints in detail, The System requirements are the
more detailed specification of the User Requirements .It sometimes serves as a
contract between the user and the developer.

3.2.1 FUNCTIONAL REQUIREMENTS


Voice Commands: The commands are given to the system are in the form of
voice commands. The given commands are processed using voice processing.
Speech Recognition: The given command is to process using speech recognition.
Search the Result: The system shall search the appropriate result according to the
given command.
Display Result: The system shall display the retrieved result on the screen.
Display
Commands:

The system shall display the commands that are present in the

system.
Manage Information: The system shall provide option to add new information
like route information and the timings at which the transport facility is available.
Browse through Result: User shall be allowed to browse through the retrieved
result. It shall allow the user to move to previous and next result through the voice
commands. Voice Output:

The retrieved result shall be converted to voice

through the speech control of Microsoft.

3.2.2 NON-FUNCTIONAL REQUIREMENTS


These are constraints on the services or functions offered by the system. They
include constraints on the development process etc. Non-Functional requirements
are requirements which are not directly concerned with the specific functionality.
The nonfunctional requirement for the current system is that the voice commands
are to be clear to be recognized and no intermediate noise are allowed in and
around the system.

Product Requirements: The source code should use the tools provided by visual
studio and software development kit. The product should provide user friendly
interface so that the user can be benefited by utilizing the device.
Organizational Requirements: This is similar to the product requirements they
are derived from the user policies and their requirements.
External Requirements: These requirements are derived from factors external to
the system and its development process. This includes how the user is going to
interact with the system.

3.2.3 HARDWARE REQUIREMENTS


1. Processor

: Pentium IV

2. Monitor
3. RAM

: 128MB

4. Secondary Device : 20GB


5. Speaker
6. Microphone

3.2.4

SOFTWARE REQUIREMENTS

3.2.4.1 Microsoft SQL server


Microsoft SQL Server is a relational database management system developed
by Microsoft. As a database, it is a software product whose primary function is to
store and retrieve data as requested by other software applications, be it those on
the same computer or those running on another computer across a network
including the Internet. There are at least a dozen different editions of Microsoft
SQL Server aimed at different audiences and for workloads ranging from small
single machine applications to large Internet facing applications with
many concurrent users. Its primary query languages are T-SQL and ANSI SQL.

Microsoft SQL Server is a widely accepted standard database sublanguage used in


querying updating and managing relational databases. SQL Server 2000 has
features that will import, transform and export data from multiple sources, from
Oracle to text files. It can also act as the backbone to your Business Intelligence
infrastructure, as an XML processing tool, or even to process natural language
queries. It has the ability to be "clustered" so that it can automatically fail over to
another system in case of a catastrophe.
It can also serve as a reporting server front end for your users. The Code Editor
component of SQL Server Management Studio contains integrated script editors
for authoring Transact-SQL, MDX, DMX, and XML/A. The Object Explorer
component of SQL Server Management Studio is an integrated tool for viewing
and managing objects in all server types Server manager includes features such as
Supports most administrative tasks for SQL Server, A single, integrated
environment for SQL Server Database Engine management and authoring, Dialogs
for managing objects in the SQL Server Database Engine, Analysis Services, and
Reporting Services, that allows you to execute your actions immediately, send
them to a Code Editor, or script them for later execution, on modal and resizable
dialogs allow access to multiple tools while a dialog is open, A common
scheduling dialog that allows you to perform action of the management dialogs at a
later time.
It includes the following features

Internet Integration

Scalability and availability

Enterprise-level database features

Ease of installation , deployment and use of warehousing

Query Analyzer and Sql profiler

Data definition and data manipulation languages and database keys

3.2.4.2 Microsoft Visual Studio 2010


Microsoft Visual Studio is an integrated development environment (IDE)
from Microsoft. It is used to develop computer programs for Microsoft Windows,
as well as web sites, web applications and web services. Visual Studio uses
Microsoft software development platforms such as Windows API, Windows
Forms, Windows Presentation Foundation, Windows Store and Microsoft Silver
light. It can produce both native code and managed code. Visual Studio includes
a code

editor supporting IntelliSense as

well

as code

refactoring.

The

integrated debugger works both as a source level debugger and a machine level
debugger. Other built in tools include a forms designer for building GUI
applications, web designer, class designer, and database schema designer. It
accepts plug ins that enhance the functionality at almost every level including
adding support for source control systems like Subversion and adding new
toolsets like editors and visual designers for domain specific languages or
toolsets for other aspects of the software development lifecycle like the Team
Foundation

Serve client

Team

Explorer.

Visual

Studio

supports

different programming languages and allows the code editor and debugger to
support nearly any programming language, provided a language-specific service
exists.

Built-in

languages

include C, C++and C++/CLI

(via Visual

C++), VB.NET (via Visual Basic .NET), C#, and F#. Support for other languages
such as M, Python, and Ruby among others is available via language services
installed

separately.It

also

supports

XML/XSLT, HTML/XHTML, JavaScript and CSS.


IntelliSense is supported for the included languages, as well as for XML and
for Cascading Style Sheets and JavaScript when developing web sites and web
applications. Auto complete suggestions are popped up in a modeless list box,
overlaid on top of the code editor. In Visual Studio 2008 onwards, it can be made
temporarily semi transparent to see the code obstructed by it. The code editor is
used for all supported languages.
The Visual Studio code editor also supports setting bookmarks in code for quick
navigation.

Other

blocks and incremental

navigational
search,

in

aids
addition

include collapsing
to

normal

text

code
search

and regex search. The code editor also includes a multi-item clipboard and a task
list. Visual Studio includes a debugger that works both as a source-level
debugger and as a machine-level debugger.
It works with both managed code as well as native code and can be used for
debugging applications written in any language supported by Visual Studio. In
addition, it can also attach to running processes and monitor and debug those
processes.
Visual Studio also includes a web-site editor and designer that allow web pages
to be authored by dragging and dropping widgets. It is used for
developing ASP.NET applications and supports HTML, CSS and JavaScript. It
uses a code behind model to link with ASP.NET code. From Visual Studio 2008
onwards, the layout engine used by the web designer is shared with Microsoft
Expression Web. There is also ASP.NET MVC support for MVC technology as a
separate

download and ASP.NET

Dynamic

Data project

available

from

Microsoft. Microsoft Visual C#, Microsoft's implementation of the C# language,


targets the .NET Framework, along with the language services that lets the Visual
Studio IDE support C# projects. While the language services are a part of Visual
Studio, the compiler is available separately as a part of the .NET Framework. The
Visual C# 2008, 2010, 2012 and 2013 compilers support versions 3.0, 4.0 and 5.0
of the C# language specifications, respectively. Visual C# supports the Visual
Studio Class designer, Forms designer, and Data designer among others.

3.2.4.3 C#
C# (pronounced "see sharp") is a multi-paradigm programming language
encompassing imperative, functional, generic, object-oriented (class-based), and
component-oriented programming disciplines. It was developed by Microsoft
within the .NET initiative and later approved as a standard by Ecma (ECMA334) and ISO (ISO/IEC 23270). C# is one of the programming languages
designed for the Common Language Infrastructure.

Features
By design, C# is the programming language that most directly reflects the
underlying Common Language Infrastructure (CLI). Most of its intrinsic types
correspond to value-types implemented by the CLI framework. However, the
language specification does not state the code generation requirements of the
compiler: that is, it does not state that a C# compiler must target a Common
Language Runtime, or generate Common Intermediate Language (CIL), or
generate any other specific format. Theoretically, a C# compiler could generate
machine code like traditional compilers of C++ or FORTRAN.
Some notable distinguishing features of C# are:

There are no global variables or functions. All methods and members must be
declared within classes. Static members of public classes can substitute for
global variables and functions.

Local variables cannot shadow variables of the enclosing block, unlike C and
C++. Variable shadowing is often considered confusing by C++ texts.

C# supports a strict Boolean datatype, bool. Statements that take conditions,


such as while and if, require an expression of a type that implements the true
operator, such as the boolean type. While C++ also has a boolean type, it can
be freely converted to and from integers, and expressions such as if(a) require
only that a is convertible to bool, allowing a to be an int, or a pointer. C#
disallows this "integer meaning true or false" approach on the grounds that
forcing programmers to use expressions that return exactly bool can prevent
certain types of common programming mistakes in C or C++ such as if (a=b)

In C#, memory address pointers can only be used within blocks specifically
marked as unsafe, and programs with unsafe code need appropriate
permissions to run. Most object access is done through safe object references,
which always either point to a "live" object or have the well-defined null
value; it is impossible to obtain a reference to a "dead" object (one which has
been garbage collected), or to a random block of memory. An unsafe pointer
can point to an instance of a value-type, array, string, or a block of memory

10

allocated on a stack. Code that is not marked as unsafe can still store and
manipulate pointers through the System.

Managed memory cannot be explicitly freed; instead, it is automatically


garbage collected. Garbage collection addresses the problem of memory leaks
by freeing the programmer of responsibility for releasing memory which is no
longer needed.

In addition to the try...catch construct to handle exceptions, C# has a


try...finally construct to guarantee execution of the code in the finally block.

Multiple inheritance is not supported, although a class can implement any


number of interfaces. This was a design decision by the language's lead
architect to avoid complication and simplify architectural requirements
throughout CLI.

C# is more type safe than C++. The only implicit conversions by default are
those which are considered safe, such as widening of integers. This is enforced
at compile-time, during JIT, and, in some cases, at runtime. There are no
implicit conversions between booleans and integers, nor between enumeration
members and integers (except for literal 0, which can be implicitly converted
to any enumerated type). Any user-defined conversion must be explicitly
marked as explicit or implicit, unlike C++ copy constructors and conversion
operators, which are both implicit by default.

Enumeration members are placed in their own scope.

C# provides properties as syntactic sugar for a common pattern in which a pair


of methods, accessor (getter) and mutator (setter) encapsulate operations on a
single attribute of a class.

Full type reflection and discovery is available.

11

4. SPEECH-TO-TEXT CONVERSION
Overview
You might have already used speech recognition in products, and maybe even
incorporated it into your own application, but you still dont know how it works. This
document will give you a technical overview of speech recognition so you can
understand how it works, and better understand some of the capabilities and
limitations of the technology. Speech recognition fundamentally functions as a
pipeline that converts PCM (Pulse Code Modulation) digital audio from a sound card
into recognized speech. The elements of the pipeline are:
1. Transform the PCM digital audio into a better acoustic representation
2. Apply a "grammar" so the speech recognizer knows what phonemes to expect. A
grammar could be anything from a context-free grammar to full-blown English.
3. Figure out which phonemes are spoken.
4. Convert the phonemes into words.

Transform the PCM digital audio The first element of the pipeline converts
digital audio coming from the sound card into a format thats more representative of
what a person hears. The digital audio is a stream of amplitudes, sampled at about
16,000 times per second. If you visualize the incoming data, it looks just like the
output of an oscilloscope. Its a wavy line that periodically repeats while the user is
speaking. While in this form, the data isnt useful to speech recognition because its
too difficult to identify any patterns that correlate to what was actually said.
To make pattern recognition easier, the PCM digital audio is transformed into the
"frequency domain." Transformations are done using a windowed fast-Fourier
transform. The output is similar to what a spectrograph produces. In frequency
domain, you can identify the frequency components of a sound. From the frequency
components, its possible to approximate how the human ear perceives the sound. The
fast Fourier transform analyzes every 1/100th of a second and converts the audio data into
the frequency domain. Each 1/100th of a second results is a graph of the amplitudes of
frequency components, describing the sound heard for that 1/100th of a second. The

12

speech recognizer has a database of several thousand such graphs (called a codebook) that
identify different types of sounds the human voice can make. The sound is "identified" by
matching it to its closest entry in the codebook, producing a number that describes the
sound. This number is called the "feature number." (Actually, there are several feature
numbers generated for every 1/100 th of a second but the process is easier to explain
assuming only one.) The input to the speech recognizer began as a stream of 16,000 PCM
values per second. By using fast Fourier transforms and the codebook, it is boiled down
into essential information, producing 100 feature numbers per second.

This doesnt work because of a number of reasons:

Every time a user speaks a word it sounds different. Users do not produce
exactly the same sound for the same phoneme.

The background noise from the microphone and users office sometimes
causes the recognizer to hear a different vector than it would have if the user
was in a quiet room with a high quality microphone.

13

5. TEXT-TO-SPEECH CONVERSION
Overview
You might have already used text-to-speech in products, and maybe even
incorporated it into your own application, but you still dont know how it works.
This document will give you a technical overview of text-to-speech so you can
understand how it works, and better understand some of the capabilities and
limitations of the technology. Text-to-speech fundamentally functions as a
pipeline that converts text into PCM digital audio. The elements of the pipeline
are:
1. Text normalization
2. Homograph disambiguation
3. Word pronunciation
4. Prosody
5. Concatenate wave segments

Text Normalization
The "text normalization" component of text-to-speech converts any input text into
a series of spoken words. Trivially, text normalization converts a string like "John
rode home." to a series of words, "john", "rode", "home", along with a marker
indicating that a period occurred. However, this gets more complicated when
strings like "John rode home at 23.5 mph", where "23.5 mph" is converted to
"twenty three point five miles per hour".

Homograph Disambiguation
The next stage of text-to-speech is called "homograph disambiguation." Often its
not a stage by itself, but is combined into the text normalization or pronunciation
components. weve separated homograph disambiguation out since it doesnt fit
cleanly into either. Text-to-speech engines use a variety of techniques to
disambiguate the pronunciations. The most robust is to try to figure out what the
text is talking about and decide which meaning is most appropriate given the

14

context. Once the right meaning is know, its usually easy to guess the right
pronunciation.

Word Pronunciation
The pronunciation module accepts the text, and outputs a sequence of phonemes,
just like you see in a dictionary. To get the pronunciation of a word, the text-tospeech engine first looks the word up in its own pronunciation lexicon. If the
word is not in the lexicon then the engine reverts to "letter to sound" rules. The
letter-to-sound rules are "trained" on a lexicon of hand-entered pronunciations.
The lexicon stores the word and its pronunciation, such as: hello h eh l oe An
algorithm is used to segment the word and figure out which letter "produces"
which sound. You can clearly see that "h" in "hello" produces the "h" phoneme,
the "e" produces the "eh" phoneme, the first "l" produces the "l" phoneme, the
second "l" nothing, and "o" produces the "oe" phoneme. Of course, in other words
the individual letters produce different phonemes. The "e" in "he" will produce the
"ee" phoneme.
Once the words are segmented by phoneme, another algorithm determines which
letter or sequence of letters is likely to produce which phonemes. The first pass
figures out the most likely phoneme generated by each letter. "H" almost always
generates the "h" sound, while "o" almost always generates the "ow" sound. A
secondary list is generated, showing exceptions to the previous rule given the
context of the surrounding letters. Hence, an exception rule might specify that an
"o" occurring at the end of the word and preceded by an "l" produces an "oe"
sound. The list of exceptions can be extended to include even more surrounding
characters. When the letter-to-sound rules are asked to produce the pronunciation
of a word they do the inverse of the training model. To pronounce "hello", the
letter-to-sound rules first try to figure out the sound of the "h" phoneme. It looks
through the exception table for an "h" beginning the word followed by "e"; Since
it cant find one it uses the default sound for "h", which is "h". Next, it looks in the
exceptions for how an "e" surrounded by "h" and "l" is pronounced, finding "eh".
The rest of the characters are handled in the same way.

15

Prosody
Prosody is the pitch, speed, and volume that syllables, words, phrases, and
sentences are spoken with. Without prosody text-to-speech sounds very robotic,
and with bad prosody text-to-speech sounds like its drunk. The technique that
engines use to synthesize prosody varies, but there are some general techniques.
First, the engine identifies the beginning and ending of sentences. In English, the
pitch will tend to fall near the end of a statement, and rise for a question.
Likewise, volume and speaking speed ramp up when the text-to-speech first starts
talking, and fall off on the last word when it stops. Pauses are placed between
sentences.
Engines also identify phrase boundaries, such as noun phrases and verb phrases.
These will have similar characteristics to sentences, but will be less pronounced.
The engine can determine the phrase boundaries by using the part-of-speech
information generated during the homograph disambiguation. Pauses are placed
between phrases or where commas occur. Algorithms then try to determine which
words in the sentence are important to the meaning, and these are emphasized.
Emphasized words are louder, longer, and will have more pitch variation. Words
that are unimportant, such as those used to make the sentence grammatically
correct, are de-emphasized. In a sentence such as "John and Bill walked to the
store," the emphasis pattern might be "JOHN and BILL walked to the STORE."
The more the text-to-speech engine "understands" whats being spoken, the better
its emphasis will be.

16

6. SYSTEM DESIGN
A software design is a description of the structure of the software to be implemented,
the data which is part of the system, the interfaces between the system components
and sometimes the algorithms used. Designers do not arrive at a finished design
immediately but develop the design iteratively through a number of different versions.
The design process involves adding formality and detail as the design is developed
with constant backtracking to correct earlier designs.
Design Process
The specific design process activities are:

Architectural design: The sub-system

making up the system and their relationships are identified and documented. Object
oriented design: In Object oriented design we thought of things instead of
operations and functions, the executing system in made up of interacting objects that
maintain their local state and operations on that state operation. User interface design:
Good user interface design is critical to the success of the system, an interface that is
difficult to use will, at best, result in a high level of user errors.

17

Architectural Design

Fig 6.1Architectural design


The components which makes the current system is shown above. It has four
components which are listed below.

Commands

Speech

Search

Administration

Commands: This is one of the major components of the current system which
recognizes the commands given by the user. This component is responsible for

18

recognizing the commands and interpreting the command and sending appropriate
request to the Search component.
Search:

Search components take the input as the request from the Command

component and retrieve the appropriate result from the database. it gives back to the
display component and the speech component.
Speech: This component is used to deliver the result in the form of the voice using
Microsoft speech control. This takes input form the Search component.
Administration: Through this component the maintenance personnel can update the
information and also the commands to the system.
6.1 FLOW DIAGRAM

Fig 6.1.1 flow diagram


A flow diagram shows what kind of information will be input to and output from
the system, where the data will come from and go to, and where the data will be

19

stored. Since diagrammatic representations are easier to interpret as compared to


the technical descriptions, the non technical users can also understand the system
details clearly.

6.2 DATABASE DESIGN


Database design is the process of producing a detailed data model of a database.
This logical data model contains all the needed logical and physical design choices
and physical storage parameters needed to generate a design in a data definition
language, which can then be used to create a database. The term database design
can be used to describe many different parts of the design of an overall database
system. Principally, and most correctly, it can be thought of as the logical design of
the base data structures used to store the data. In the relational model these are
the tables and views. In an object database the entities and relationships map
directly to object classes and named relationships. However, the term database
design could also be used to apply to the overall process of designing, not just the
base data structures, but also the forms and queries used as part of the overall
database application within the database management system. The process of doing
database design generally consists of a number of steps which will be carried out
by the database designer.
Usually, the designer must

Determine the relationships between the different data elements.

Superimpose a logical structure upon the data on the basis of these


relationships

20

6.2.1 TABLE DESIGN


Tables used for VOICE BASED TRANSPORT ENQUIRY SYSTEM application
data stores are:Table: BusTimings

FIELD
NAME
Busplace

DATATYP
E
Varchar

SIZE

Time1

int

Time2

Int

Time3

Int

Time4

Int

Time5

Int

Store the fifth timing of


the bus

Time6

int

Time7

int

Time8

int

Time9

int

Store the sixth timing of


the bus
Store the seventh timing
of the bus
Store the eighth timing of
the bus
Store the ninth timing of
the bus

25

CONSTR
AINTS
-

Table 6.2.1.1: Bus Timings

21

DESCRIPTION
Store the name of the
place
Store the first timing of
the bus
Store the second timing of
the bus
Store the third timing of
the bus
Store the fourth timing of
the bus

6.3 INPUT DESIGN


Input design is the process of converting a user oriented description of the inputs to
a computer based business system into a programmer oriented specification. The
goal of designing input data is to make data entry as easy, logical and free from
errors as possible. Input design is a part of the overall system design, which
requires carefully attention. If the data going into the system is incorrect, then the
processing and output will magnify these errors.
The proposed system satisfies the following input design objectives

A cost effective method of input.

The highest possible level of accuracy as instead of place names, assigned


numbers are being accepted by the system.

The input is understood by the system if no noise is detected.

6.4 OUTPUT DESIGN


The output from an information system should accomplish one or more of the
following objectives
1

Convey information about bus timings.

Trigger an action.

Confirm the action

22

7. SYSTEM TESTING
7.1 INTRODUCTION
After the management approval of the design phase report the development
activities are preceded. In the development phase entire designed thing are brought
into computer coding. The major development phase activities are coding, testing,
and debugging. The most important development activity is the conversation of the
design so far developed into programs. The system flowcharts, input forms,
reports, menu designed in the designed in the design phase are transferred into
program. In each stage of preparation the programs have been tested and error is
corrected. All accuracy measures are taken into account while testing the program.
Testing help us to find logical errors and it rectify user incontinences. It helps to
validate user entries. The testing objectives are summarized in the following steps.

Testing is a process of executing a program with the intent of finding an error.

A good test case is one has high probability of finding an as yet undiscovered
error.

7.2 TYPES OF TESTING


Software testing determines the correctness, completeness, and quality of
software being developed. Validation refers to the process of checking that the
developed software meets the requirements specified by the user. The activities
involved in the testing phase basically evaluate the capability of that system meets
its requirements. The main objective of software testing is to detect errors in the
software. Errors occur if some part of the developed system is found to be
incorrect, incomplete or inconsistent. Test techniques include, but are not limited
to, the process of executing a program or application with the intent of
finding software bugs It involves the execution of a software component or system
to evaluate one or more properties of interest. In general, these properties indicate
the extent to which the component or system under test

23

Meets the requirements that guided its design and development.

Responds correctly to all kinds of inputs.

Performs its functions within an acceptable time.

can be installed and run in its intended environments

As the number of possible tests for even simple software components is practically
infinite, all software testing uses some strategy to select tests that are feasible for
the available time and resources. As a result, software testing typically attempts to
execute a program or application with the intent of finding software bugs. Software
testing can provide objective, independent information about the quality of
software and risk of its failure to users and sponsors. Software testing can be
conducted as soon as executable software exists. The overall approach to software
development often determines when and how testing is conducted. For example, in
a phased process, most testing occurs after system requirements have been defined
and then implemented in testable programs. In contrast, under an Agile approach,
requirements, programming, and testing are often done concurrently.

Whitebox Testing
Tests are performed to ensure that all internal operations of the software are
performed according to the specifications of the client. This is called White box
testing.
White box testing is a method of testing software that tests internal structures or
workings of an application, as opposed to its functionality.
In white box testing an internal perspective of the system, as well as programming
skills, are used to design test cases. White box testing can be applied at
the unit, integration and system levels of the software testing process. Although
traditional testers tended to think of white-box testing as being done at the unit
level, it is used for integration and system testing more frequently today. It can test
paths within a unit, paths between units during integration, and between
subsystems during a system level test. Though this method of test design can
uncover many errors or problems, it has the potential to miss unimplemented parts

24

of the specification or missing requirements. The details entered by the


administrator are saved and stored in the database, and testing is done to verify
whether the control of each form or action is working in the exact way.

Blackbox Testing
Tests are performed to ensure that each function is working properly. This is
referred to as Black box testing. Black box testing is a method of software
testing that examines the functionality of an application. without peering into its
internal structures or workings. This method of test can be applied to virtually
every level of software testing unit, integration, system and acceptance. It typically
comprises most if not all higher level testing, but can also dominate unit testing as
well. Test cases are built around specifications and requirements, what the
application is supposed to do. Test cases are generally derived from external
descriptions of the software, including specifications, requirements and design
parameters. Although the tests used are primarily functional in nature, nonfunctional tests may also be used. The test designer selects both valid and invalid
inputs and determines the correct output without any knowledge of the test object's
internal structure. Testing is conducted in the system so that the functions namely
Login, sending requests, searching the nearest donor, getting routes to the nearest
blood banks etc are done properly.

7.3 TESTING STRATEGY


Condition Testing
Test cases are derived to determine whether the logic conditions and decision
statements are free from errors. Condition testing strategy is used to check if the
operators used are correct and to verify conditions such as if an error message is
displayed if a non registered user is signed in to the app, or a user is registered
without providing his body mass index value.

25

Loop Testing
This testing is used to check the variety of loops present in programming. The
working of the loops such as while, for and do while are checked for its proper
execution. The statements inside the loop body are executed line by line for every
condition that satisfies the loop.
Unit Testing
This testing is performed to test the individual units in the system. Each
module in the system is tested individually and executed line by line for accurate
functioning of the system. The admin module has be tested for its proper
functioning, since all services are provide and data is stored and controlled by this
module.
Integration Testing
The objective of integration testing is to take all tested individual modules,
integrate them, test them again and develop the system. The Mobile application
module, the blood bank module as well as the admin should be integrated together
for the proper functioning of the whole system. Testing is conducted at this stage to
check whether the requested services are reaching to the admin through the mobile
device and when requested by the user for the nearest blood bank, its been
available to the user appropriately.

Acceptance Testing
This testing is performed to ensure that the functional, behavioral, and
performance requirements of the system is met. It may involve chemical
tests, physical tests, or performance tests. The acceptance test suite is run against
the supplied input data or using an acceptance test script to direct the testers. Then
the results obtained are compared with the expected results. If there is a correct

26

match for every case, the test suite is said to pass. If not, the system may either be
rejected or accepted on conditions previously agreed between the sponsor and the
manufacturer. The objective is to provide confidence that the delivered system
meets the business requirements of both sponsors and users. The acceptance phase
may also act as the final quality gateway, where any quality defects not previously
detected may be uncovered. The system is implemented after all these checks and
validations.

7.4 TEST CASES

Test

Test

Expected

Actual

No

Scenario

Results

Result

Provide voice input apart

Error message

Error

from the displayed choice

will display

message

of numbers.
2

Say

OK

confirmation

Status

Passed

shown.
for

the

False

message

results False

will display

Passed

timings

bearing confirmation for

shown.

noise input.
3

Provide voice input from

User will be User

is

the displayed choice of

allowed

to allowed

to

numbers

proceed

proceed

Say

OK

confirmation
bearing

for

the

User will be

User

message

allowed

allowed

chosen

proceed

confirmation

to

to
proceed

Table 7.4.1: Test case

27

is

Passed

Passed

8. SYSTEM IMPLEMENTATION
System implementation is the final stage of software development life cycle. For
the successful implementation and cooperation of new systems users must be
selected, educated and trained. Unless the users are not trained, the system will
become complex and it will feel as a burden for them. A product software
implementation method is a systematically structured approach to effectively
integrate software based service or component into the workflow of an
organizational structure or an individual end user. This method is a blueprint to get
users and organizations running with a specific software product. The method is a
set of rules and views to cope with the most common issues that occur when
implementing a software product: business alignment from the organizational view
and acceptance from human view. It is stated that the implementation of software
consumes up to 1/3 of the budget of a software purchase. The complexity of
implementing product software differs on several issues. Examples are the number
of end users that will use the product software, the effects that the implementation
has on changes of tasks and responsibilities for the end user, the culture and the
integrity of the organization where the software is going to be used and the budget
available for acquiring product software.
The implementation stage of the system begins by preparing a plan for
implementation of the system. According to this plan, activities are to be carried
out , discussions are made regarding the equipment to be required and resources
and additional facilities required to implement the system. The most critical stage
in achieving a successful system is by giving users confidence that the system will
work based on their requirements and be effective. This method also offers the
greatest securities since the old system can take over if the errors are found or
inability to handle certain type of transactions while using the new system.
The implementation involves the following formalities

careful planning

investigation of the systems and constraints

design the methods to achieve the changes

evaluation of the changeover method

28

9. FUTURE ENHANCEMENT
VOICE BASED TRANSPORT ENQUIRY SYSTEM is designed and developed
according to the current information and problems in the transportation, travel
field. This is very flexible so that the maintenance and further amendments based
on the changing environment and requirements can be made easily with adding
further information through new versions.

This works satisfactorily in absence of noise. The project can be extended


so as to focus on a particular voice input in cases of noise.

This project can also be extended to an android application where the user
may be able to access the system from anywhere at anytime.

29

10. CONCLUSION
VOICE BASED TRANSPORT ENQUIRY SYSTEM is successfully designed and
implemented according to the requirements and specifications. It can overcome the
current facing problems in the transportation and travelling field. This project is
thoroughly tested and founded work correctly. This is designed in such a way that
anyone having just a voice knowledge can use the system with 24*7 availability.
Instinct and common sense can guide a user, point and click method is used. The
necessary information can be fed in to input screen. The user does not meet any
complication when using this application.
This application is a simple one, but it can make a big difference in the lives of
others. It is capable to overcome current problems that face by users. Every user is
seeking for the simple and fastest methods. We are much delighted and relieved
with successful completion of our project. Our hard work and all the efforts have
finally born fruit. We expect the application to be user friendly and also will be
helpful to various users. We extend our greatest and sincere thanks to all of those
who have helped us in completing this project. We would like to expand this
project so that more people may use this project. Efficient organization of data has
been given importance so that users find it easier to work with the application. We
have put in our maximum efforts in collecting that correct and accurate data to
complete our project. We hope this project to be helpful to anyone who uses it.

30

11. REFERENCES
1.

Elmasri and Navathe, Fundamentals of Database Systems, 3/e, AddisonWesley.

2. K.Delaney, Inside Microsoft SQL Server 2000, Microsoft press,2000


3. Roger. S. Pressman, Software Engineering, Tata McGraw Hill edition,
1994.
4. http://www.speech-topics-help.com/self-introduction-speech.html
5. http://www.ecmainternational.org/activities/Languages/Introduction%20to%20Csharp.pdf
6. http://www.csharp-station.com/Tutorial.aspx
7. www.w3school.com

31

12.APPENDIX
12.1 SAMPLE INPUTS AND OUTPUTS

32

33

12.2 SAMPLE CODE


query

"select

from

bustimedetails.bustiming

WHERE

`busplace`='"+queryPlace+"'";
if (optionSelected == true)
{
try{
conn.Open(); connectedFlag = true; }
catch (Exception ex){ MessageBox.Show(ex.Message); }
try{
if (connectedFlag == true){
cmd = new MySqlCommand(query, conn);
rd = cmd.ExecuteReader();
int countIndex = 1, counts = 0;
while (rd.Read()){
while (countIndex <= 10 && counts <=3){
String timeOfBus = rd[countIndex].ToString();
int timeOfBusI = Int32.Parse(timeOfBus);
if (timeOfBusI >= timeShown){
String tm =timeOfBusI.ToString();tm = tm.Insert(tm.Length - 2, ":");
timesOfBus[counts] = tm; counts++; }
countIndex++;}}
rd.Close(); String totalTimes="";
if (counts > 0){ int i=0;

34

while(i<counts){ totalTimes += timesOfBus[i] + "\n";i++;}


ResultDisplay rdsp = new ResultDisplay(totalTimes); this.Hide();
rdsp.ShowDialog(); this.Close (); }}}
catch (Exception ex){
MessageBox.Show(ex.Message);}}

35

Вам также может понравиться