Report 1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 57

Introduction

CHAPTER 1
INTRODUCTION
1.1 Importance of forums
Forum is an online conversation and interactions site where individuals can ask concerns
appropriate to their content by developing a thread and also help others by providing solutions to
their threads addressing each other and also known as forum. Forums are fantastic source of
details that you can often not find anywhere else in the web. It is the right place where you will
get appropriate details appropriate to your specifications where individuals can return their
concepts or opinions. By making an effective trademark web link for each your material, you can
see an excessive improve in our inbound links and also visitors. Before you create any material to
forums, create sure the links are do follow links. For example you can ask anything appropriate
to seo (SEO) in a line appropriate to SEO.
Rules for forums:
1. Create your profile complete
2. Present yourself to the community
1

3. Create a signature that is appropriate but effective.

Chapter 1, Section1.2
4. Stay on subject and Your links should be appropriate to the conversation do not just
fall something in to keep your signature
5. Publish your image so that group forum customers come to know you by your image.
6. Dont trash the board and response often for the best results
Advantages of forum:
1. Easy to obtain popular visibility for your web site.
2. This strategy produces visitors to your web page and also allows to market your business.
3. It is a type of immediate promotion that really improves your ROI.

1.2 Benefits of forum posting


1. You can create back link to your website in signature so each time you will make a
publish link is created to your website from that site.
2. Forums are used for immediate marketing of items as you can industry your items in
certain conversations where other customers are asking for some good items and services
3. Web forums can be used to obtain immediate as well as oblique visitors to your web page.
As many number of content created by a particular individual in a community, profits
more popularity.

1.2.1 How forums give high quality back links


You can get back links to your blog/website just by publishing your content and concerns
on forum. There is a part known as Signature which situated just below each and every publish
you made on a forum you need to do is add your link within this signature box with the anchortext. Once you released that particular community publish it will be listed in Google then you
will get top quality back links from that particular forum.
2

Introduction

1.2.2 How forums give targeted traffic:


Forums deliver traffic to your blog/website. Since you placed a link on your signature box
with an illustrative anchor-text, the people who prefers to read no your anchor-text will visit your
website. Then you will get more guests to your website.

1.3 Motivation
Web forums are the stock of information that has many questions that is common for most
of the people it also has the answers for those question.
The forums are little complex to use and can only be used by those who can type and see
but the people that cant see the forum becomes useless for them.
The people that cant see also have loads of information that has to spread among people
so the knowledge can be harvested for good purpose and may solve someones problem or their
problems can be solved by forum itself.
Hence to make forum useful for the people who cant see we can use voice synthesis and
recognition that will make are web forum voice enabled.

1.4 Scope for future


Assistive technology is becoming increasingly needed in todays world. There is a
need to introduce unaided individuals to the wealth of knowledge available on the
forum. There is a need to eliminate the need of unaided individuals on the third individual and
help him become independent.
Yet, they sometimes might need help of the third individual. Assistive technologies can
be used in schools to create cost-effective interactive learning applications which provide
quality education. In colleges so that unaided individuals are helped to cope up with their
3

friends. In post graduates and undergraduate environments where one use of assistive
technology become critical

Chapter 1, Section 1.5

to not only cope but understand the subject. In co-operate environments where assistive
technology is used to interactive with the environment.

1.5 Organization of report


The project report is aimed to give a comprehensive and thorough understanding of the
project to any of its readers. It intends to cover every aspect of the project from the planning to
the scheduling of tasks to the technical aspects of the project. Keeping this aim in mind the
project report is divided into five chapters each of which has a detailed documentation of the
various stages of our project.
Introduction: This chapter gives a gist about the project that is being implemented. It gives an
idea about why implementation of this project is important. It deals with the user experience of
various users from multidisciplinary background that can utilize the application to analyses
themselves and improve their performance. Here we are using the new immerging technology of
PHP language and MySQL to make this application, because it is easily available and cost
effective. Our application is very useful for blind people s as well as for individuals who are
curious in expanding their knowledgebase.

Proposed Work and Literature Review: This chapter talks about problem definition. For
defining a problem this implies that it is not sufficient to describe the existing state. Therefore, we
speak consciously of the situation that someone is or is not satisfied with, like what problems will
exist if this application was not implemented. The main reason for developing this application is
that our application will act as a bridge between the individuals and the learning system which
will provide diverse solutions and analytics that can help evaluate the individual using certain key
parameter indicators.

Analysis, Planning and Requirement: This chapter does a feasibility study of the project.
4

Feasibility study is determining whether a problem is worth fixing involves a feasibility study.
The aim of the feasibility study is to understand the problem and to determine whether it is worth
Introduction
proceeding. It also consists of planning which involves calculating about the various aspects of
the project like problem evaluation, development stages etc. in advance. It also includes
scheduling which consists of a time line chart which helps to determine the amount of time that
each of the development stages is going to take.
Design and implementation: This chapter talks about the design of the project by means of use
case diagram, flow charts etc. These designs are an integral part of any project as they help in
understanding the project as a whole and modularize it as and when required. Depending upon
these designs implementation of the project is done followed by its installation. It also keeps a
record of any deviation from the planned schedule of the project. It also maintains a log of all the
remedial measures to make up for lost time.

Results and discussion: This chapter talks about the coherence about what we were trying to
achieve and the product that actually shaped up.

Chapter 2, Section 2.1

Chapter 2
PROPOSED WORK AND LITERATURE REVIEW

2.1 Problem definition


Although the present forums has wide range of categories, some forums are only single
categories oriented, some provide dynamic creation of categories, these categories may contain
several topics of discussion and then at last, set of question that represent or comes from these
topics and the answers answered by the several users with the most appropriate answers at the
top.

These forums are good in terms of knowledge content but it lacks the essential user
interaction i.e. the interface is only visual and uses pointers elements such as mouse or keyboards
which becomes little cumbersome when the user has to answers to multiple questions.

Proposed work and literature review

Our aim is to create a forum that can not only used with the traditional visual interface but it can
also be used without visual interface i.e. voice this will enhance the user interaction as the user
need to say things and the appropriate actions will be taken by the forum itself.

There is no such forum available yet that uses the voice interface to interact with the
forum. Therefore we are making such forum that can not only be used by the physical abled
people but also aid the blind people to interact with the forum and share their knowledge with
everyone.
This will lead us to a forum with more no of users and if there are more no of users then
there will be more questions and more than one solution to a problem.

2.2 Literature survey


Today speech technology plays an important role in many applications. Speech
technology has moved from research to commercial application. Many human machine interfaces
have been invented and applied today in telephone food ordering system, airport information
system, ticketing system, restaurant reservation system, etc. Investigation has shown that more
than 85% of people are satisfied with the capability of the information inquiring service system
of speech recognition.

