voice recognition service (vrs)
DESCRIPTION
Speech Recognition Service (SPRS) is a mobile application capable of recognition some of voices. And due to the system compatibility, users can running this application from any mobile devices supported by android system and SPRS is designed especially for deaf people. Voice recognition service (VRS) recognize voices in our real life especially in our home such that sound of the bell, telephone and door. VRS allows the user to many of the notifications options when you hear a specific sound previously identified where the user can choose one of the available options such as sending a message to mobile number or vibration. VRS requires minimum knowledge of how to use the mobile in order to be able to run it. VRS has Arabic, simple and user-friendly interface. This document includes a detailed description of system requirements both functional and non-functional, design models and description, functionalities of all system objects, and system testing so it could be used as a user manual for system users.TRANSCRIPT
The Islamic University of Gaza
Faculty of Engineering
Computer Engineering Department
Voice Recognition Service (VRS)
Ahmed K. Eldaly
Mohammed S. AbdullAll
Shady A. Alefrangy
Waleed E. Azam
Supervisor
Prof. Ibrahim S. I. Abuhaiba
Final Graduation Project Report
Submitted in Partial Fulfillment of the Requirements
For
The Bachelor of Science Degree
5341
(December, 2013)
ii
Dedication
We dedicate this work
To our Parents…
To our supervisor Prof. Ibrahim Abuhaiba…
To our Dr. musbah shaat ..
To our University…
To our country, PALESTINE, …
iii
Acknowledgment
Really we are honored to be supervised by Prof. Ibrahim S. I. Abuhaiba and we
would like to thank him for his direction, assistance, and guidance.
In particular, Prof. Abuhaiba recommendations and suggestions have been invaluable
for choosing the idea and for the completion of our project.
It also must thank the Dr. Musbah Shaat, for all the help and guidance he provided,
he spent his time to sit with us and exchanged ideas and help us in dealing with the
MATLAB software and processing and analysis of digital sound.
We would like to thank our families, especially our parents, for their encouragement,
patience and assistance over the years. We are forever indebted to our parents, who
have always kept us in their prayers.
iv
VOICE RECOGNITION SERVICE
Ahmed K. Eldaly
Mohammed S. AbdullAll
Shady A. Alefrangy
Waleed E. Azam
ABSTRACT
Speech Recognition Service (SPRS) is a mobile application capable of recognition some of
voices. And due to the system compatibility, users can running this application from any
mobile devices supported by android system and SPRS is designed especially for deaf
people.
Voice recognition service (VRS) recognize voices in our real life especially in our home such
that sound of the bell, telephone and door. VRS allows the user to many of the notifications
options when you hear a specific sound previously identified where the user can choose one
of the available options such as sending a message to mobile number or vibration. VRS
requires minimum knowledge of how to use the mobile in order to be able to run it. VRS has
Arabic, simple and user-friendly interface.
This document includes a detailed description of system requirements both functional and
non-functional, design models and description, functionalities of all system objects, and
system testing so it could be used as a user manual for system users.
Keywords: Voice Recognition Service (VRS); Mobile; Voice;
Android; Nnotifications; Deaf;
v
TABLE OF CONTENTSDEDICATION ..................................................................................................................... II
ACKNOWLEDGMENTS ................................................................................................ III
ABSTRACT ........................................................................................................................ IV
LIST OF FIGURES .......................................................................................................... VII
LIST OF ABBREVIATIONS ....................................................................................... VIII
CHAPTER 1: INTRODUCTION ....................................................................................... 1
1.1 WHY VOICE RECOGNITION SERVICE (VRS)? .................................................... 1
1.2 PROJECT DESCRIPTION ........................................................................................... 1
1.3 SİMİLAR PREVIOUS SYSTEMS .............................................................................. 2
1.4 REPORT OUTLINES ................................................................................................... 5
CHAPTER 2: VOICE RECOGNITION BACKGROUND ............................................... 6
2.1 WHAT IS VOICE RECOGNITION, AND WHY IS IT USEFUL IN A VIRTUAL
ENVIRONMENT? ........................................................................................................... 6
2.2 HOW IS VOICE RECOGNITION PERFORMED?.................................................... 7
2.3 HOW IT WORKS?........................................................................................................ 8
2.4 STRENGTHS AND WEAKNESSES........................................................................... 9
2.5 WHAT DISCIPLINES ARE INVOLVED IN VOICE RECOGNITION?................. 10
2.6 ENROLMENT.............................................................................................................. 10
2.7 VOICE RECOGNITION APPLICATIONS................................................................ 11
2.8 PATTERN MATCHING...............................................................................................11
CHAPTER 3: SYSTEM REQUIREMENTS ................................................................... 12
3.1 FUNCTIONAL REQUIREMENTS ........................................................................... 12
3.1.1 Admin Functionalities ................................................................................................ 12
3.2 NON-FUNCTIONAL REQUIREMENTS ................................................................. 13
CHAPTER 4: SYSTEM DESIGN .................................................................................... 16
4.1 USE CASE MODEL ..................................................................................................... 16
4.1.1 Actors. ......................................................................................................................... 16
4.1.2 Use Cases .................................................................................................................... 16
4.1.3 Sequence diagram ....................................................................................................... 18
4.1.4 Class diagram .............................................................................................................. 19
CHAPTER 5: USED SOFTWARE TOOLS .................................................................... 20
vi
5.1 MATLAB ..................................................................................................................... 20
5.2 ECLIPSE ...................................................................................................................... 21
5.3 ADT PLUGIN ............................................................................................................. 21
5.4 EDRAW MAX ............................................................................................................ 22
CHAPTER 6: SYSTEM TESTING ................................................................................. 24
6.1 IMPLEMENTATION ISSUES .................................................................................... 24
6.1.1 Distinguish sounds from each other ........................................................................... 24
6.1.2 SMS Massage Algorithm ........................................................................................... 24
6.1.3 Send Email Algorithm ................................................................................................ 25
6.2 TESTING ..................................................................................................................... 25
6.2.1 Main View. ................................................................................................................. 25
6.2.2 Email message .......................................................................................................... 26
6.2.3 Vibration time ........................................................................................................... 28
6.2.4 Send SMS ................................................................................................................. 29
6.2.5 Choose song automatically as output ....................................................................... 31
CHAPTER 7: CONCLUSION .......................................................................................... 33
7.1 SUMMARY ................................................................................................................. 33
7.2 FUTURE WORK ......................................................................................................... 33
7.3 RECOMMENDATIONS ............................................................................................ 34
REFERENCES ................................................................................................................. 35
vii
LIST OF FIGURES Figure 1.1: Whistle Android Finder FREE ……………………………………………… 3
Figure 1.2: Clap to Find ……………………………………………….…………………4
Figure 4.1: Use cases diagram ………………………………….……….………………17
Figure 4.2: Sequence Diagram ………………………………………………………….18
Figure 4.3: Class diagram ……………………………………………….………………19
Figure 5.1: EDRAW MAX ……………………………………………….…………….23
Figure 6.1: Main View ……………………………………………….…………………25
Figure 6.2: Choose Main Features ……………………………………………….……...27
Figure 6.3: Start Listening ……………………………………………….……………...27
Figure 6.4: Message does not sent …………………………………………….………...27
Figure 6.5: Message was sent …………………………………………….…………….27
Figure 6.6: Time Vibration ………………………………..…………….………………28
Figure 6.7: Choose Time Vibration …………………………………………….…….…28
Figure 6.8: Time Vibration was chosen …...…………………………….………………28
Figure 6.9: Send SMS option ……………………………………………………..……..29
Figure 6.10: Start Listening …………………………………………….…….………....29
Figure 6.11: SMS Send Successfully …………………………………………...………30
Figure 6.12: Change Song ………………………………………………………………31
Figure 6.13: Click Song Feature …………………………………………………….…..31
Figure 6.14: Choose Song From List View …………………………………………….32
Figure 6.15: Message Appear with Choose song name .…………………………...……32
viii
LIST OF ABBREVIATIONS
Term Definition
VRS Voice Recognition Service
SPRS Speech Recognition Service
Matlab Mathematics Laboratory
IDE Integrated Development Tools
PC Personal Computer
ADT Android Development Tool
1
Chapter 1
INTRODUCTION
1.1 WHY VOICE RECOGNITION SERVICE (VRS)?
There is a slice of people in our society are neglected and unable to communicate with
ordinary people because of their disability, they are deaf.
A deaf person cannot live in the house alone, without another person guide him on the
strange events to get inside the house for example (ring a bell house or ring phone home or
fire alarms).
We decided to employ the best of our knowledge at the service of this slide neglected
programming application can run on smart handheld devices and thus feel the deaf that
disability does not prevent him from communicating with the outside world.
This program is not limited to use only on deaf person, but the ordinary person can use it
for other purposes for example, when a fire was deaf person is attentive will be sent an
SMS to Mobile someone else inform him of the existence of a fire inside the house.
1.2 PROJECT DESCRIPTION
VRS is an application that runs on all devices that use Android system.
The project consists of 3 interfaces, one major and two subcommittees the main, interface
contain several options the user can control it, and interface appear to start listening to the
voices and the interface showing the result.
Interfaces convenient and easy to use.
2
In the main interface the user can choose that the alarm is received through email or by
sending a text message to a phone number to be determined in advance and can choose a
vibration when a voice
The application supports 3 main voices beep sound and the sound of the bell and the sound
of applause
Once the issue one of the three votes, the application to identify the sound and show a
picture on the screen demonstrates the kind of sound in addition the device and send a text
message or email as the user's choice guarantee the scalability of the project.
1.3 SIMILAR PREVIOUS SYSTEMS
i. Whistle Android Finder FREE
The Whistle Android Finder FREE Figure 1.1 is amazing Android finder (phone locator)
application which has helped many people locate their Android device with just a simple
WHISTLE after losing it, forgetting it somewhere or being hidden somewhere in a room
on a desk behind papers, in a briefcase or in a coat pocket etc.
3
4
Main Features
Whistle Android Finder FREE can be enabled or disabled under the settings tab.
Simply run the application and the settings tab will appear.
Whistle detection is working ONLY when the device is sleeping.
Once enabled, Whistle Android Finder FREE will truly work "forever" even if you
reboot your Android device! Of course, you can disable it under the settings tab at
any time.
Whistle Android Finder FREE integrates the ability to release the microphone of
your Android device during incoming or outgoing calls or when the screen of your
device is ON! After a call ends, the normal background operation of whistle
detection will resume automatically.
It is possible to choose among 5 different whistle detection sensitivity levels
Whistle Android Finder FREE is just ready to adapt to any Android device
regardless of the specifics of integrated acoustic components.
ii. Clap to Find
Clap to find app Figure 1.2 provides you with the ease of finding your android device
with just a couple of claps. This app also works if the device is in other room or in a
bag .
Clap to Find requires minimum system resources to work.
5
The application enables the user:
To enable and disable the application by a widget.
To adjust the sensitivity of detection.
To select a custom ringtone.
To adjust the volume of the ringtone
To adjust the time for which the ringtone plays.
1.4 REPORT OUTLINES
Voice recognition background in chapter 2.
The description of all system functionalities and requirements is explained in chapter 3.
Functional requirements is in section 3.1, nonfunctional requirement of the system in
section 3.2.
System design in chapter 4.
Used software tools in chapter 5.
Matlab in section 5.1, Eclipse in section 5.2, ADT Plugin in section 5.3, Edraw Max in
section 5.4.
System test in chapter 6.
Implementation issues in section 6.1, Testing in section 6.2.
Conclusion, future work, and recommendation are provided in chapter 3.
6
Chapter 2 Voice recognition background
Voice recognition is the process of taking the spoken word as an input to a computer
program. This process is important to virtual reality because it provides a fairly natural and
intuitive way of controlling the simulation while allowing the user's hands to remain free.
This article will delve into the uses of voice recognition in the field of virtual reality,
examine how voice recognition is accomplished, and list the academic disciplines that are
central to the understanding and advancement of voice recognition technology.
2.1 WHAT IS VOICE RECOGNITION, AND WHY IS IT
USEFUL IN A VIRTUAL ENVIRONMENT?
Voice recognition is "the technology by which sounds, words or phrases spoken by humans
are converted into electrical signals, and these signals are transformed into coding patterns
to which meaning has been assigned" . While the concept could more generally be called
"sound recognition", we focus here on the human voice because we most often and most
naturally use our voices to communicate our ideas to others in our immediate surroundings.
In the context of a virtual environment, the user would presumably gain the greatest feeling
of immersion, or being part of the simulation, if they could use their most common form
of communication, the voice. The difficulty in using voice as an input to a computer
simulation lies in the fundamental differences between human speech and the more
traditional forms of computer input. While computer programs are commonly designed to
produce a precise and well-defined response upon receiving the proper (and equally
precise) input, the human voice and spoken words are anything but precise. Each human
voice is different, and identical words can have different meanings if spoken with different
inflections or in different contexts. Several approaches have been tried, with varying
degrees of success, to overcome these difficulties.
7
2.2 HOW IS VOICE RECOGNITION PERFORMED?
The most common approaches to voice recognition can be divided into two classes:
"template matching" and "feature analysis". Template matching is the simplest technique
and has the highest accuracy when used properly, but it also suffers from the most
limitations. As with any approach to voice recognition, the first step is for the user to speak
a word or phrase into a microphone. The electrical signal from the microphone is digitized
by an "analog-to-digital (A/D) converter", and is stored in memory. To determine the
"meaning" of this voice input, the computer attempts to match the input with a digitized
voice sample, or template, that has a known meaning. This technique is a close analogy to
the traditional command inputs from a keyboard. The program contains the input template,
and attempts to match this template with the actual input using a simple conditional
statement.
Since each person's voice is different, the program cannot possibly contain a template for
each potential user, so the program must first be "trained" with a new user's voice input
before that user's voice can be recognized by the program. During a training session, the
program displays a printed word or phrase, and the user speaks that word or phrase several
times into a microphone. The program computes a statistical average of the multiple
samples of the same word and stores the averaged sample as a template in a program data
structure. With this approach to voice recognition, the program has a "vocabulary" that is
limited to the words or phrases used in the training session, and its user base is also limited
to those users who have trained the program. This type of system is known as "speaker
dependent." It can have vocabularies on the order of a few hundred words and short
phrases, and recognition accuracy can be about 98 percent.
A more general form of voice recognition is available through feature analysis and this
technique usually leads to "speaker-independent" voice recognition. Instead of trying to
find an exact or near-exact match between the actual voice input and a previously stored
voice template, this method first processes the voice input using "Fourier transforms" or
"linear predictive coding (LPC)", then attempts to find characteristic similarities between
the expected inputs and the actual digitized voice input. These similarities will be present
8
for a wide range of speakers, and so the system need not be trained by each new user. The
types of speech differences that the speaker-independent method can deal with, but which
pattern matching would fail to handle, include accents, and varying speed of delivery, pitch,
volume, and inflection. Speaker-independent speech recognition has proven to be very
difficult, with some of the greatest hurdles being the variety of accents and inflections used
by speakers of different nationalities. Recognition accuracy for speaker-independent
systems is somewhat less than for speaker-dependent systems, usually between 90 and 95
percent.
Another way to differentiate between voice recognition systems is by determining if they
can handle only discrete words, connected words, or continuous speech. Most voice
recognition systems are discrete word systems, and these are easiest to implement. For this
type of system, the speaker must pause between words. This is fine for situations where
the user is required to give only one word responses or commands, but is very unnatural
for multiple word inputs. In a connected word voice recognition system, the user is allowed
to speak in multiple word phrases, but he or she must still be careful to articulate each word
and not slur the end of one word into the beginning of the next word. Totally natural,
continuous speech includes a great deal of "coarticulation", where adjacent words run
together without pauses or any other apparent division between words. A speech
recognition system that handles continuous speech is the most difficult to implement.
2.3 HOW IT WORKS?
Voice recognition technology utilizes the distinctive aspects of the voice to verify the
identity of individuals. Voice recognition is occasionally confused with speech recognition,
a technology which translates what a user is saying (a process unrelated to authentication).
Voice recognition technology, by contrast, verifies the identity of the individual who is
speaking. The two technologies are often bundled – speech recognition is used to translate
the spoken word into an account number, and voice recognition verifies the vocal
characteristics against those associated with this account.
Voice recognition can utilize any audio capture device, including mobile and land
9
telephones and PC microphones. The performance of voice recognition systems can vary
according to the quality of the audio signal as well as variation between enrollment and
verification devices, so acquisition normally takes place on a device likely to be used for
future verification.
During enrollment an individual is prompted to select a passphrase or to repeat a sequence
of numbers. The passphrases selected should be approximately 1-1.5 seconds in length –
very short passphrases lack enough identifying data, and long passwords have too much,
both resulting in reduced accuracy. The individual is generally prompted to repeat the
passphrase or number set a handful of times, making the enrollment process somewhat
longer than most other biometrics.
2.4 STRENGTHS AND WEAKNESSES:
One of the challenges facing large-scale implementations of biometrics is the need to
deploy new hardware to employees, customers and users. One strength of telephony-based
voice recognition implementations is that they are able to circumvent this problem,
especially when they are implemented in call center and account access applications.
Without additional hardware at the user end, voice recognition systems can be installed as
a subroutine through which calls are routed before access to sensitive information is
granted. The ability to use existing telephones means that voice recognition vendors have
hundreds of millions of authentication devices available for transactional usage today.
Similarly, voice recognition is able to leverage existing account access and authentication
processes, eliminating the need to introduce unwieldy or confusing authentication
scenarios. Automated telephone systems utilizing speech recognition are currently
ubiquitous due to the savings possible by reducing the amount of employees necessary to
operate call centers. Voice recognition and speech recognition can function simultaneously
using the same utterance, allowing the technologies to blend seamlessly. Voice recognition
can function as a reliable authentication mechanism for automated telephone systems,
11
adding security to automated telephone-based transactions in areas such as financial
services and health care.
Though inconsistent with many users’ perceptions, certain voice recognition technologies
are highly resistant to imposter attacks, even more so than some fingerprint systems. While
false non-matching can be a common problem, this resistance to false matching means that
voice recognition can be used to protect reasonably high-value transactions.
Since the technology has not been traditionally used in law enforcement or tracking
applications where it could be viewed as a Big Brother technology, there is less public fear
that voice recognition data can be tracked across databases or used to monitor individual
behavior. Thus, voice recognition largely avoids one of the largest hurdles facing other
biometric technologies, that of perceived invasiveness.
2.5 WHAT DISCIPLINES ARE INVOLVED IN VOICE
RECOGNITION?
The template matching method of voice recognition is founded in the general principles of
digital electronics and basic computer programming. To fully understand the challenges of
efficient speaker- independent voice recognition, the fields of phonetics, linguistics, and
digital signal processing should also be explored.
2.6 ENROLMENT
Everybody’s voice sounds slightly different, so the first step in using a voice-recognition
system involves reading an article displayed on the screen. This process, called enrolment,
takes less than 10 minutes and results in a set of files being created which tell the software
how you speak. Many of the newer voice-recognition programs say this is not required,
however it is still worth doing to get the best results. The enrolment only has to be done
once, after which the software can be started as needed.
11
2.7 VOICE RECOGNITION APPLICATIONS:
Voice recognition is a strong solution for implementations in which vocal interaction is
already present. It is not a strong solution when speech is introduced as a new process.
Telephony is the primary growth area for voice recognition, and will likely be by far the
most common area of implementation for the technology. Telephony-based applications
for voice recognition include account access for financial services, customer authentication
for service calls, and challenge-response implementations for house arrest and probation-
related authentication. These solutions route callers through enrollment and verification
subroutines, using vendor-specific hardware and software integrated with an institution's
existing infrastructure.
Voice recognition has also been implemented in physical access solutions for border
crossing, although this is not the technology's ideal deployment environment.
2.8 PATTERN MATCHING:
The pattern matching process involves the comparison of a given set of input feature
vectors against the speaker model for the claimed identity and computing a matching score.
For the Hidden Markov models discussed above, the matching score is the probability that
a given set of feature vectors was generated by the model.
12
Chapter 3
REQUIREMETS AND SPECIFICATIONS
3.1 FUNCTIONAL REQUIREMENTS
3.1.1 Admin Functionalities
Admin is considered the person with ultimate authorities in the system with many
functionalities. First, admin can change the program's main settings including program
name, select voice type, select the shape of result and choose the tone with result.
Furthermore, admin can modify the message content which contain the result and
determine if he want to send the result on another destination as another telephone or email.
The admin can specify the type of the resulting tone and length, for example can be to
choose a bell tone if the result sound is the sound of the bell. Also can select the type of
output (just tone, just vibration or tone and vibration).
Can also select some or all of the voices from the list to be recognized by the program. This
helps to increase the speed of the program if a few selected voices.
Managing program is another critical issue for an admin to handle. Admin is responsible
for adding, deleting, and editing Voice information. On the other hand any user cannot
manipulate neither admin nor each other information.
13
3.2 NON-FUNCTIONAL REQUIREMENTS
Performance Requirements
System should recognize to any Voices in his list without any fault.
With Ideal conditions, system response should be fast and error-free.
System performance shall not decrease with time or by usage.
Performance and speed should not depend on newer or older mobile, but that
depends on mobile phone capable of running Android programs or not.
Security Requirements
Change the data is only allowed to admins and forbidden to any user.
Program run without web, that is mean Protected from hackers.
Software Quality Attributes
Availability
This System will be up to date and offer all the facilities to the users. Also
view the right detection.
Flexibility
This System will be easy to learn and easy to use, also will be provide help
page for all new users.
Meaningful notification messages are displayed when some error happens.
Robustness
No wrong information will be entered.
14
Accuracy
The system will not permit to the users enter any invalid data.
Every admin must have a unique identification.
Adaptability
VRS supports adding new voices without changing old voices.
The software is flexible and scalable so it can fit any Voice.
Aesthetics
The finished software has a nice view and appropriate to the nature of its work
as a management program.
All text will be clear and well readable.
Compatibility
All users using this program will interact with any voice without any changes
to the original code.
The system will be compatible with all mobile capable to run android
program.
Frequency/Severity of Failure
There will not be any unhandled exceptions from incorrect user input.
Human Factors
GUI is user-friendly and attractive.
Menus have a consistent format.
There will be a lot of expressive images.
15
Maintainability
Software development team will be the maintenance team for any error or
defect.
Predictability
The system can never crash.
The system must produce predictable results.
Reliability
The system will be available 100% of the time.
Response Time
Query response time must be fast.
All queries must return a response in < 2 seconds.
Understandability
All users can learn to operate major use cases without outside assistance.
Testability
All major use cases must be tested.
100% of the quality requirements must be measurable.
16
Chapter 4
SYSTEM DESIGN
This chapter describes the main aspects of the system design and architecture. The first
section describes the design represented in terms of use case diagrams. The second section
provides class diagrams that were designed for VRS system. And finally the third section
provides brief information about modules of the system.
4.1 USE CASE MODEL 4.1.1 Actors :
There are one type of actors in the system namely administrator. The actors have access of
the system without authorization.
4.1.2 Use Cases :
The Use Case diagram for the system is shown in Figure 4.1. As can be seen from the
diagram the actor has access to different Use Cases.
The administrator is able to manage all resources; it is only the administrator who can add
modify and general settings and manage librarians.
The Use Case diagram for the system is shown in Figure 4.1. As can be seen from the
diagram administrator has access to different Use Cases.
17
The administrator is able to manage all resources (change time vibration, change output
state (only vibrate, only song, vibrate and song), send the output to email or mobile SMS
or together both email and SMS mobile).
18
4.1.3 Sequence diagram :
19
4.1.4 Class diagram :
21
Chapter 5
USED SOFTWARE TOOLS
5.1 MATLAB
MATLAB is a high-level language and interactive environment for numerical
computation, visualization, and programming. Using MATLAB, you can analyze data,
develop algorithms, and create models and applications. The language, tools, and built-in
math functions enable you to explore multiple approaches and reach a solution faster than
with spreadsheets or traditional programming languages, such as C/C++ or Java.
Advantages of Using Matlab
High-level language for numerical computation, visualization, and application
development.
Interactive environment for iterative exploration, design, and problem solving.
Mathematical functions for linear algebra, statistics, Fourier analysis, filtering,
optimization, numerical integration, and solving ordinary differential equations.
Built-in graphics for visualizing data and tools for creating custom plots.
Development tools for improving code quality and maintainability and maximizing
performance.
Tools for building applications with custom graphical interfaces.
Functions for integrating MATLAB based algorithms with external applications
and languages such as C, Java, .NET, and Microsoft Excel.
Interfacing with other languages: MATLAB can call functions and subroutines
written in the C programming language or Fortran.
21
A wrapper function is created allowing MATLAB data types to be passed and returned.
The dynamically loadable object files created by compiling such functions are termed
"MEX-files" (for MATLAB executable). Libraries written in Perl, Java, ActiveX or .NET
can be directly called from MATLAB,[23][24] and many MATLAB libraries (for example
XML or SQL support) are implemented as wrappers around Java or ActiveX libraries.
Calling MATLAB from Java is more complicated, but can be done with a MATLAB
toolbox which is sold separately by MathWorks, or using an undocumented mechanism
called JMI (Java-to-MATLAB Interface),(which should not be confused with the nrelated
Java Metadata Interface that is also called JMI).
5.2 ECLIPSE
In computer programming, Eclipse is an Integrated development environment (IDE)
comprising a base workspace and an extensible plug-in system for customizing the
environment. It is written mostly in Java. It can be used to develop applications in Java
and, by means of various plug-ins, other programming languages including Ada, C, C++,
COBOL, Fortran, Haskell, JavaScript, Lasso, Perl, PHP, Python, R, Ruby (including Ruby
on Rails framework), Scala, Clojure, Groovy, Scheme, and Erlang. It can also be used to
develop packages for the software Mathematics. Development environments include the
Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and
Eclipse PDT for PHP, among others.
5.3 ADT PLUGIN
Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give
you a powerful, integrated environment in which to build Android applications.
ADT extends the capabilities of Eclipse to let you quickly set up new Android projects,
create an application UI, add packages based on the Android Framework API, debug your
applications using the Android SDK tools, and even export signed (or unsigned) .apk files
in order to distribute your application.
22
Developing in Eclipse with ADT is highly recommended and is the fastest way to get
started. With the guided project setup it provides, as well as tools integration, custom XML
editors, and debug output pane, ADT gives you an incredible boost in developing Android
applications.
Because ADT is a plugin for Eclipse, you get the functionality of a well-established IDE,
along with Android-specific features that are bundled with ADT.
Advantages of Using Eclipse and ADT
Integrated Android project creation, building, packaging, installation, and debugging:
ADT integrates many development workflow tasks into Eclipse, making it easy for
you to rapidly develop and test your Android applications.
SDK Tools integration: many of the SDK tools are integrated into Eclipse's menus,
perspectives, or as a part of background processes ran by ADT.
Java programming language and XML editors: the Java programming language
editor contains common IDE features such as compile time syntax checking, auto-
completion, and integrated documentation for the Android framework APIs. ADT
also provides custom XML editors that let you edit Android-specific XML files in
a form-based UI. A graphical layout editor lets you design user interfaces with a
drag and drop interface.
Integrated documentation for Android framework APIs: you can access
documentation by hovering over classes, methods, or variables.
5.4 EDRAW MAX
Edraw Max is versatile graphics software, with features that make it easy to draw
professional-looking flowcharts, UML diagrams, database model diagrams.
This tool has more than 5000 built-in vector symbols, which can be used to make a wide
variety of business charts and presentations while working in an intuitive and familiar
office-style environment.
23
We use this tool to create our class diagram, use-case diagram, and sequence diagram both
at the SRS and the final report. Figure 5.1 shows a snapshot of this tool while working at
the use-case diagram.
24
Chapter 6 SYSTEM TESTING
6.1. IMPLEMENTATION ISSUES
6.1.1. Distinguish sounds from each other :
This is the main problem in my project, we tried more time to solve this problem and we can
success, at the beginning of the project, the program recognize only one voice (Whistle) but
when we want to add new voice to recognize it, we face many problems like overlap between
two signals and two voice appeared and the recognition was bad and when we added another
voice (Third voice) the process became more complicated but we solved this problem we depend
on features of signal to distinguish signals so distinguish feature from signal to another, we
chose ranges different from other ranges to prevent overlapping signals.
6.1.2. SMS Massage Algorithm :
This algorithm sent massage to another mobile system to advertise massage to another person so
this algorithm is very useful in my program.
On the grounds that the person meant no mobile phone with him (possibly losing or forgetting)
so that if the massage sent into his father or his friends that's good.
25
6.1.3. Send Email Algorithm :
When we think to make algorithm to send massage through email we faced big problem if the
email correct or not so we make an algorithm below to solve this problem using matcher class.
6.2. Testing
6.2.1. Main view
The main interface for my program it includes many features to facilitate for users.
Features like:
Email massage it sent to email by program automatically when user add email he want to
send massage through it.
SMS message it sent to another mobile by program automatically when user add mobile
number he want to send massage through it.
Vibration time, when the program during the execution it takes this time to vibration.
Changing song, user can change song by keep his hand in front of screen.
26
6.2.2. Email message :
1. User check to email and after that he add an email he want to send massage through it. Figure
6.2.
2. When user click to start program.
3. After user click to start program figure 6.3 appear to listen voices.
4. After the program listen to whistle voice like figure 6.4 the program can recognize whistle
voice but the massage doesn't send because in figure 6.2 an internet disconnect.
5. But when an internet was connecting, the massage was sent as in figure 6.5.
27
28
6.2.3. Vibration time :
1. User choose time vibration like figure 6.6 to see mobile vibrate in time chose in output result.
2. In figure 6.7, user choose time from list view.
3. In figure 6.8, time was chosen.
29
6.2.4. Send SMS :
1. By check “ ارسال رسالة قصيرة“the mobile field set enable and user can enter mobile NO.
to send alarm message to it in figure 6.9.
2. To start application user will click start button.
3. The second view “جاري االستماع” Figure 6.10 will appear.
31
4. The third view “SMS sent successfully as in Figure 6.12
5. The result is “the message send successfully “ and toast message with the output as
example “ شخص يصفر لك“ will appear in figure 6.11.
31
6.2.5. Choose song automatically as output :
1. By check “ تغير النغمة تلقائي“ the system will be able to choose song automatically from
the song list by keep hand of user in front of mobile screen in figure 6.12.
2. When the user chick “ نغمة “ the system will choose the song to run it as additional
result when voice detected if automatically choose “اختيار نغمة تلقائي” is on see that in
figure 6.13.
32
3. If choose automatically “ اختيار النغمة تلقائي” is disable and check “نغمة ” button the
song list in figure 6.14 will appear to choose song manually from it .
4. The toast message appear with choose song name see that in figure 6.15.
33
Chapter 7
CONCLUSION 7.1 SUMMARY
VRS which capable of detect voice and recognize it to know if its sound of clap or ringing
sound or Whistle sound.
VRS enables user some option to get alarm when voice detect ,it can send email with alarm
type or by SMS to mobile number
VRS enables user to choose song and run it when voice is detect and system can choose
song automatically.
VRS enables user to choose how much second mobile will vibrate when sound detected.
Finally, VRS is flexible, effective, and attractive system. This system can be easily
extended by introducing new modules and implementing new interfaces.
7.2 FUTURE WORK
There is no limit for development, improving and evaluating. Our future vision is to
implement and extend this system to support multiple languages rather than Arabic.
We also hope to add some services not included in this version of the system such as Prayer
Time service which can be used to send notifications to user on their mobiles or email or
run some voice when Prayer Time is coming
34
7.3 RECOMMENDATION
With a system like VRS depth users can easily and attractively deal with deferent sound .
If all depth people in our country started to use VRS they will Interacts with real sound and
feel different and good .
Every person can help with this improvement according to his work field. Our minds
should not stop on some fields for development.
Our field for development is the electronic management using the newest technologies.
We should do the best every time for better life and future.
35
REFERENCES
References
[1] Adams, Russ, Sourcebook of Automatic Identification and Data Collection, Van
Nostrand Reinhold, New York, 1990.
[2] Cater, John P., Electronically Hearing: Computer Speech Recognition, Howard W.
Sams & Co., Indianapolis, IN, 1984.
[3] Fourcin, A., G. Harland, W. Barry, and V. Hazan, editors, Speech Input and Output
Assessment, Ellis Horwood Limited, Chichester, UK, 1989.
[4] Yannakoudakis, E. J., and P. J. Hutton, Speech Synthesis and Recognition Systems,
Ellis Horwood Limited, Chichester, UK, 1987.