Professional Documents
Culture Documents
INTRODUCTION
1.1 INTRODUCTION
Human speech has evolved over many thousands of years to become an efficient method of sharing information and giving instructions. Designing a machine that understand human behavior particularly the capability of speaking naturally and responding properly to spoken language has intrigued engineers and scientists for centuries. Speech Recognition is a technology that allows the computer to identify and understand words spoken by a person using a microphone or telephone. The ultimate goal of the technology is to be able to produce a system that can recognize with accuracy all words that are spoken by any person. Computer software that understands your speech enables you to have conversations with the computer. These conversations would include you and the computer speaking as commands or in response to events, input, or other feedback. Speech recognition applications are becoming more advantageous. Speech based interface technology will enable easy to use automation of new and existing communication services, making human machine interaction more natural. For the disabled people the absence of the data bases and diversity of the articulator handicaps are major obstacles for the construction of reliable speech recognition systems, which explains poverty of the market in systems of speech recognition for disabled people. If a person finds it difficult or is not capable of handling the mouse ports and the keyboard and if the keyboard or mouse is faulty, there have to be other ways to handle the operating system. Speech may act as one of them. There is a growing demand for systems capable of handling Operating System using only the voice commands given by a person. This project lets the user control computer functions and dictates text by voice. For example, a person can open the Microsoft Access with a voice command, such as Open Access, paintbrush by just saying Open Paint, or any control applications like Windows Security Center, Power Options or can even open
the browser, by saying Open Browser and start media player by saying Start Music etc Speech recognition applications are becoming more advantageous. In speech recognition, the sounds uttered by an orator are converted to a sequence of words recognized by a listener. The logic behind the speech recognition process is that it requires information to flow in one direction that is from sounds to words. This direction of information flow is mandatory and essential for a speech recognition model to function in many practical circumstances; an automatic speech recognizer has to function in several different but well-defined aural environments. Hybrid speech recognition systems are more effectual in noiseless environments. Signal Modelling and Pattern Matching are the two basic operations carried out in speech recognition system. Signal modelling is the process of converting the speech signal into a set of parameters whereas, pattern matching is the task of identifying parameter set from memory that closely matches the parameter set obtained from the input speech signal. Speech output is more impressive and comprehensible than the text output. Speech recognizer converts the spoken utterance into text. The computers can follow and understand the human voice commands as well as languages with the aid of speech recognition technology. The speech recognition process is performed by a software component known as the speech recognition engine. The primary function of the speech recognition engine is to process spoken input and translate it into text that an application understands. The application can then do one of two things: The application can interpret the result of the recognition as command. In this case, the application is a command and control application. An example of a command and control application is one in which the caller says check balance, and the application returns the current balance of the callers account. If an application handles the recognized text simply as text, then it is considered a dictation application. In a dictation application, if you said
2
check balance, the application would not interpret the result, but simply return the text check balance. Speech Recognition is used for many different purposes and there is no definitive list. However, below are some of the most common applications including: 1. Health Care - One of the most promising areas for the application of speech recognition is in helping handicapped people. People with motor limitations, who cannot use a standard keyboard and mouse, can use their voices to navigate the computer and create documents. For example, Braille input/output devices touch screen systems and trackballs have all been used successfully in the classrooms. Speech recognition technology has great potential to provide people with disabilities greater access to computers and a world of opportunities. 2. Military
2.1 High-performance fighter aircraft: Speech recognizers have been operated
successfully in fighter aircraft with applications including: setting radio frequencies, commanding an autopilot system, setting steer-point coordinates and weapons release parameters, and controlling flight displays. Some important conclusions from the work were as follows: 1. Speech recognition has definite potential for reducing pilot workload. 2. Achievement of very high recognition accuracy (95% or more) was the most critical factor for making the speech recognition system useful. 3. More natural vocabulary and grammar, and shorter training times would be useful, but only if very high recognition rates could be maintained. 4. Laboratory research in robust speech recognition for military environments has produced promising results which, if extendable to the cockpit, should improve the utility of speech recognition in high-performance aircraft.
2.2 Training Air Traffic: Speech recognition and synthesis techniques offer
the potential to eliminate the need for a person to act as pseudo-pilot, thus reducing training and support personnel. Air controller tasks are also characterized by highly structured speech as the primary output of the controller, hence reducing the difficulty of the speech recognition task.
3
to be very useful in these environments. A number of efforts have been undertaken to interface commercially available isolated-word recognizers into battle management environments. In one feasibility study, speech recognition equipment was tested in conjunction with an integrated information display for naval battle management applications. 3. Telephony and other domains - Speech Recognition in the field of telephony is now commonplace and in the field of computer gaming and simulation is becoming more widespread. The improvement of mobile processor speeds made feasible the speech-enabled Symbian and Windows Mobile Smart phones. Speech is used mostly as a part of User Interface, for creating pre-defined or custom speech commands.
2. SYSTEM ANALYSIS
2.1 INTRODUCTION
Speech recognition (SR) is the translation of spoken words into text. It is also known as "automatic speech recognition (ASR). Some SR systems use "training" where an individual speaker reads sections of text into the SR system. These systems analyze the person's specific voice and use it to fine tune the recognition of that person's speech, resulting in more accurate transcription.
systems for speech input to machine. For reasons ranging from technological curiosity about the mechanisms for mechanical realization of human speech capabilities to desire to automate simple tasks which necessitates human machine interactions and research in automatic speech recognition by machines has attracted a great deal of attention. Automatic speech recognition systems today find widespread application in tasks that require human machine interface, such as automatic call processing in telephone networks, and query based information systems that provide updated travel information, stock price quotations, weather reports, Data entry, voice dictation, access to information: travel, banking, Commands, Avionics, Automobile portal, speech transcription, Handicapped people (blind people) supermarket, railway reservations etc.
applications using a single voice command .At some point in the future, speech recognition may become speech understanding. This speech recognition that allow computers to decide what a person just said may someday allow them to grasp the meaning behind the words. Although it is a huge leap in terms of computational power and software sophistication, some researchers argue that speech recognition
development offers the most direct line from the computers of today to true artificial intelligence.
disabilities. Useful during natural calamities or typical situations. Can also be used as voice controlled operating system. Reduction in the cost of software as much as possible
3. SYSTEM STUDY
3.1 FEASIBILITY STUDY:
A feasibility study is an evaluation and analysis of the potential of the proposed project which is based on extensive investigation and research to give full comfort to the decisions makers. Feasibility studies aim to objectively and rationally uncover the strengths and weaknesses of an existing business or proposed venture, opportunities and threats as presented by the environment, the resources required to carry through, and ultimately the prospects for success.
A brief description of the business to assess more possible factor/s which could affect the study
The part of the business being examined The human and economic factor The possible solutions to the problems
At this level, the concern is whether the proposal is both technically and feasible.
definition and how it satisfies the requirements identified in the requirements analysis phase of system development.
Is there sufficient support for the management from the users? Will the system be used and work properly if it is being developed and implemented?
Will there be any resistance from the user that will undermine the possible application benefits? Under this category of service we conduct a study to analysis and
determine whether your business need can be fulfilled by using a proposed solution. The result of our operational feasibility Study will clearly outline that the solution proposed for your business is operationally workable and conveniently solves your problems under consideration after the proposal is implemented. This is sometimes referred to as Feasibility Evaluations. We would precisely describe how the system will interact with the systems and persons around. Our feasibility report would provide results of interest to all stakeholders.
10
11
Descriptions of data to be entered into the system Descriptions of operations performed by each screen Descriptions of work-flows performed by the system Descriptions of system reports or other outputs Who can enter the data into the system? How the system meets applicable regulatory requirements
4.5.2 RELIABLITY:
We made the system reliable by making the system developed with all exceptions handled.
12
4.5.3 PERFORMANCE:
The system will exhibit high performance because it can handle any sort of applications by a single voice command.
4.5.4 SUPPORTABILITY:
Since the project is developed in JAVA, the project will run on any operating system and it can be executed from any.
4.5.5 LEGAL:
The project is developed according GPL (general public Licence). Developed using open source technologies, hence the code can be given for free as well as services can be charged against the software act 2001.
13
14
15
5. SYSTEM DESIGN
5.1 INTRODUCTION
Design is concerned with identifying software components specifying relationships among components. Specifying software structure and providing blue print for the document phase. Modularity is one of the desirable properties of large systems. It implies that the system is divided into several parts. In such a manner, the interaction between parts is minimal clearly specified. Design will explain software components in detail. This will help the implementation of the system. Moreover, this will guide the further changes in the system to satisfy the further requirements.
2. Process: people, procedures or devices that use or produce (transform) Data. The
physical component is not identified.
4. Data Store: Here data are stored or referenced by a process in the system. Data Flow diagram for Hybrid Speech Recognition Model
Level 0:Speech Signal SPEECH RECOGNITION Text Format or Action OUTPUT monitors
INPUT
Level 1:-
SPEECH TO TEXT
OPEN APPLICATIONS
17
Level 2:-
SPEECH RECOGNITION
monitors
OUTPUT
SPEECH TO TEXT
OPEN APPLICATIONS
18
UML provides variety of documents in addition raw executable codes. The use case view of a system encompasses the use cases that describe the behavior of the system as seen by its end users, analysts, and testers.
19
The design view of a system encompasses the classes, interfaces, and collaborations that form the vocabulary of the problem and its solution. The process view of a system encompasses the threads and processes that form the system's concurrency and synchronization mechanisms. The implementation view of a system encompasses the components and files that are used to assemble and release the physical system. The deployment view of a system encompasses the nodes that form the system's hardware topology on which the system executes.
ACTOR: An actor represents a coherent set of roles that users of a system play when interacting with the use cases of the system. An actor participates in use case accomplish an overall purpose. An actor can represents the role of a human, a device, or any other systems.
20
SPEECH TO TEXT
User
OPEN APPLICATIONS
CALCULATOR
MUSIC
RUN PROGRAMS
User
OPEN ACCESS
SITE EMAIL
SITE FACEBOOK
21
User
String text ; String buffer ;
Speech recognition
String notepad; String paint;
speechcheck() ()
22
Each column represents the objects that participate in the interaction. Labels on solid arrow represent message names and may contain arguments. Actor initiating the process is shown in left column
23
24
25
Java, however, the content of information on the Internet has been a bland series of HTML documents. Web users are hungry for applications that are interactive, that users can execute no matter what hardware or software platform they are using, and that travel across heterogeneous networks and do not spread viruses to their computers. Java can create such applications. The Java programming language is a high-level language that can be characterized by all of the following buzzwords: Simple Architecture neutral Object oriented Portable Distributed High performance Interpreted Multithreaded Robust Dynamic Secure
With most programming languages, you either compile or interpret a program so that you can run it on your computer. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first you translate a program into an intermediate language called Java byte codes the platformindependent codes interpreted by the interpreter on the Java platform. The interpreter
26
parses and runs each Java byte code instruction on the computer. Compilation happens just once; interpretation occurs each time the program is executed. The following figure illustrates how this works.
Figure 6.1: Working Of Java You can think of Java byte codes as the machine code instructions for the java virtual machine (Java VM). Every Java interpreter, whether its a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java bytecodes help make write once, run anywhere possible. You can compile your program into bytecodes on any platform that has a Java compiler. The bytecodes can then be run on any implementation of the Java VM. That means that as long as a computer has a Java VM, the same program written in the Java programming language can run on Windows 2000, a Solaris workstation, or on an iMac. 6.2 The Java Platform: A platform is the hardware or software environment in which a program runs. Weve already mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and MacOS. Most platforms can be described as a combination of the operating system and hardware. The Java platform differs from most other platforms in that its a software-only platform that runs on top of other hardware-based platforms. The Java platform has two components: The Java Virtual Machine (Java VM) The java Application Programming Interface (Java API)
27
Java VM is the base for the Java platform and is ported onto various hardware-based platforms.The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages.The following figure depicts a program thats running on the Java platform. As the figure shows, the Java API and the virtual machine insulate the program from the hardware.
Figure 6.2: The Java Platform Native code is code that after you compile it, the compiled code runs on a specific hardware platform. As a platform-independent environment, the Java platform can be a bit slower than native code. However, smart compilers, well-tuned interpreters, and just-in-time byte code compilers can bring performance close to that of native code without threatening portability. 6.3 Working of Java: For those who are new to object-oriented programming, the concept of a class will be new to you. Simplistically, a class is the definition for a segment of code that can contain both data and functions .When the interpreter executes a class, it looks for a particular method by the name of main, which will sound familiar to C programmers. The main method is passed as a parameter an array of strings (similar to the argv[] of C), and is declared as a static method. To output text from the program, execute the println method of System. out, which is javas output stream. UNIX users will appreciate the theory
28
behind such a stream, as it is actually standard output. For those who are instead used to the Wintel platform, it will write the string passed to it to the users program. 6.4 What Can Java Technology Do? The most common types of programs written in the Java programming language are applets and applications. If youve surfed the Web, youre probably already familiar with applets. An applet is a program that adheres to certain conventions that allow it to run within a Java-enabled browser. However, the Java programming language is not just for writing cute, entertaining applets for the Web. The general-purpose, high-level Java programming language is also a powerful software platform. Using the generous API, you can write many types of programs. An application is a standalone program that runs directly on the Java platform. A special kind of application known as a server serves and supports clients on a network. Examples of servers are Web servers, proxy servers, mail servers, and print servers. Another specialized program is a servlet. A servlet can almost be thought of as an applet that runs on the server side. Java Servlets are a popular choice for building interactive web applications, replacing the use of CGI scripts. Servlets are similar to applets in that they are runtime extensions of applications. Instead of working in browsers, though, Servlets run within Java Web servers, configuring or tailoring the server. How does the API support all these kinds of programs? It does so with packages of software components that provides a wide range of functionality. Every full implementation of the Java platform gives you the following features: The essentials : Objects, strings, threads, numbers, input and output, data structures, system properties, date and time, and so on. Applets: The set of conventions used by applets. Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram Protocol) sockets, and IP (Internet Protocol) addresses.
29
Internationalization: Help for writing programs that can be localized for users worldwide. Programs can automatically adapt to specific locales and be displayed in the appropriate language.
Security: Both low level and high level, including electronic signatures, public and private key management, access control, and certificates. Software components: Known as JavaBeansTM, can plug into existing component architectures. Object serialization: Allows lightweight persistence and communication via Remote Method Invocation (RMI). Java Database Connectivity (JDBCTM) wide range of relational databases. The Java platform also has APIs for 2D and 3D graphics, accessibility, : Provides uniform access to a
servers, collaboration, telephony, speech, animation, and more. The following figure depicts what is included in the Java 2 SDK.
30
An HMM attempts to determine, based on the syllables already spoken, what the next syllable will be. This is then applied to words as well, as the first Sphinx system kept a library of word pairs which were allowed by the language, and which were not. The HMM would determine the highest probability for the next word based on the probability of which words had followed the word spoken in the past. This makes it easier for the HMM to learn how a speaker creates sentences and phrases, as well as which words are most likely to be used in a given situation. The HMM system used by Sphinx ensured a very high accuracy rate for the first time in the history of Speech-to-Text Systems with a large vocabulary.
6.6 Capabilities of
like:
Live mode and batch mode speech recognizers, capable of recognizing discrete and continuous speech. Generalized pluggable front end architecture. Generalized pluggable language model architecture. Includes pluggable language model support for ASCII and binary versions of Java Speech API Grammar Format (JSGF), and ARPA-format FST grammars.
Generalized search management. Includes pluggable support for breadth first and word pruning searches Generalized acoustic model architecture. Includes pluggable support for Sphinx-3 acoustic models.
Acoustic Models: An acoustic model is created by taking audio recordings of speech, and their text transcriptions, and using software to create statistical representations of the sounds that make up each word. It is used by a speech recognition engine to recognize speech. Currently, Sphinx-4 uses models created with SphinxTrain. SphinxTrain generates acoustic models in the format used by Sphinx-3. The two main acoustic models that are used by Sphinx-4, TIDIGITS and Wall Street Journal, are already included in the "lib" directory of the binary distribution.
31
Language Models: Language modelling is used in many natural language processing applications such as speech recognition tries to capture the properties of a language, and to predict the next word in a speech sequence. The language model used by Sphinx-4 follows the ARPA format. BNF-Style Grammars: Sphinx-4 uses the Java Speech API Grammar Format (JSGF) to perform speech recognition using a BNF-style grammar. Currently, you can only use JSGF grammars with the FlatLinguist.
32
7. SAMPLE CODE
package edu.cmu.sphinx.demo.helloworld; import edu.cmu.sphinx.demo.*; import edu.cmu.sphinx.frontend.util.Microphone; import edu.cmu.sphinx.recognizer.Recognizer; import edu.cmu.sphinx.result.Result; import edu.cmu.sphinx.util.props.ConfigurationManager; import java.io.*;
public static void main(String[] args) throws FileNotFoundException, IOException { ConfigurationManager cm;
HelloWorld.class.getResource("helloworld.config.xml") ); }
Recognizer recognizer = (Recognizer) cm.lookup("recognizer"); recognizer.allocate(); Microphone microphone = (Microphone) cm.lookup("microphone"); if (!microphone.startRecording()) { System.out.println("Cannot start microphone."); recognizer.deallocate();
33
System.exit(1); }
System.out.println("Say: ( this is a | speech project | designed in java | uses sphinx to | convert the speech | into text format )"); while (true) { System.out.println("Start speaking. Press Ctrl-C to quit.\n");
if (result != null) { String resultText = result.getBestFinalResultNoFiller(); FileOutputStream fos=new FileOutputStream("d:\\sptext.doc",true); BufferedOutputStream bos=new BufferedOutputStream(fos,1024); byte b[]=resultText.getBytes(); bos.write(b); bos.close(); System.out.println("You said: " + resultText + '\n'); } else { System.out.println("I can't hear what you said.\n"); } } } }
34
#JSGF V1.0;
grammar hello;
public <greet> = ( this is a | speech project | designed in java | uses sphinx | to convert the speech | into text format );
import edu.cmu.sphinx.frontend.util.Microphone; import edu.cmu.sphinx.recognizer.Recognizer; import edu.cmu.sphinx.result.Result; import edu.cmu.sphinx.util.props.ConfigurationManager; import edu.cmu.sphinx.util.props.PropertyException; import java.io.File; import java.io.IOException; import java.net.URL; import javax.speech.recognition.ResultToken; public class HelloWorld { static int i=1; static String resultText; public static void main(String[] args) throws InstantiationException { try { URL url; if (args.length > 0) { url = new File(args[0]).toURI().toURL(); } else {
35
url = HelloWorld.class.getResource("helloworld.config.xml"); }
System.out.println("Loading..."); ConfigurationManager cm = new ConfigurationManager(url); Recognizer recognizer = (Recognizer) cm.lookup("recognizer"); Microphone cm.lookup("microphone"); recognizer.allocate(); if (microphone.startRecording()) { System.out.println("Say: ( Power Options | Music | Device Manager | Security Center | Calculator )"); System.out.println("Say: ( open access| open note |open paint )"); System.out.println("Say: ( run Adobe | run nero | run programs | run browser )"); System.out.println("Say: ( site face book | site email )"); while (true) { System.out.println("Start speaking. Press Ctrl-C to quit.\n"); Result result = recognizer.recognize(); if (result != null) { System.out.println("Enter your choice"+ "\n"); resultText = result.getBestFinalResultNoFiller(); System.out.println("You said: " + resultText + "\n"); if (resultText.equalsIgnoreCase("Power Options")) { try { Process p; p powercfg.cpl")} catch(Exception ae){} }
36
microphone
(Microphone)
Runtime.getRuntime().exec("cmd
/c
if (resultText.equalsIgnoreCase("run Adobe")){
try{ Process p; p = Runtime.getRuntime().exec("cmd /c start photoshop"); } catch(Exception ae){} } if (resultText.equalsIgnoreCase("calculator")) { try{ Process p; p = Runtime.getRuntime().exec("cmd /c calc"); }catch(Exception ae){} } if (resultText.equalsIgnoreCase("Security Center")) { try{ Process p; p wscui.cpl"); }catch(Exception ae){} } else if (resultText.equalsIgnoreCase("Music")) { try{ Process p; p = Runtime.getRuntime().exec("cmd /c start wmplayer"); }catch(Exception ae){} } else if (resultText.equalsIgnoreCase("run Programs")) { try{ Process p;
37
Runtime.getRuntime().exec("cmd
/c
p = Runtime.getRuntime().exec("cmd /c start appwiz.cpl"); }catch(Exception ae){} } else if(resultText.equalsIgnoreCase("open paint")) { try{ Process p; p = Runtime.getRuntime().exec("cmd /c start mspaint"); }catch(Exception ae){} }
p=Runtime.getRuntime().exec("C:\\ProgramFiles\\Mozilla Firefox\\firefox.exe"); }catch(Exception ae){} } else if (resultText.equalsIgnoreCase("site email")) { try{ Process p; String st[] = {"C:\\Program Files\\Mozilla Firefox\\firefox.exe","http://www.gmail.com"}; p = Runtime.getRuntime().exec(st); }catch(Exception ae){} } else if (resultText.equalsIgnoreCase("site face book")) { try{ Process p;
38
String
st[]={"C:\\Program
Files\\Mozilla
else if (resultText.equals("open note")) { try{ Process p; p = Runtime.getRuntime().exec("cmd /c start notepad"); }catch(Exception ae){} } else if (resultText.equalsIgnoreCase("start word")) { try{ Process p; p = Runtime.getRuntime().exec("cmd /c start winword"); }catch(Exception ae){} } else if (resultText.equalsIgnoreCase("run nero")) { try{ Process p; p = Runtime.getRuntime().exec("cmd /c start nero"); }catch(Exception ae){} } else if (resultText.equalsIgnoreCase("open Access")) { try{ Process p; p = Runtime.getRuntime().exec("cmd /c start msaccess");
39
}catch(Exception ae){} } else if (resultText.equalsIgnoreCase("Device Manager")) { try{ Process p; p devmgmt.msc"); }catch(Exception ae){} } = Runtime.getRuntime().exec("cmd /c start
} else { System.out.println("I can't hear what you said.\n"); } } } else { System.out.println("Cannot start microphone."); recognizer.deallocate(); System.exit(1); } } catch (IOException e) { System.err.println("Problem when loading HelloWorld: " + e); e.printStackTrace(); }catch (PropertyException e) { System.err.println("Problem configuring HelloWorld: " + e); e.printStackTrace(); } } }
40
#JSGF V1.0;
public <greet> = ( Power Options | Music | Device Manager | Security Center | calculator );
public <action> = (run ) ( Adobe | nero | Programs | Browser ); public <net> = (site) (face book | email)
41
8. SCREEN SHOTS
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
9. SYSTEM TESTING
9.1 TEST OBJECTIVES
Software testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software. Testing is a process of technical investigation, performed on behalf of stakeholders, that is intended to reveal quality related information about the product with respect to the context in which it is intended operate. This includes, but is not limited to, the process of executing a program or application with the intent of finding errors. Quality is not an absolute; it is value to some person. With that in mind, testing furnishes a criticism or comparison that compares the state and behaviour of the product against a specification. An important point is that software testing should be distinguished from the separate discipline of software quality assurance (SQA), which encompasses all business process areas, not just testing. There are many approaches to software testing, but effective testing of complex product is essentially a process of investigation, not merely a matter of creating and following routine procedure. One definition of testing is the process of questioning a product in order to evaluate it, where the question are operations the tester attempts to execute with the product, and the product answers with its behaviour in reaction to the probing of the tester[citation needed]. Although most of the intellectual processes of testing are nearly identical to that of review or inspection, the word testing is connoted to mean the dynamic analysis of the product- putting the product through its paces. Some of the common quality attributes include capability, reliability, efficiently, portability, maintainability, compatibility and usability. A good test is sometimes describes as one which reveals an error; however, more recent thinking suggests that a good test is one which reveals information of interest to someone who matters within the project community.
57
Introduction
Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. In fact, testing is the one step in the software engineering process that could be viewed as destructive rather than constructive. A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction of software. Testing is the set of activities that can be planned in advance and conducted systematically. The underlying motivation of program testing is to affirm software quality with methods that can economically and effectively apply to both strategic to both large and small-scale systems. The best way to minimize errors is to detect and remove errors during analysis and design, so that there are few errors in the source code. There are three major categories of software errors: Requirement errors Design errors Implementation errors The following testing objectives are to be remembered: Testing is a process of executing a program with the intent of identifying an error A good test case is one that has high probability of finding an undiscovered error A successful test case is one that uncovers an error that is yet undiscovered
58
The software engineering process can be viewed as a spiral. Initially system engineering defines the role of software and leads to software requirement analysis where the information domain, functions, behaviour, performance, constraints and validation criteria for software are established. Moving inward along the spiral, we come to design and finally to coding. To develop computer software we spiral in along streamlines that decrease the level of abstraction on each turn. A strategy for software testing may also be viewed in the context of the spiral. Unit testing begins at the vertex of the spiral and concentrates on each unit of the software as implemented in source code. Testing progress by moving outward along the spiral to integration testing, where the focus is on the design and the construction of the software architecture. Talking another turn on outward on the spiral we encounter validation testing where requirements established as part of software requirements analysis are validated against the software that has been constructed. Finally we arrive at system testing, where the software and other system elements are tested as a whole. The purpose of testing is to discover errors. Testing is the process of trying to discover every conceivable fault or weakness in a work product. It provides a way to check the functionality of components, sub assemblies, assemblies and/or a finished product It is the process of exercising software with the intent of ensuring that the software system meets its requirements and user expectations and does not fail in an unacceptable manner. There are various types of test. Each test type addresses a specific testing requirement.
oriented period, where testing was often associated to debugging: there was no clear difference between testing and debugging. From 1957-1978 there was the demonstration oriented period where debugging and testing was distinguished now in this period it was shown, that software satisfies the requirements. The time between 1979-1982 is announced as the destruction oriented period, where the goal was to find errors. 1983-1987 is classified as the evaluation oriented period where tests were to demonstrate that software satisfies its specification, to detect faults and to prevent faults. Dr. Hetzal writing the book The complete guide of software testing. Both works were pivotal in to todays testing culture and remain a consistent source of reference. Dr.Gelperin and jerry E. Durant also want on to develop high impact inspection technology that builds upon traditional inspections but utilizes a test driven additive.
an actual XML file) or configuration files directly. It can also be used to testers who know the internal workings or algorithm of the software under test and can write tests specifically for the anticipated results. For example, testing a data warehouse implementation involves loading the target database with information, and verifying the correctness of data population and loading of data into the correct tables.
5.
6.
Say: Calculator
62
7.
8.
9.
10.
11.
All the test cases mentioned above passed successfully. No defects encountered.
63
10. CONCLUSION
Speech recognition is one of the most integrating areas of machine intelligence, since, humans do a daily activity of speech recognition Whether due to technological curiosity to build machines that mimic humans or desire to automate work with machines, research in speech and speaker recognition, as a first step toward natural human-machine communication, has attracted much enthusiasm over the past five decades. We have also encountered a number of practical limitations which hinder a widespread deployment of application and services. In most speech recognition tasks, human subjects produce one to two orders of magnitude less errors than machines. There is now increasing interest in finding ways to bridge such a performance gap
The advantages of our system in comparison to more sophisticated approaches mentioned are as follows. This project provides sufficiently accurate speech detection results as a frontend for ASR-systems Our approach is computationally efficient and relatively simple to implement without deeper knowledge about speech recognition interiors and sophisticated classifiers like HMMs, GMMs or LDA. Therefore valuable for groups lacking background knowledge in speech recognition and aiming for a robust speech recognition system in restricted domains.
What we know about human speech processing is very limited. Although these areas of investigations are important the significant advances will come from studies in acoustic phonetics, speech perception, linguistics, and psychoacoustics.
alleviate many of the barriers associated with global communication and has therefore captured the attention of various sectors. At some point in the future, speech recognition may become speech understanding. The statistical models that allow computers to decide what a person just said may someday allow them to grasp the meaning behind the words. Future systems need to have an efficient way of representing, storing, and retrieving knowledge required for natural conversation. Although it is a huge leap in terms of computational power and software sophistication, some researchers argue that speech recognition development offers the most direct line from the computers of today to true artificial intelligence. Speech recognition has attracted scientists as an important discipline and has created a technological impact on society and is expected to flourish further in this area of human machine interaction.
65
11. BIBILOGRAPHY
1. Markoff, John; Talking to Machines: Progress Is Speeded; The New York Times, Business Technology; July 6, 1988. 2. Singh, Rita; The Sphinx Speech Recognition Systems; Encyclopaedia of Human Computer Interaction; 2004. 3. Sriharuksa, Janwit. (2002) An ASIC Design of Real Time Speech Recognition (Masters research study, Asian Institute of Technology, 2002). Bangkok: Asian Institute of Technology. 4. Willie Walker, Paul Lamere, Philip Kwok, Bhiksha Raj, Rita Singh, Evandro Gouvea, Peter Wolf, Joe Woelfel Sphinx-4: A Flexible Open Source Framework for Speech Recognition , Sun Microsystems Inc., Tech Rep.; TR-2004-139; 2004. 5. Terry Thompson; "Tech Tips: Are You Talking To Your Computer Again?" Disabilities, Opportunities, Internetworking, and Technology, University of Washington; 2006. 6. R. Stuckless; Recognition means more than just getting the words right: Beyond accuracy to readability; Speech Technology, Oct. /Nov. 1999, pp. 3035; 1999. 7. Willie Walker, Paul Lamere, Philip Kwok, Bhiksha Raj, Rita Singh, Evandro Gouvea, Peter Wolf, Joe Woelfel; Sphinx-4: A Flexible Open Source Framework for Speech Recognition; Sun Microsystems Inc., Tech Rep.; TR-2004-139; 2004 8. Michael F. Tear; Spoken dialogue technology: enabling the conversational user interface ACM Computing Surveys, Volume 34, pp. 90-169; 2002.
66