2.2.1 History

The concept of speech recognition started somewhere in 1940s, practically the first speech
recognition program was appeared in 1952 at the bell labs, that was about recognition of a digit in
a noise free environment.

1940s and 1950s consider as the foundational period of the speech recognition
technology, in this period work was done on the foundational paradigms of the speech
recognition that is automation and information theoretic models.
Chapter 2, Section 2.2

In the 1960s we were able to recognize small vocabularies (order of 10-100words) of


isolated words, based on simple acoustic-phonetic properties of speech sounds. The key
technologies that were developed during this decade were, filter banks and time
normalization methods.

In 1970s the medium vocabularies (order of 100-1000 words) using simple templatebased, pattern recognition methods were recognized.

In 1980s large vocabularies (1000-unlimited) were used and speech recognition problems
based on statistical, with a large range of networks for handling language structures were
addressed. The key invention of this era were hidden Markova model (HMM) and the
stochastic language model, which together enabled powerful new methods for handling
continuous speech recognition problem efficiently and with high performance.

In 1990s the key technologies developed during this period were the methods for
stochastic language understanding, statistical learning of acoustic and language models,
and the methods for implementation of large vocabulary speech understanding systems.

After the five decades of research, the speech recognition technology has finally entered
marketplace, benefiting the users in variety of ways. The challenge of designing a
machine that truly functions like an intelligent human is still a major one going forward

2.2.2 Feature extraction


8

The speech feature extraction in a categorization problem is about reducing the


dimensionality of the input vector while maintaining the discriminating power of the signal. As
we know from fundamental formation of speaker identification and verification system, that the
number of training and test vector needed for the classification problem grows with the
dimension of the given input so we need feature extraction of speech signal.

Proposed Work and Literature Review


Table 2.2.1 Method of Feature extraction

Sr.No

Method

Property

Procedure for Implementation

Principal Component analysis


(PCA)

Non linear feature extraction method,


Linear map, fast, eigenvector-based

Traditional, eigenvector base method,


also known as karhuneu-Loeve
expansion; good for Gaussian data

Linear Discriminate
Analysis(LDA)

Non linear feature extraction method,


Supervised linear map; fast,
eigenvector-based

Better than PCA


for classification[9]

Independent Component
Analysis (ICA)

Non linear feature extraction method,


Linear map, iterative non- Gaussian

Blind course separation, used


for de-mixing non- Gaussian
distributed sources(features)

Linear Predictive coding

Static feature extraction


method,10 to 16 lower order
coefficient,

It is used for feature Extraction at lower


order

Cepstral Analysis

Static feature extraction method,


Power spectrum

Used to represent spectral envelope[9]

Mel-frequency
scale analysis

Static feature extraction method,


Spectral analysis

Spectral analysis is done with a fixed


resolution along a Subjective frequency
scale i.e. Mel-frequency Scale.

Filter bank analysis

Filters tuned required frequencies

Mel-frequency cepstrum
(MFFCs)

Kernel based
feature extraction
method

10

Wavelet

11

Dynamic feature extractions


i)LPC
ii)MFCCs

12

Spectral subtraction

Power spectrum is computed by


performing Fourier Analysis

This method is used for find our


features

Non linear transformations

Dimensionality reduction leads to better


classification and it is used to redundant
features, and improvement in
classification error.[11]

Better time resolution than Fourier


Transform

It replaces the fixed bandwidth of


Fourier transform with one proportional
to frequency which allow better time
resolution at high frequencies than
Fourier Transform

Acceleration and delta coefficients


i.e. II and III order derivatives of
normal LPC and MFCCs coefficients

It is used by dynamic or runtime Feature

Robust Feature extraction method

It is used basis on Spectrogram[4]

13

Cepstral mean subtraction

14

RASTA filtering

15

Integrated Phoneme subspace


method (Compound Method)

Robust Feature extraction

It is same as MFCC but working on


Mean statically parameter

For Noisy speech

It is find out Feature in Noisy data

A transformation based on
PCA+LDA+ICA

Higher Accuracy than the existing


Methods[14]

Chapter 2, Section 2.3

2.3 Methodology
The methodology proposed in this research paper consists of two techniques MFCC and HMM.
MFCC is used to extract the voice features from the voice sample. And HMM is used to
recognize the speaker on the basis of extracted features. For this it first train the extracted features
in the format of HMM parameters and to find the log value of the entire voice for recognition.
Forward backward estimation technique is used to train the extracted features and find its
parameters. This section explains the methodology step by step by explaining (Figure 2.3.1) the
two techniques MFCC and HMM.
Start

Voice
sample

Feature
extraction MFCC

Matching

Feature matching
HMM log

Database
Access to
system

Yes
NO

Check
10

Use account

Validity

End

Fig 2.3 Proposed system for voice processing

Analysis and Planning

Chapter 3
ANALYSIS AND PLANNING

3.1 Feasibility study


A feasibility study is an evaluation of a proposal designed to determine the difficulty in
carrying out a designated task. A feasibility study looks at the viability of an idea with an
emphasis on identifying potential problems and attempts to answer one main question: Will the
idea work and should you proceed with it?
Before you begin writing your business plan you need to identify how, where, and to
whom you intend to sell a service or product. You also need to assess your competition and figure
out how much money you need to start your business and keep it running until it is established.
11

Feasibility studies address things like where and how the business will operate. They
provide in-depth details about the business to determine if and how it can succeed, and serve as a
valuable tool for developing a winning business plan.

Chapter 3, Section 3.1


A Voice Enabled forum is a website or section of a website that allows visitors to
communicate with each other by posting messages. Most forums allow anonymous visitors to
view forum postings, but require you to create an account in order to post messages in the forum.
When
posting in a forum, you can create new topics (or "threads") or post replies within existing
threads. Since Voice Enabled forums are comprised of user-generated content (UGC), they
continue to grow as long as users visit the site and post messages.
Because forums are constantly growing, they have become a large part of the Web. In
fact, if you search for help on a certain topic, there is a good chance one or more forum pages
will appear in the top results. After all, if you have a question about something, odds are you're
not the only one. You can use forums to glean knowledge from others who have shared your
questions in the past. Conversely, you can help others by sharing your ideas and answers in an
online forum.
NOTE: Web forums are also called Internet forums, discussion boards, and online bulletin
boards.
Voice Enabled forums differ from chat rooms in that messages are often longer than one line of
text, and are at least temporarily archived. It also, depending on the access level of a user or the
forum set-up, a posted message might need to be approved by a moderator before it becomes
visible.
Forums have a specific set of jargon associated with them; e.g. a single conversation is
called a "thread", or topic.

12

A discussion forum is hierarchical or tree-like in structure: a forum can contain a number


of sub forums, each of which may have several topics. Within a forum's topic, each new
discussion started is called a thread, and can be replied to by as many people as so wish.
Depending on the forum's settings, users can be anonymous or have to register with the
forum and then subsequently log in in order to post messages. On most forums, users do not have
to log in to read existing messages.

3.1.1 Technical feasibility


The assessment is based on an outline design of system requirements in terms of Input,
Processes, Output, Fields, Programs, and Procedures. This can be quantified in terms of volumes
Analysis and Planning

of data, trends, frequency of updating, etc. in order to estimate whether the new system will
perform adequately or not. Technological feasibility is carried out to determine whether the
company has the capability, in terms of software, hardware, personnel and expertise, to handle
the completion of the project.

3.1.2 Operational feasibility


Operational feasibility is a measure of how well a proposed system solves the problems,
and takes advantages of the opportunities identified during scope definition and how it satisfies
the requirements identified in the requirements analysis phase of system development.

3.1.3 Schedule feasibility:


Schedule feasibility is a very important dimension of this project as all the databases of
the individuals needs to be up to date. The application must show the user the current
performance statistics and its comparison with the average users.

3.1.4 Market feasibility:


The focus is mainly on single section of forum with speech engine and enable the forum
with voice navigation. This section include text to speech and speech to text, portion of the
speech engine which distinguishes it from other forum in the market
13

3.1.5 Financial feasibility:


Financial capital investment includes the cost required to make an account on the Google
App Engine from where the user will be allowed to access this application for free.

3.1.6 Resource feasibility:


PHP bb3 and bootstrap framework was used to make this application along with the
MySQL database. Bootstrap Framework is a standard tool used for such scalable application
development due to its user friendliness in providing various sample code snippets which can be
modified and used according to our requirements.
Chapter 3, Section 3.1

3.1.7 Organizational feasibility:


Defines the legal and corporate structure of the business, may also include professional
background information about the founders and what skills they can contribute to the business.

3.2 Project planning


We proposed our work in a step by step approach. Following are the way that how we
proposed our weekly. This is our chronological action plan that was necessary to carry out the
proposed work for the entire duration from June 2014 to April 2015.
The complete analysis and planning of the system can be divided into the following stages:
1. Problem definition stage-we studied the different forum structures and found out the
suitable forum structure and API to be used for our voice enabled web forum.
2. Designing Dummy forum:-Here we created the dummy web forum structure
3. Implementing Dummy Forum using phpbb3 framework:-using phpbb3 we implemented
the dummy web forum structure and analyzed the working of the web forum and found
out the different drawbacks and started implementing the actual forum.
4. Designing the front end-we designed the simpler front end for the web forum that makes
interaction little easier.
14

5. Writing actual code for forum website- PHP 5.0 for backend coding and simple html5
elements
6. Compiling the code-For compiling the code we used WAMP server as well as XAMMP
server. These are the available servers for implementing the PHP code.
7. Forum is integrated with twitter bootstrap framework-the html5 elements were then
decorated using twitter bootstrap frame work so that it look nicer and little interactive.
8. Designing the Database for forum-Database is designed using the MYSQL database using
the PHP MYADMIN tool which is there in the WAMP or XAMMP server.
9. Forum is integrated with voice enabled-We used

Analysis and Planning

10. Testing the forum: The forum was tested under a LAN network where the users were free
to interact with the forum. It was working fine.
11. Deployment of forum- the web forum will be deployed so that to will become usable to
the global users.

Semester VII: 14 weeks


Table 3.2.1 Project planning of semester VII

Sr.no

Task

Activity

Duration in
weeks

Project

Brainstorm various potential domains

Identification and

related to our field.

selection

After approval from guide, identify and


select project topic.

Project initiation

Develop Project Plan

Analysis and

Decide Hardware and software

Design

requirement,

and planning
3

Design Architecture and Data Flow


15

Study of

Diagram, Screen Design.


Study of PHP, Bootstrap, jQuery,

Technologies

Html5 and database MySQL and php

bb3 and bootstrap framework required


during implementation phase.
5

Interim Report

Prepare Interim Report for Semester

VII

Chapter 3, Section 3.3

Semester VIII: 15 weeks


Table 3.2.2 Project planning of semester VIII

Sr.
No
6.

7.

Task

Activity

Duration

Update

Look at the system again and

in weeks
1

Requirements,

remove any inefficiency.

Plan (if necessary)


Implement
Module I includes
Module I

Authentication and
Authorization procedure.

Implement

Module II includes database

Module II

distribution, evaluation

Implement

engine.
Module III includes Notification

Module III

Process, Data Archival and

Responsive i.e. compatible


with mobile ,tablet and
10

Testing

desktop
Testing on each Module first
then move towards integration
testing.
16

11

Final Report

Prepare Final Report for the

Project

3.3 Scheduling progress (Timeline chart)


A timeline is a way of displaying a list of events in chronological order, sometimes
described as a project artifact. It is typically a graphic design showing a long bar labelled with
dates alongside itself and usually events labelled on points where they would have happened. In
these cases, timelines are used to help team members to know what milestones need to be
achieved and under what time schedule. For example, in the case of establishing a project
timeline in the implementation phase of the life cycle of a voice enabled forum.
Analysis and Planning

Timelines can take use any time scale, depending on the subject and data. Most timelines
use a linear scale, where a unit of distance is equal to a set amount of time. This time scale is
dependent on the events in the timeline as shown in table 3.3.
Table 3.3 Scheduling

17

Tas
k
no.
1

Task name

Requiremen
t Gathering
& Analysis
Developing
System
Diagrams
Designing
and coding

Aug

Sept

Oct

No
v

Dec

Jan

Feb

Ma
r

Apri
l

Problem
definition

Testing

Deployment

Debugging

Documentat
ion

3.4 Software & Hardware requirement


Requirement analysis in system engineering and software engineering encompasses those
tasks that go into determining the needs and conditions to meet for a new or altered product
taking account of possibly conflicting requirements of various stakeholders, analyzing,
documenting, validating and managing software system or requirements.

Chapter 3, Section 3.4

3.4.2 Software requirements for voice enabled forum


No specific software is required except a Web browser. Recommended browsers are listed below.
Recommended Operating Systems:
18

Windows XP or later
Max OS X
Linux
Ubuntu

Recommended Browsers:

Mozilla Firefox (version 35or higher)


Microsoft Internet Explorer (v10 or higher)
Safari (v3 or higher)
Google Chrome (v22 or higher)
Opera

Browser configurations:

Pop-ups allowed
JavaScript enabled
Cookies allowed

3.4.1 Hardware requirement for voice enabled forum


When you plan for the hardware that is required for a VOICE ENABLED FORUM, as a
starting point, you should determine the usage requirements for your Project 2014-2015
environment. These variables include the number of tasks, users, average tasks. The minimum
recommended hardware requirement for a server side.

Analysis and Planning

Minimum hardware requirements for a Front-end web server


Table 3.4.1.1 Front-end web server

19

Component
Processor
RAM
Operating system
Hard disk

Minimum requirement
64-bit, 2.5 GHz
8 GB for developer or evaluation use
Window server 2008 or Red hat Server Edition
100 GB

Minimum hardware requirements for an Application server


Table 3.4.1.2 Application server

Component
Processor
RAM
Hard disk
Operating system

Minimum requirement
64-bit, 2.7Ghz
8 GB for developer or evaluation use
80 GB
Red hat server

Chapter 3, Section 3.4

Minimum hardware requirements for the MYSQL Server

Table 3.4.1.2 MySQL server


Component
Processor
RAM
Hard disk
Operating System

Minimum requirement
64-bit, 2.5 GHz
16 GB
40 GB
Apache WAMP server

20

Design & Implementation

CHAPTER 4:
DESIGN & IMPLEMENTATION
21

4.1 Technology/Software specifications


4.1.2 PHP
PHP is probably the most popular scripting language on the web. It is used to enhance
web pages. With PHP, you can do things like create username and password login pages, check
details from a form, create forums, picture galleries, surveys, and a whole lot more. If you've
come across a web page that ends in PHP, then the author has written some programming code to
liven up the plain, old HTML.
PHP is known as a server-sided language. That's because the PHP doesn't get executed on
your computer, but on the computer you requested the page from. The results are then handed
over to you, and displayed in your browser. Other scripting languages you may have heard of are
ASP, Python and Perl.
The most popular explanation of just what PHP stands for is "Hypertext Pre-processor".
But that would make it HPP, surely? An alternative explanation is that the initials come from the

Chapter 4, Section 4.1


earliest version of the program, which was called Personal Home Page Tools. At least you get the
letters "PHP" in the right order!
The word "Preprocessor" means that PHP makes changes before the HTML page is
created. This enables developers to create powerful applications that can publish a blog, remotely
control hardware, or run a powerful website such as Wikipedia. Of course, to accomplish
something such as this, you need a database application such as MySQL.

4.1.2.1 Features of PHP

Free of cost

22

PHP is open source and is developed and updated by a community of developers from around the
globe. Therefore, all its components are free to use and distribute.

Capable

It can be used to design any type of website and can handle websites with a lot of traffic.
Facebook, Twitter, Wikipedia and many other very widely visited websites use it as their
framework. And because it is server-side scripting, it can do anything that other CGI programs
can do.

Easy

It has a readable and easily understandable syntax. Its code is embedded in the HTML source
code and it is based on C/C++. Therefore, it is very familiar and programmers are very
comfortable coding with it.

Platform independent

It can be run on all major operating systems like Linux, UNIX, Mac OS and Windows.

Design & Implementation

Supports all major web servers

It supports all major web servers like Apache, Microsoft IIS, Netscape, personal webserver,
iPlanet server, etc.

Supports all major databases

IT supports all major databases including MySQL, dBase, IBM DB2, InterBase, FrontBase,
ODBC, PostgreSQL, SQLite, etc.

23

Faster developments

It uses its own memory space and thus decreases the loading time and workload from the server.
The processing speed is fast and web applications like Ecommerce, CRM, CMS and Forums are
also developed faster by it.

Secure

It has multiple layers of security to prevent threats and malicious attacks.

Large communities

It has a large community of developers who regular and timely updates tutorials, documentation,
online help and FAQs.

Proven and trusted

It is being used since close to two decades now since its inception in 1995. It is trusted by
thousands of websites and developers and the list is increasing day by day. It has also proven its
capability and versatility by developing and maintaining some of the most highly visited and
popular websites.

Chapter 4, Section 4.1

4.1.3 MySQL
MySQL is a freely available open source Relational Database Management System
(RDBMS) that uses Structured Query Language (SQL).SQL is the most popular language for
adding, accessing and managing content in a database. It is most noted for its quick processing,
proven reliability, ease and flexibility of use. MySQL is an essential part of almost every open
source PHP application.

4.1.3.1 Features of MySQL

MySQL is a database management system.


24

A database is a structured collection of data. It may be anything from a simple shopping


list to a picture gallery or the vast amounts of information in a corporate network. To add, access,
and process data stored in a computer database, you need a database management system such as
MySQL Server. Since computers are very good at handling large amounts of data, database
management systems play a central role in computing, as standalone utilities, or as parts of other
applications.

MySQL databases are relational.


A relational database stores data in separate tables rather than putting all the data in one

big storeroom. The database structures are organized into physical files optimized for speed. The
logical model, with objects such as databases, tables, views, rows, and columns, offers a flexible
programming environment. You set up rules governing the relationships between different data
fields, such as one-to-one, one-to-many, unique, required or optional, and pointers between
different tables. The database enforces these rules, so that with a well-designed database, your
application never sees inconsistent, duplicate, orphan, out-of-date, or missing data.

Design & Implementation

MySQL software is Open Source.


Open Source means that it is possible for anyone to use and modify the software.

Anybody can download the MySQL software from the Internet and use it without paying
anything. If you wish, you may study the source code and change it to suit your needs. The
MySQL software uses the GPL (GNU General Public License), http://www.fsf.org/licenses/, to
define what you may and may not do with the software in different situations.

The MySQL Database Server is very fast, reliable, scalable, and easy to use.
25

MySQL Server can run comfortably on a desktop or laptop, alongside your other
applications, web servers, and so on, requiring little or no attention. If you dedicate an entire
machine to MySQL, you can adjust the settings to take advantage of all the memory, CPU power,
and I/O capacity available. MySQL can also scale up to clusters of machines, networked together.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production environments
for several years. Although under constant development, MySQL Server today offers a rich and
useful set of functions. Its connectivity, speed, and security make MySQL Server highly suited
for accessing databases on the Internet.

MySQL Server works in client/server or embedded systems.


The MySQL Database Software is a client/server system that consists of a multi-threaded

SQL server that supports different backend, several different client programs and libraries,
administrative tools, and a wide range of application programming interfaces (APIs).
We also provide MySQL Server as an embedded multi-threaded library that you can link
into your application to get a smaller, faster, easier-to-manage standalone product.

Chapter 4, Section 4.1

A large amount of contributed MySQL software is available.


MySQL Server has a practical set of features developed in close cooperation with our

users. It is very likely that your favorite application or language supports the MySQL Database
Server. The official way to pronounce MySQL is My Ess Que Ell (not my sequel), but we
do not mind if you pronounce it as my sequel or in some other localized way.

4.1.4 Bootstrap
Bootstrap is a free and open-source collection of tools for creating websites and web
26

applications. It contains HTML- and CSS-based design templates for typography, forms, buttons,
navigation and other interface components, as well as optional JavaScript extensions. The
bootstrap framework aims to ease web development.
Bootstrap is a front end that is an interface between the user and the server-side code
which resides on the "back end" or server. And it is a web application framework that is a
software framework which is designed to support the development of dynamic websites and web
applications.
Bootstrap is compatible with the latest versions of the Google Chrome, Firefox, Internet
Explorer, Opera, and Safari browsers, although some of these browsers are not supported on all
platforms.
Since version 2.0 it also supports responsive web design. This means the layout of web
pages adjusts dynamically, taking into account the characteristics of the device used (desktop,
tablet, mobile phone).Starting with version 3.0, Bootstrap adopted a mobile first design
philosophy, emphasizing responsive design by default. Bootstrap is open source and available on
GitHub. Developers are encouraged to participate in the project and make their own contributions
to the platform.

Design & Implementation

4.1.4.1 Structure and Function

The CSS
Bootstrap provides a set of stylesheets that provide basic style definitions for all key

HTML components. These provide a uniform, modern appearance for formatting text, tables and
form elements.

Re-usable components
In addition to the regular HTML elements, Bootstrap contains other commonly used

interface elements. These include buttons with advanced features (e.g. grouping of buttons or
27

buttons with drop-down option, make and navigation lists, horizontal and vertical tabs,
navigation, breadcrumb navigation, pagination, etc.), labels, advanced typographic capabilities,
thumbnails, warning messages and a progress bar. The components are implemented as CSS
classes, which must be applied to certain HTML elements in a page.

JavaScript components
Bootstrap comes with several JavaScript components in the form of jQuery plugins.

They provide additional user interface elements such as dialog boxes, tooltips, and carousels.
They also extend the functionality of some existing interface elements, including for example
an auto-complete function for input fields. In version 2.0, the following JavaScript plugins are
supported: Modal, Dropdown, and Scroll spy, Tab, Tooltip, Popover, Alert, Button, Collapse,
Carousel and Type ahead.

4.1.5 Xampp server


XAMPP is Free and Open Source Cross-Platform Web Server Solution Stack. It comes
with Apache Web Server, MySQL Database, PHP and Perl Programming Languages. Together
with these there is an SMTP and FTP server included as well. The best feature of XAMPP is ease
of installation. With XAMPP you dont need to install each of the individual components.

Chapter 4, Section 4.2

4.1.6 Speech technology


It's increasingly common to control your devices using speech. Google has speech
recognition built into the Chrome browser. Apple and other Android manufacturers have voice
control built into their cell phones.
Thanks to annyang!, you can add voice control to your website. Annyang! Annyang is a
tiny JavaScript library that lets your visitors control your site with voice commands. Annyang
supports multiple languages, has no dependencies, weighs just 2kb and is free to use

4.2 Physical layout


4.2.1 Use case diagram
28

A use case in software engineering is a description of a systems behaviour as it responds to a


request that originates from outside of that system.

Visit login page

Fig 4.2.1 Use Case Diagram


Visit forum

Select forum
Enter login details
4.2.2
Activity diagram

Select topic

Visit registration

Design and Implementation


Enter details

Submit

Activity diagrams are graphical representations of workflows of stepwise activities and


actions
with
support for choice, iteration and concurrency. In the Unified Modeling
Create Language,
profile
Go to
home/exit
Select question

activity diagrams are intended to model both computational and organizational processes (i.e.
workflows). Activity diagrams show the overall flow of control.
View answer
start

Create topic
29
Exit/Go to home

Go to home/exit

if registered
Yes

No

No

if logged in
Yes

Fig 4.2.2 Activity diagram

Chapter 4, Section 4.3

4.3 Design of forum


4.3.1 Workflow
Below here, every aspect of the entire system is explained with screenshots helping understand
the structure of the system
1. Initial landing page
This is the landing page that the individual is directed to when he/she visits our forum. It
consists of information regarding the various features and functionalities of our forum in
detail

30

Fig 4.3.1: Landing page of the voice enabled forum

Design & Implementation

Category page

This page consist of list of topic , input box to create a new topics and navigational button such as
home , logout , page navigation button to go to next page.

31

Fig 4.3.2. Category page of forum

Chapter 4, Section 4.3


3

Login page

This is login page where user can login in to his/her account to interact with the forum i.e. he/she
can post the question to forum or to get answer of particular topic

32

Fig 4.3.3. Login page of forum

Design & Implementation

4.4 Implementation
This is the implementation phase of project and consist of the following code used in the
implementation of the project.
The coding is done using following languages:33

Front end-HTML, CSS, twitter bootstrap


Backend-PHP & MySQL
The project has been designed using wamp server and xampp server which comes with
Phpmyadmin. Phpmyadmin provides support for various PHP classes and provides support for
MySQL.

4.4.1 Home page


<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<style>
table.table.table-bordered tbody tr td a
{
text-decoration: none;
}
th
{
font-size: 23px;
font-weight: bolder;
}
.cat

Chapter 4, Section 4.4

{
font-size: 20px;
}
34

</style>
</head>
<?php
if(isset($_SESSION['name']))
echo '<voice-player autoplay text="Welcome'. $_SESSION['name'].'"></voice-player>';?>
<?php include'layouts\header.php'; ?>
<?php
// open_database_connection();
// if(count($category)==0)
// {
//

echo "No category";

// }
// else
// {
?>
<voice-player autoplay text="this is home page please select category to begin"></voice-player>
<div class="table-responsive animated fadein">
<table class="table table-bordered">
<tr>
<th>#</th><th>Category</th><th>Posts</th><th>Replies</th><th>Last Posted By</th>
</tr>

Design & Implementation


<?php
open_database_connection();
$sql="SELECT `cname` FROM `categorie`";
$category=execute_query($sql);
$page = (int)(!isset($_GET["page"]) ? 1 : $_GET["page"]);
35

if ($page <= 0) $page = 1;


$per_page = 5; // Set how many records do you want to display per page.
$startpoint = ($page * $per_page) - $per_page;
$statement = "`categorie` ORDER BY `timedate` ASC"; // Change `records` according to table
name.

$results = mysql_query("SELECT * FROM {$statement} LIMIT {$startpoint} , {$per_page}");


if (mysql_num_rows($results) != 0) {
// displaying records.
$i=($page*$per_page)-$per_page;
while ($row = mysql_fetch_array($results)) {
$sql="SELECT `cid` FROM `categorie` WHERE `cname`='".$row['cname']."'";
$r=execute_query($sql);
$c=$r[0]['cid'];
$sql="SELECT `question_id` FROM `forum_question` WHERE `cid`='".$c."'";
$r=execute_query($sql);
$post=count($r);
$reply=0;
for ($j=0; $j < count($r); $j++) {
$question_id=$r[$j]['question_id'];
$sql="SELECT `a_id` FROM `forum_answer` WHERE `question_id`='".$question_id."'";

Chapter 4, Section 4.4

$r2=execute_query($sql);
$reply=$reply+count($r2);
}
$sql="SELECT max(`datetime`) FROM `forum_question` WHERE `cid`='".$c."'";
$r3=execute_query($sql);
36

$max=$r3[0]['max(`datetime`)'];
$sql="SELECT `name` FROM `forum_question` WHERE `cid`='".$c."' AND `datetime`='".
$max."'";
$r3=execute_query($sql);
if(count($r3)==1){
$name=$r3[0]['name'];
}
else{
$max="No entry";
$name="No entry";}
echo '<tr><td>'.(++$i).'</td><td class="cat"><strong><a id=category href="topic.php?
categorie='.$row['cname'].'">'.$row['cname'].'</a></strong>
</td><td>'.$post.'</td><td>'.$reply.'</td><td>'.$name.' <h6>'.$max.'</h6>'.'</td><tr>';
}
} else {
echo "No records are found.";
}
close_database_connection();
// displaying paginaiton.
?>
</table>

Design & Implementation

</div>
<br>
<div class"row">
<div class="col-md-12" style="position:relative;left:-15px;top:-20px;" align="left">
37

<div class="input-group">
<form name="category" action="createcategory.php" method="post">
<span class="input-group-btn">
<input type="text" class="form-control" name="category" placeholder="create a category">
<button class="btn btn-default" type="Submit" id="create_button" name="create"
style="width:46px;height:37px;">&nbsp;<span class="glyphicon glyphiconplus"></span></button>
</span>
</form>
</div>
</div>
<div class="col-md-3"></div>
</div>
<hr>
<div class="row">
<div class="col-md-12" align="left">
<?php echo pagination($statement,$per_page,$page,$url='?');?>
</div>
</div>
<div class="container-fluid" style="width:24%; position:fixed; top:28%; left:0%;" >
<div class="list-group">

Chapter 4, Section 4.4

<a href="#" class="list-group-item active animated fadeindown a">


<h4 class="list-group-item-heading">Hint<span class="glyphicon glyphicon-volume-down pullright"></span></h4>
<p class="list-group-item-text">Voice commands hints</p>
</a>
38

<a href="#" class="list-group-item animated fadeindown b">


<h4 class="list-group-item-heading">1</h4>
<p class="list-group-item-text">Select Category_Name</p>
</a>
<a href="#" class="list-group-item animated fadeindown c">
<h4 class="list-group-item-heading">2</h4>
<p class="list-group-item-text">Create Category Category_Name+yes,please</p>
</a>
<?PHP if(isset( $_SESSION['name']))
{
echo
"<a href=\"#\" class=\"list-group-item animated fadeindown d\">
<h4 class=\"list-group-item-heading\">3</h4>
<p class=\"list-group-item-text\">Log me out</p>
</a>";
}
else
{
echo
"<a href=\"#\" class=\"list-group-item animated fadeindown d\">
<h4 class=\"list-group-item-heading\">3</h4>

Design & Implementation


<p class=\"list-group-item-text\">Log me in</p>
</a>";
}
?>
<a href="#" class="list-group-item animated fadeindown e">
39

<h4 class="list-group-item-heading">4</h4>
<p class="list-group-item-text">Select Category_Name</p>
</a>
<a href="#" class="list-group-item animated fadeindown f">
<h4 class="list-group-item-heading">5</h4>
<p class="list-group-item-text" >My Profile</p>
</a>
</div>
</div>
<html>
<?php include'layouts\footer.php'; ?>

4.4.2 Core functions


<?php
function clean($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
function make_thumb($src, $dest, $desired_width) {
Chapter 4, Section 4.4

$source_image = imagecreatefrompng($src);
$width = imagesx($source_image);
$height = imagesy($source_image);
$desired_height = floor($height * ($desired_width / $width));
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width,
$desired_height, $width, $height);
40

imagepng($virtual_image, $dest);
}
function redirect_to( $location = NULL ) {
if ($location != NULL) {
header("Location: {$location}");
exit;
}
}
function output($message="") {
if (!empty($message)) {
return "<div class=\"alert alert-danger animated zoomin\" role=\"alert\">
<p class=\"message\">{$message}</p>
</div><voice-player autoplay text=\"{$message}\"></voice-player>";
} else {
return "";
}
}
function open_database_connection()
{
mysql_connect(DB_SERVER,DB_USER,DB_PASS) or die("could not connect to database");
mysql_select_db(DB_NAME) or die("could not find data base");
}
function close_database_connection()
Design & Implementation

{
$flag=mysql_close();
return $flag;
}
function execute_query($sql){
$result=mysql_query($sql);
if (!$result) {
41

echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
goto a;
}
if(mysql_num_rows($result) == 0)
{
$a=mysql_fetch_assoc($result);
}
$output;
$length=0;
while ($row = mysql_fetch_assoc($result)) {
$output[$length]=$row;
$length++;
}
return $output;
a:
}
function username_found($username="")
{
$username=clean($username);
Chapter 4, Section 4.4

$sql="SELECT uid FROM users WHERE username='".$username."'";


$result=mysql_query($sql);
if(mysql_num_rows($result)>=1)
{
return true;
42

}
else
return false;
}
function user_found($username="",$password="")
{
$username=clean($username);
$password=clean($password);
$sql="SELECT uid FROM users WHERE username='".$username."' AND password='".
$password."'";
$result=mysql_query($sql);
echo mysql_error();
if(mysql_num_rows($result)==1)
{
return true;
}
else
return false;
}
function loggedin()
{
if(isset($_SESSION['username']) && !empty($_SESSION['username']))
Design & Implementation

{
return true;
}
else{
return false;
}
43

}
function set_msg_redirect($msg,$page)//used for redirecting the user and passing the error msg
to the next page
{
$_SESSION['ERROR_MSG_SESSION']=$msg;
redirect_to($page);
}
function login_redirect(){
if(!loggedin())
{
$page=$_SERVER['PHP_SELF'];
$_SESSION['not_login']="PLEASE LOGIN";
$_SESSION['referer']=$page;
redirect_to("login.php") ;
}}
function get_ip()
{
if(isset($_SERVER['HTTP_CLIENT_IP']))
$http_client=$_SERVER['HTTP_CLIENT_IP'];
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$http_x_forwarded_for=$_SERVER['HTTP_X_FORWARDED_FOR'];
if(isset($_SERVER['REMOTE_ADDR']))
$remote_address=$_SERVER['REMOTE_ADDR'];
if(!empty($http_client)){
Chapter 4, Section 4.4

return $http_client;
}else if(!empty($http_x_forwarded_for)){
return $http_x_forwarded_for;
}else{
return $remote_address;
}
44

}
function enter_log($flag)
{
$myfile = fopen("admin/log.txt", 'a') or die("Unable to open file!");
if(isset($_SESSION['username']))
{
$data[0]=$_SESSION['username'];
}
else{
$data[0]="Guest";
}
if(isset($_SESSION['ip']))
{
$data[1]=$_SESSION['ip'];
}
else{
$data[1]="Unknown";
}
$data[2]=date("d/m/y H:i:s");
$data[3]=$flag;
$data =implode('#', $data);
fwrite($myfile,$data);
fwrite($myfile,'##');
fclose($myfile);
Design & Implementation
return true;
}
function entry_exist($table,$column,$value)
{
open_database_connection();
$sql="SELECT `".$column."` FROM `".$table."` WHERE `".$column."`='".$value."'";
$result=mysql_query($sql);
45

close_database_connection();
if(mysql_num_rows($result)>=1)
return true;
else
return false;
}
//functions for moderator
//deleting any user entity
function delete_user($username)
{
open_database_connection();
if(username_found($username))
{
$sql="DELETE FROM `users` WHERE `username` ='".$username."' ";
if(mysql_query($sql)){
echo output("user deleted successfully");
}
}
else
echo output("user does not exist");
close_database_connection();
}
Chapter 4, Section 4.4

//changing privilage
function change_privilage($username,$privilage)
{
open_database_connection();
if(username_found($username))
{
46

$sql="UPDATE `users` SET `privilage` = '".$privilage.'" WHERE `username` ="'.


$username."'";
mysql_query($sql);
}
else
echo output("user does not exist");
close_database_connection();
}
function update_user($username,$detail,$value)
{
if($detail!=$username)
{
$sql="UPDATE `users_profile` SET `".$detail."` = '".$value.'" WHERE `username` ="'.
$username."'";
}
else
echo output("Can not change username");
}
//listing all the user
function list_user(){
open_database_connection();
$sql="SELECT * FROM `users`";
$result=execute_query($sql);
close_database_connection();
return $result;
Design & Implementation
}
//conting user reply
function count_user_rply($username)
{
open_database_connection();
$sql="SELECT `a_id` FROM `forum_answer` WHERE `a_email`='".$username."'";
47

$result=mysql_query($sql);
$n=mysql_num_rows($result);
close_database_connection();
return $n;
}
function count_user_post($username)
{
open_database_connection();
$sql="SELECT `question_id` FROM `forum_question` WHERE `email`='".$username."'";
$result=mysql_query($sql);
$n=mysql_num_rows($result);
close_database_connection();
return $n;
}
?>

4.4.3 Speech engine code


4.4.3.1 Initialization and connection
<!--voice elements connection -->
<script src="tts/bower_components/polymer/polymer.min.js"></script>
<!--voice player connection-->
<link rel="import" href="tts/bower_components/voice-elements/voice-player.html">

Chapter 4, Section 4.4

4.4.3.2 Commands
<script>
var commands = {
'start *nnn':function(){alert("working fine"+nnn);},
'select *category': function(category){select_fun(category);},
48

'go to *page':function(page){ go_to_page(page);},


'enter topic *tn':function(tn)
{window.location.replace("http://localhost/beproject3/public/post.php?topic="+tn);},
'create category *cate':function(cate){document.category.category.value=cate;},
'Yes create':function(){document.category.create.click();},
'log me out':function(){go_to_page("logout.php");},
'log me in':function(){go_to_page("login.php");},
'username is *user':function(user){user=user.replace(/\s+/,
"");document.f1.username.value=user;},
'password is *pass':function(pass){document.f1.password.value=pass;},
'login':function(){document.f1.login.click();},
'question is *q':function(q){document.getElementById('TextArea').innerHTML=q;},
'ok done':function(){document.post.submit.click();},
'Yes please':function(){var
a=document.viewpost.view_post_link.value;window.location.replace(a);},
'show topic *top':function(top){window.location.replace("view.php?top="+top);},
'reply with *reply':function(reply)
{alert(reply);document.getElementById('replytext').innerHTML=reply;document.rply.submit.clic
k();},
'My profile':function(){go_to_page('profile.php');}
//'change profile':function
// 'list category':function()
// {
// }

Design & Implementation


//changing privilage
function change_privilage($username,$privilage)
{
open_database_connection();
if(username_found($username))
{

49

$sql="UPDATE `users` SET `privilage` = '".$privilage.'" WHERE `username` ="'.


$username."'";
mysql_query($sql);
}
else
echo output("user does not exist");
close_database_connection();
}
function update_user($username,$detail,$value)
{
if($detail!=$username)
{
$sql="UPDATE `users_profile` SET `".$detail."` = '".$value.'" WHERE `username` ="'.
$username."'";
}
else
echo output("Can not change username");
}
//listing all the user
function list_user(){
open_database_connection();
$sql="SELECT * FROM `users`";
$result=execute_query($sql);
close_database_connection();

Chapter 4, Section 4.4

return $result;
};
function select_fun(c){
window.location.replace("http://localhost/beproject3/public/topic.php?categorie="+c);
}
function go_to_page(p){
50

if(p=='home'){
p='index.php';}
window.location.replace("http://localhost/beproject3/public/"+p);
}
annyang.addCommands(commands);
annyang.start();
</script>

Testing

51

CHAPTER 5
TESTING
5.1 Acceptance test
The following checklist's purpose is to ensure that the appropriate steps have been taken to
execute a user acceptance test (UAT), to wrap up the process and ensure proper documentation
has been completed. Simply choose "Yes, No
Table 5.1 Acceptance Testing

Criteria

Completed?

IT Project Team Preparedness


Has the project team been made aware of its role in advising on changes to
business processes and procedures?
Has the project team been made aware of its role in providing support for all
testing issues and concerns?
Has the project team been made aware of its role in tracking and managing test
problems?
Has the project team been made aware of its role in changing system
functionality?
UAT Team Preparedness
Has the UAT team been defined?

NO
YES
YES
NO
NO

Chapter 5, Section 5.1


Does the UAT team understand its responsibility in executing the test cases and
ensuring that the final outcomes of the tests are satisfactory?
Has the UAT team been told about its role and responsibility in ensuring that all
test case input sources and output results are documented and auditable?
Has the UAT team agreed that the test cases provides comprehensive and
effective coverage of all aspects of functionality of the application?
Has the UAT team been told about its role in documenting problems and
working with the project team to resolve problems identified during testing?
52

YES
YES
YES
NO

Does the UAT team agree upon and understand the range of severity levels
discussed with the project team and project stakeholders?
Does the UAT team understand the responsibilities and required actions for each
category of problem identified during testing?
Does the UAT team understand that it must sign off on all test cases by signing
the completed test worksheets?
Has the UAT team been made aware of its role in accepting the results on behalf
of the relevant user population?
Does the UAT team understand that it must recognize any changes necessary to
existing processes and take a lead role in ensuring that the changes are made and
communicated to other users?
Does the UAT team understand its role in confirming use of the system in
performing business processes?
Does the UAT team understand its role in verifying performance on business
critical functions?
Does the UAT team understand its role in confirming the integrity of data?
Does the UAT team understand its role in assessing system final production
readiness?
Test Preparation
Has the plan for acceptance testing been submitted?
Have all possible system functions been described?
Is all input data available that is required for testing?
Has acceptance criteria be defined on which the completion of the acceptance
test will be judged?
Have all user specific constraints been considered?
Has the testing procedure been defined?
Have test cases been created to discover contradictions between the software
product and the requirements?
Have test cases been created to review whether timing constraints are met by the
system?
Test Execution and Evaluation
Were all steps of the test run documented?
Was the acceptance test performed according to the test plan?
Did the users review the test results?
Are the services provided by the system in compliance with user requirements?
Did the users judge acceptability in accordance with the predetermined criteria?
Did each user sign off on output?

YES
NO
YES
NO
YES
NO
YES
NO
YES
YES
NO
YES
NO
YES
NO
YES
NO
NO
NO
YES
YES
YES
YES

Testing

5.2 Compatibility testing


Table 5.2 Compatibility Testing
FUNCTIONALITY
1.1 LINKS
53

1.1.1 Check that the link takes you to the page


yes
it said it would.
1.1.2 Ensure to have no orphan pages (a page
yes
that has no links to it)
1.1.3 Check all of your links to other websites
yes
1.1.4 Are all referenced web sites or email
yes
addresses hyperlinked?
1.1.5 If we have removed some of the pages
yes
from our own site, set up a custom 404 page
that redirects your visitors to your home page
(or a search page) when the user try to access
a page that no longer exits
1.2 FORMS
1.2.1 Acceptance of invalid input
yes
1.2.2 Optional versus mandatory fields
yes
1.2.3 Input longer than field allows
yes
1.2.4 Radio buttons
yes
1.2.5 Default values on page load/reload(Also
yes
terms and conditions should be disabled)
1.2.6 Is Command Button can be used for
yes
Hyperlinks and Continue Links?
1.3 DATA VERIFICATION AND VALIDATION
1.3.1 Is the Privacy Policy clearly defined and
yes
available for user access?
1.3.2 At no point of time the system should
yes
behave awkwardly when an invalid data is fed
1.3.3 Check to see what happens if a user
no
deletes cookies while in site
2.1 DATE INTEGRATION
2.1.1 Check the maximum field lengths to
no
ensure that there are no truncated characters?
2.1.2 If numeric fields accept negative values
yes
can these be stored correctly on the database
and does it make sense for the field to accept
negative numbers?
2.1.3 If a particular set of data is saved to the
yes
database check that each value gets saved
fully to the database. (i.e.) Beware of
truncation (of strings) and rounding of
numeric values.

Chapter 5, Section 5.3

5.2 Performance testing


54

Performance testing is the process of determining the speed or effectiveness of a


computer, network, software program or device. This process can involve quantitative tests done
in a lab, such as measuring the response time or the number of MIPS (millions of instructions per
second) at which a system functions.
Table 5.2 Performance Testing
Parameters
Frontend experience
Backend performance
Content complexity

Measures
1286 ms(time to interact)
40ms(time to last byte)
553 kb(download)

55

CHAPTER 6

CONCLUSION
As a student forums are of great help. They help answer the unanswered questions or
doubts, some of the examples of forum are stack overflow, quora.com, codecadmyforum etc.
This forums are multidimensional or a single dimension, which means that a user can discuss on
variety of topic or a single topic of his/her choice.
As a disabled individual such as blind person or amputee individual, forums are nothing
but a distinct memory. They are not able to access the information available on the forum or clear
there doubt through the medium of the forum.
As our title of the project suggest Voice Enabled Forum , we have included the text-tospeech and speech-to-text capabilities of the speech engine which has helped us create a voice
enabled forum i.e. a forum that can be used by the disabled.
We have used the following technologies in our forum PHP, CSS3, Bootstrap, SQL.
The voice enabled forum is not only useful for the disabled persons but it does helps the others to
increase their knowledge and share with everyone. The voice enabled forum is designed with
simplicity to
The objective of this project, which aims to help the disabled persons to share their
knowledge with the world.

56

References
[1] Rabiner, L. "A Tutorial on Hidden Markov Models and Selected Applications in Speech
Recognition." Proceedings of IEEE 77, no. 2 (1989):257-286.
[2] Schmandt, C. Voice Communications with Computers. New York: Van Nostrand Reinhold,
1994.
[3] Wactlar, H., et al. "Lessons Learned from Building a Terabyte Digital Video Library." IEEE
Computer (1999): 66-73.
[4] Recognition Methods for Robust Spoken Document Retrieval.

[5]

http://en.wikipedia.org/wiki/Mel_scale.

[6]

Speech Recognition Types From http://tldp.org/HOWTO/Speech-RecognitionHOWTO/introduction.html.

[7]

Surabhi Bansal, Ruchi Bahety Speech recognition system From

https://cseweb.ucsd.edu/classes/fa06/cse237a.html.
[8] Speech Recognition From https://github.com/TalAter/annyang.
[9] Voice element from http://zenorocha.github.io/voice-elements.

57

You might also like