<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSIP</journal-id><journal-title-group><journal-title>Journal of Signal and Information Processing</journal-title></journal-title-group><issn pub-type="epub">2159-4465</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsip.2014.52006</article-id><article-id pub-id-type="publisher-id">JSIP-45989</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>COMPUTER SCIENCE &amp; COMMUNICATIONS</subject></subj-group></article-categories><title-group><article-title>Noise Removal in Speech Processing Using Spectral Subtraction</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Marc</surname><given-names>Karam</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Hasan</surname><given-names>F. Khazaal</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Heshmat</surname><given-names>Aglan</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Cliston</surname><given-names>Cole</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Department of Electrical Engineering, Wasit University, Wasit, Iraq</addr-line></aff><aff id="aff3"><addr-line>Department of Mechanical Engineering, Tuskegee University, Tuskegee, USA</addr-line></aff><aff id="aff1"><addr-line>Department of Electrical Engineering, Tuskegee University, Tuskegee, USA</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>karam@mytu.tuskegee.edu(MK)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>02</day><month>05</month><year>2014</year></pub-date><volume>05</volume><issue>02</issue><fpage>32</fpage><lpage>41</lpage><history><date date-type="received"><day>14</day>	<month>January</month>	<year>2014</year></date><date date-type="rev-recd"><day>14</day>	<month>February</month>	<year>2014</year>	</date><date date-type="accepted"><day>28</day>	<month>February</month>	<year>2014</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
	Spectral
subtraction is used in this research as a method to remove noise from noisy
speech signals in the frequency domain. This method consists of computing the
spectrum of the noisy speech using the Fast Fourier Transform (FFT) and
subtracting the average magnitude of the noise spectrum from the noisy speech
spectrum. We applied spectral subtraction to the speech signal “Real graph”. A
digital audio recorder system embedded in a personal computer was used to
sample the speech signal “Real graph” to which we digitally added vacuum
cleaner noise. The noise removal algorithm was implemented using Matlab
software by storing the noisy speech data into Hanning time-widowed
half-overlapped data buffers, computing the corresponding spectrums using the
FFT, removing the noise from the noisy speech, and reconstructing the speech
back into the time domain using the inverse Fast Fourier Transform (IFFT). The
performance of the algorithm was evaluated by calculating the Speech to Noise Ratio
(SNR). Frame averaging was introduced
as an optional technique that could improve the SNR. Seventeen different configurations with various lengths of the
Hanning time windows, various degrees of data buffers overlapping, and various
numbers of frames to be averaged were investigated in view of improving the SNR. Results showed that using
one-fourth overlapped data buffers with 128 points Hanning windows and no
frames averaging leads to the best performance in removing noise from the noisy
speech. 
</p></abstract><kwd-group><kwd>Speech Processing</kwd><kwd> Spectral Subtraction</kwd><kwd> Noise Removal</kwd><kwd> Fast Fourier Transform</kwd><kwd> Inverse Fast Fourier Transform</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Speech communications are used daily in our lives. Every case of speech communication involves a speaker, a listener, and various communication devices. Speech communications take place everywhere, such as domestic homes, work, school conferences, seminars, medical appointments, and cocktail parties. Often, random noises corrupt the communication between the speaker and the listener. These noises can cause speech to be heard incorrectly. Noises exist everywhere, and are produced by many factors, so that it is impossible to identify them all. The characteristics of these noises are either known or unknown; however, they all can distort, disrupt, or disguise the quality of speech signals. Therefore, background noises and noisy environments are likely to affect many people, especially people with hearing loss. The area of research that investigates removing noise from corrupted speech utilizing various signal processing methods is called speech processing. There are many different forms of speech processing such as speech enhancement, speech recognition, speech coding, and speech synthesis.</p><p>In recent studies, numerous filter designs have been implemented in communication systems to reduce and eventually eliminate the effects of incoming background noise, as well as to enhance speech intelligibility [<xref ref-type="bibr" rid="scirp.45989-ref1">1</xref>] -[<xref ref-type="bibr" rid="scirp.45989-ref5">5</xref>] . Removal of high frequency noise for speech enhancement using Frequency Response Masking (FRM), a technique based on designing low complexity, narrow transition bandwidth, linear phase Finite Impulse Response (FIR) filters, has been implemented [<xref ref-type="bibr" rid="scirp.45989-ref1">1</xref>] . An FIR filter has been designed to have impulse responses associated with various cut-off frequencies leading to a decrease in the Mean Square Error (MSE) when comparing original and filtered speech signals [<xref ref-type="bibr" rid="scirp.45989-ref2">2</xref>] . In applications where both the speech and the noise signals change continuously, adaptive filtering based on using three algorithms: Least Mean Square (LMS), Normalized Least Mean Square (NLMS), and Sign-Data Least Mean Square (SDLMS) algorithms has been implemented [<xref ref-type="bibr" rid="scirp.45989-ref3">3</xref>] . Discrete Wavelet Transform (DWT) algorithm was used for speech signal denoising with both hard and soft thresholding, with soft thresholding performing better than hard thresholding at all input SNR levels [<xref ref-type="bibr" rid="scirp.45989-ref4">4</xref>] . Residual musical noise resulting from spectral subtraction technique has been reduced using scaling factors and weighted functions [<xref ref-type="bibr" rid="scirp.45989-ref5">5</xref>] .</p><p>In this research, we focused on spectral subtraction noise removal approach in speech processing [<xref ref-type="bibr" rid="scirp.45989-ref6">6</xref>] . Our experiment involved sampling two different signals: a real-time speech signal “Real graph” and a noise signal generated by a vacuum cleaner. Using Matlab, we digitally added the vacuum cleaner noise to the speech signal “Real graph”, thus obtaining a noisy speech signal. Noise removal cannot be successfully implemented in the time domain; rather, it is performed in the frequency domain. Our spectral subtraction noise removal approach involves segmenting the noisy speech signal into half-overlapped time domain data buffers multiplied by a Hanning window and then transforming the result into the frequency domain using the fast Fourier transform (FFT). Subsequently, noise is removed by subtracting the average magnitude of the noise spectrum from the noisy speech spectrum and zeroing out the negative values using half-wave rectification. Finally, after removing the noise from the noisy speech, we reconstructed the noise-reduced speech back to time domain using the Inverse Fast Fourier Transform (IFFT) [<xref ref-type="bibr" rid="scirp.45989-ref7">7</xref>] . We were able to listen to the reconstructed speech and we observed that the noise had effectively been reduced. Statistical evaluation of the results was accomplished by calculating the Speech to Noise Ratio (SNR) [<xref ref-type="bibr" rid="scirp.45989-ref8">8</xref>] . In order to improve the performance, we applied the technique of frames averaging [<xref ref-type="bibr" rid="scirp.45989-ref9">9</xref>] . Moreover, we studied the effect of varying the overlapping lengths of the data buffers and the Hanning windows on improving the SNR.</p></sec><sec id="s2"><title>2. Time Domain to Frequency Domain Conversion Using FFT</title><sec id="s2_1"><title>2.1. Sampling of the Noisy Speech “Real Graph” by Using the A-to-D Converter</title><p>First, consider the clean speech “Real graph” S(t) corrupted by vacuum cleaner noise N(t) and shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. The noisy speech “Real graph” is a continuous-time function which is converted to an electrical signal X(t) using a microphone connected to a digital audio recorder system. The microphone performs this conversion by detecting the changing air pressure of the audio sound. The electrical signals are transmitted through a cable wire or a median that is connected between the microphone and the digital audio recorder system.</p><p>The digital audio recorder system is an example of an Analog-to-Digital (A-to-D) converter. The A-to-D converter transforms the continuous-time noisy speech into a discrete-time noisy speech X[n]. A discrete-time signal is a non-continuous time signal. It has been sampled from a continuous-time signal using a digital audio recorder system. Discrete-time signals symbolize an indexed sequence of discrete-time samples. A continuous- time signal is sampled at equally spaced time impulses t<sub>n </sub>= nT<sub>s</sub> as follows</p><disp-formula id="scirp.45989-formula2020"><label>, (1)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\5ac5dbef-3c26-4acb-bb33-1a7d92f879d6.png"/></disp-formula><p>where T<sub>s</sub> is the sampling period or fixed time between each sample. Each impulse value of X[n] is called sample of the discrete-time signal. The sampling period can also be represented as a fixed sampling rate:</p><disp-formula id="scirp.45989-formula2021"><label>. (2)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\702766b8-171b-4f7a-8878-b401d5eb22c4.png"/></disp-formula><p>In this research, a clean speech “Real graph” S[n] was recorded using software called sound recorder that was installed on a personal computer. A time waveform of the speech “Real graph” is shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>(a).</p><p>The speech was recorded for a duration of 645 ms. Shannon sampling theorem states that any continuous-time signal with maximum spectrum frequency f<sub>max</sub> can be reconstructed exactly from its samples X[n] = X(nT<sub>s</sub>) if the samples are taken at a sampling rate that is greater than 2 f<sub>max</sub>. Since audio frequencies of audible sounds range from 20 to 20,000 Hz, thus, in our application, f<sub>max</sub> is approximately 20 kHz. The sampling rate was automatically computed by Matlab, and had the value 44.1 kHz, which is bigger than twice 20 kHz, and thus satisfies the Shannon sampling theorem. There are a total of 28,446 samples with time space interval of 22.67 μs between each sample. A time waveform of a vacuum cleaner noise N[n] was also sampled for 645 ms at a rate of 44.1 kHz and is shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>(b). The vacuum cleaner noise was digitally added to the clean speech. The sum of the two signals generates the noisy speech signal “Real graph” X[n] shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>(c).</p></sec><sec id="s2_2"><title>2.2. Storing the Noisy Speech “Real Graph” Using the Half-Overlapped Data Buffers</title><p>The noisy speech is the data we want to evaluate for noise removal. Once Matlab retrieves, reads, and formats</p><fig id="fig1"><label>Figure 1</label><caption><p> Block diagram of noisy speech generation and discretization</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\43d4e53d-ee42-4767-9a48-fc3ba87c307f.png"/></fig><fig id="fig2"><label>Figure 2</label><caption><p> (a) Clean speech “Real graph” signal S(n); (b) Vacuum cleaner noise signal N(n); (c) Noisy speech “Real graph” corrupted by the vacuum cl- eaner noise X(n)</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\ac246181-acdc-4a52-87a5-39998ba3033c.png"/></fig><p>the data in numerical value, the data are stored into segments. Each segment contains 256 samples of the noisy speech. Each segment is called a data-buffer<inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\7e1c6770-02e4-4bc5-b87d-f9dc98266127.png" xlink:type="simple"/></inline-formula>. Each data buffer half-overlaps another data buffer by a total of 128 samples. Our noisy speech “Real graph” has 221 half-overlapped data buffers that cover the entire length of the noisy speech data.</p></sec><sec id="s2_3"><title>2.3. Analyzing the Noisy Speech “Real Graph” Using the Hanning Time Window</title><p>The noisy speech data of the 221 half-overlapped data buffers contain 28,446 samples; the transformation of the 28,446 samples from time domain to frequency domain using FFT would take a very long time for the computer to process and compute the spectrum. Computing a smaller amount of data at a time optimizes the efficiency of the computer processing speed. In this research, the noisy speech data of the 221 half-overlapped data buffers were decomposed into time windows called Hanning time windows. The Hanning time window is a bell curve shape that multiplies the noisy speech data of the half-overlapped data buffers. The portions of the noisy speech data that lie outside the Hanning time window are zeroed-out, while the portions inside are further evaluated for processing. The mathematical general expression of a Hanning time window is in the form</p><disp-formula id="scirp.45989-formula2022"><label>, (3)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\e1cdbcf2-6297-42f2-8516-593293b165b8.png"/></disp-formula><p>where L is the length or the number of samples of the Hanning time window. The data that are stored in the Hanning time window are evaluated for spectral computation, which involves computing the discrete Fourier transform (DFT) using the FFT algorithm, as described in the next section.</p></sec></sec><sec id="s3"><title>3. Noise Removal in Frequency Domain and Conversion to the Time Domain Using IFFT</title><p>In this section, we present our algorithm for the spectral subtraction of noise from a speech signal [<xref ref-type="bibr" rid="scirp.45989-ref6">6</xref>] . A flowchart of this algorithm is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>. In the subsection below, we explain the role of the various blocks of this flowchart.</p><fig id="fig3"><label>Figure 3</label><caption><p> Spectral subtraction noise removal flowchart</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\bf7f001c-6c05-41b1-b4fc-820c2861bdcb.png"/></fig><sec id="s3_1"><title>3.1. Speech and Non-Speech Activity Frame</title><p>Previously we discussed how we recorded two signals, a clean speech S[n] and a vacuum cleaner noise N[n]. The vacuum cleaner noise was digitally added to the clean speech to form a noisy speech X[n]. Appending X[n] to N[n], we composed the signal NX[n] shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>(a). The first part of the signal is composed of the non-speech activity that contains the stationary noise of the vacuum cleaner with 28,446 samples. The second part of the signal is composed of the speech activity that contains the noisy speech “Real graph” with 28,446 samples. Both speech and non-speech activity spectrums were computed using the FFT.</p><p>The spectrum of the speech activity containing the noisy speech time frame is denoted as</p><disp-formula id="scirp.45989-formula2023"><label>, (4)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\59658d4f-0efe-4842-b770-a88c3fc3387d.png"/></disp-formula><p>where S[k] is the spectrum of the clean speech “Real graph” and N[k] is the spectrum of the vacuum cleaner</p><fig id="fig4"><label>Figure 4</label><caption><p> (a) The signal NX[n] composed of N[n] followed by X[n]; (b) Spectrum NX[k] of NX[n]</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\c09b1a08-2315-4975-b069-3d4accb0aba2.png"/></fig><p>noise. The spectrum NX[k] of the signal composed of the vacuum noise followed by the noisy speech is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>(b).</p></sec><sec id="s3_2"><title>3.2. Computing the Average Magnitude of the Noise Spectrum during Non-Speech Activity</title><p>The non-speech activity contains 221 time frames with 256 frequency values. After computing the non-speech activity spectrum, we calculate the average of the noise magnitude spectrum for each frequency</p><disp-formula id="scirp.45989-formula2024"><label>, (5)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\5297818f-a519-434f-8239-109c7845c0fc.png"/></disp-formula><p>where E is the average value operator. In the next subsection, we explain the role of μ (k).</p></sec><sec id="s3_3"><title>3.3. Noise Removal by Subtracting Average Magnitude of Noise Spectrum</title><p>The speech activity which is the noisy speech “Real graph” contains 221 rows of time frames and 256 columns of frequency values. The average magnitude of the noise spectrum is subtracted from the noisy speech spectrum resulting in the signal</p><disp-formula id="scirp.45989-formula2025"><label>. (6)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\d7204f0d-59dd-4c29-bc98-8952a8143f33.png"/></disp-formula><p><xref ref-type="fig" rid="fig5">Figure 5</xref> shows the noisy speech frame after subtracting the average noise magnitude spectrum.</p></sec><sec id="s3_4"><title>3.4. Half-Wave Rectification</title><p>In some cases, for each frequency ω, the value of the average magnitude of the noise spectrum is larger than the magnitude of the noisy speech spectrum. This results in negative values after subtracting the average magnitude of the noise spectrum from the noisy speech spectrum. Half-wave rectification consists in replacing those negative values with zero resulting in the signal</p><disp-formula id="scirp.45989-formula2026"><label>. (7)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\63521c0e-a9cf-4485-a3f9-dceb0dc60a3d.png"/></disp-formula><p><xref ref-type="fig" rid="fig6">Figure 6</xref> shows the spectrum of the speech frames after subtracting the average noise magnitude and half- wave rectification.</p><fig id="fig5"><label>Figure 5</label><caption><p> Spectrum of the noisy speech frames after subtracting the average noise magnitude spectrum</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\2e0de99b-57d4-4bce-b57f-fe9669eaf317.png"/></fig><fig id="fig6"><label>Figure 6</label><caption><p> Spectrum of the speech frames after subtracting average noise magnitude and half-wave rectification</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\16d588d9-1369-4cd2-adc8-10b368b38f7a.png"/></fig></sec><sec id="s3_5"><title>3.5. Reconstruction of the Noisy Speech “Real Graph” Using Inverse Fast Fourier Transform</title><p>The flowchart blocks detailed above complete the noise removal algorithm. The conversion from frequency domain to discrete-time domain using the IFFT [<xref ref-type="bibr" rid="scirp.45989-ref7">7</xref>] of the signal <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\5bd2bc96-43a2-4ec0-97c0-17665b89a701.png" xlink:type="simple"/></inline-formula> results in the signal <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\df403c17-5cee-4fc7-aa1a-6fbb0419fbac.png" xlink:type="simple"/></inline-formula> calculated as follows:</p><disp-formula id="scirp.45989-formula2027"><label>. (8)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\a72bf77c-fca2-4e31-ad24-3274d737eb55.png"/></disp-formula></sec><sec id="s3_6"><title>3.6. Transformation of Noisy Speech “Real Graph” in Real Time Using D-to-A Converter</title><p>After converting the reconstructed speech signal <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\9d51286f-7e03-4ade-a88b-6a522a09ba50.png" xlink:type="simple"/></inline-formula> from the frequency domain to the discrete time domain using IFFT, the Digital-to-Analog converter transforms <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\e122f99c-64f7-434a-b734-7c0a987038fb.png" xlink:type="simple"/></inline-formula> back to the real-time speech signal<inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\f8231123-871d-462c-92ee-eb90c46362d0.png" xlink:type="simple"/></inline-formula>. We implemented this algorithm using Matlab. The sound corresponding to <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\490d7ad6-8bc1-463b-90fc-e08046d4b6eb.png" xlink:type="simple"/></inline-formula> was generated also using Matlab. Successful results were obtained. Noise was effectively reduced from the noisy speech “Real graph”, which confirms the validity of our noise-removal algorithm.</p></sec></sec><sec id="s4"><title>4. Improving the Spectral Subtraction Noise Removal Design</title><sec id="s4_1"><title>4.1. Frames Averaging</title><p>In this section, frames averaging technique was applied in order to improve the performance of the spectral subtraction noise removal design [<xref ref-type="bibr" rid="scirp.45989-ref9">9</xref>] . Frames averaging are represented as an optional step between computing the average magnitude of the noise spectrum and subtracting this average from the magnitude of the noisy speech frames. When applied, frames averaging involve using the magnitude average of several frames of the noisy speech rather than one frame at a time. We limited this research to averaging either three or six consecutive frames. Bigger numbers could result in decreasing in speech intelligibility [<xref ref-type="bibr" rid="scirp.45989-ref6">6</xref>] .</p></sec><sec id="s4_2"><title>4.2. Varying the Lengths of the Half-Overlapped Data Buffers and Hanning Time Window</title><p>In this subsection we investigate the effect that varying the lengths of the half-overlapping data buffer and Hanning time window have on improving the noise removal design. The overlapping of the data buffers was varied between one-half and one-fourth overlapping and the Hanning time window length was varied from 256 points to 128 points and 512 points.</p></sec><sec id="s4_3"><title>4.3. Statistical Error Analysis</title><p>The original algorithm design consisted of no frame averaging with half-overlapped data buffers and 256 points Hanning time windows. Combining those techniques lead to 17 different design configurations shown in <xref ref-type="table" rid="table1">Table 1</xref>, <xref ref-type="table" rid="table2">Table 2</xref>, <xref ref-type="table" rid="table3">Table 3</xref>.</p><p>In order to evaluate the improvement in noise removal, we used the Speech to Noise Ratio (SNR) [<xref ref-type="bibr" rid="scirp.45989-ref8">8</xref>] defined as</p><disp-formula id="scirp.45989-formula2028"><label>, (9)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\ad13fed4-48c8-4dc8-b75d-facbe1343678.png"/></disp-formula><table-wrap id="table1"  position="float"><object-id pub-id-type="pii">Table 1</object-id><label>Table 1</label><caption><p>. Noise removal design using 256 points Hanning window</p></caption><table><thead><tr><th align="center" valign="middle" >Various noise removal design configurations</th><th align="center" valign="middle" >SNR of the modified reconstruction signal (dB)</th><th align="center" valign="middle" >Δ<sub>SNR</sub> (dB)</th></tr></thead><tbody><tr><td align="center" valign="middle" >256 points Hanning window One-half overlapped data buffers 3 frames averaging</td><td align="center" valign="middle" >12.4914</td><td align="center" valign="middle" >−0.5334</td></tr><tr><td align="center" valign="middle" >256 points Hanning window One-half overlapped data buffers 6 frames averaging</td><td align="center" valign="middle" >12.4538</td><td align="center" valign="middle" >−0.5710</td></tr><tr><td align="center" valign="middle" >256 points Hanning window One-fourth overlapped data buffers No frame averaging</td><td align="center" valign="middle" >13.3619</td><td align="center" valign="middle" >0.3371</td></tr><tr><td align="center" valign="middle" >256 points Hanning window One-fourth overlapped data buffers 3 frames averaging</td><td align="center" valign="middle" >12.3457</td><td align="center" valign="middle" >−0.6791</td></tr><tr><td align="center" valign="middle" >256 points Hanning window One-fourth overlapped data buffers 6 frames averaging</td><td align="center" valign="middle" >12.6906</td><td align="center" valign="middle" >−0.3342</td></tr></tbody></table></table-wrap><table-wrap id="table2"  position="float"><object-id pub-id-type="pii">Table 2</object-id><label>Table 2</label><caption><p>. Noise removal design using 128 points Hanning window</p></caption><table><thead><tr><th align="center" valign="middle" >Various noise removal design configurations</th><th align="center" valign="middle" >SNR of the modified reconstruction signal (dB)</th><th align="center" valign="middle" >Δ<sub>SNR</sub> (dB)</th></tr></thead><tbody><tr><td align="center" valign="middle" >128 points Hanning window One-half overlapped data buffers No frame averaging</td><td align="center" valign="middle" >12.9805</td><td align="center" valign="middle" >−0.0443</td></tr><tr><td align="center" valign="middle" >128 points Hanning window One-half overlapped data buffers 3 frames averaging</td><td align="center" valign="middle" >12.2872</td><td align="center" valign="middle" >−0.7376</td></tr><tr><td align="center" valign="middle" >128 points Hanning window One-half overlapped data buffers 6 frames averaging</td><td align="center" valign="middle" >12.2080</td><td align="center" valign="middle" >−0.8168</td></tr><tr><td align="center" valign="middle" >128 points Hanning window One-fourth overlapped data buffers No frame averaging</td><td align="center" valign="middle" >13.2412</td><td align="center" valign="middle" >0.2164</td></tr><tr><td align="center" valign="middle" >128 points Hanning window One-fourth overlapped data buffers 3 frames averaging</td><td align="center" valign="middle" >10.5704</td><td align="center" valign="middle" >−2.4544</td></tr><tr><td align="center" valign="middle" >128 points Hanning window One-fourth overlapped data buffers 6 frames averaging</td><td align="center" valign="middle" >12.2584</td><td align="center" valign="middle" >−0.7664</td></tr></tbody></table></table-wrap><table-wrap id="table3"  position="float"><object-id pub-id-type="pii">Table 3</object-id><label>Table 3</label><caption><p>. Noise removal design using 512 points Hanning window</p></caption><table><thead><tr><th align="center" valign="middle" >Various noise removal design configurations</th><th align="center" valign="middle" >SNR of the modified reconstruction signal (dB)</th><th align="center" valign="middle" >Δ<sub>SNR</sub> (dB)</th></tr></thead><tbody><tr><td align="center" valign="middle" >512 points Hanning window One-half overlapped data buffers No frame averaging</td><td align="center" valign="middle" >13.1032</td><td align="center" valign="middle" >0.0784</td></tr><tr><td align="center" valign="middle" >512 points Hanning window One-half overlapped data buffers 3 frames averaging</td><td align="center" valign="middle" >13.0085</td><td align="center" valign="middle" >−0.0163</td></tr><tr><td align="center" valign="middle" >512 points Hanning window One-half overlapped data buffers 6 frames averaging</td><td align="center" valign="middle" >12.9394</td><td align="center" valign="middle" >−0.0854</td></tr><tr><td align="center" valign="middle" >512 points Hanning window One-fourth overlapped data buffers No frame averaging</td><td align="center" valign="middle" >5.1722</td><td align="center" valign="middle" >−7.8526</td></tr><tr><td align="center" valign="middle" >512 points Hanning window One-fourth overlapped data buffers 3 frames averaging</td><td align="center" valign="middle" >5.8646</td><td align="center" valign="middle" >−7.1602</td></tr><tr><td align="center" valign="middle" >512 points Hanning window One-fourth overlapped data buffers 6 frames averaging</td><td align="center" valign="middle" >6.5488</td><td align="center" valign="middle" >−6.476</td></tr></tbody></table></table-wrap><p>where <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\c16bb238-57a5-4aea-9c6e-c0049ef91c88.png" xlink:type="simple"/></inline-formula> is the root-mean-square (RMS) of the reconstructed speech signal <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\16ec2da1-4b8e-44df-b429-dfcefc6d0870.png" xlink:type="simple"/></inline-formula> after noise removal calculated as follows</p><disp-formula id="scirp.45989-formula2029"><label>, (10)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\ec6aea29-688a-433b-80a1-db05c6399fa5.png"/></disp-formula><p>and <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\51946c59-36ef-4ce6-a8fc-5093491dfe81.png" xlink:type="simple"/></inline-formula> is the RMS of the vacuum noise N[n] calculated as</p><disp-formula id="scirp.45989-formula2030"><label>. (11)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\51946d9f-fc57-4ba6-8e16-596888628d09.png"/></disp-formula><p>We considered as reference SNR (SNR<sub>ref</sub>) the ratio of the RMS of the reconstructed speech signal “Real graph” in Section 3 to the RMS of the vacuum noise. Subsequently, the improvement in noise removal Δ<sub>SNR</sub> was evaluated by subtracting the SNR<sub>ref</sub> from the SNR of each of the 15 different design configurations in <xref ref-type="table" rid="table1">Table 1</xref>, <xref ref-type="table" rid="table2">Table 2</xref>, <xref ref-type="table" rid="table3">Table 3</xref> as follows</p><disp-formula id="scirp.45989-formula2031"><label>. (12)</label><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\2-3400314x\db2e5f8c-decd-4235-a7b8-f35fa86fd9e6.png"/></disp-formula><p>Improvement indeed occurs whenever Δ<sub>SNR</sub> is positive. In this application, SNR<sub>ref</sub> was equal to 13.0248 dB, which lead to the Δ<sub>SNR</sub> values shown in <xref ref-type="table" rid="table1">Table 1</xref>, <xref ref-type="table" rid="table2">Table 2</xref>, <xref ref-type="table" rid="table3">Table 3</xref>.</p></sec></sec><sec id="s5"><title>5. Conclusions</title><p>In this research, noise removal from noisy speeches has been studied and analyzed. The study includes methods for removing noise from noisy speeches using spectral subtraction.</p><p>Real-time data were sampled using a digital sound recorder system that converted both clean speech “Real graph” and vacuum cleaner noise from analog signals to digital signals at a sampling rate of 44.1 kHz. Noisy speech was digitally generated by corrupting the data of the clean speech “Real graph” with the data of the vacuum cleaner noise. Noise removal in the time domain was not successful. However, in the frequency domain, noise was successfully removed from the noisy speech. Prior to removing noise in the frequency domain, the spectrums of speech and non-speech activities were computed using the FFT of Hanning time-windowed data buffers. Removing noise requires an approximation of the noise during speech activity. The approximation of the noise was obtained by taking the average magnitude of the noise spectrum during non-speech activity. The average magnitude of the noise spectrum during non-speech activity was subtracted from the noisy speech spectrum during speech activity.</p><p>Our initial noise removal design consisted of no frame averaging with half-overlapped data buffers and 256 points Hanning time windows. The corresponding reference signal to noise ratio was equal to 13.0248 dB. We then tested a total of 17 modified noise-removal designs in search for the best configuration. Results showed that using any combination of half-overlapped and one-fourth-overlapped data buffers with 128, 256, and 512 points, Hanning windows and three frames or six frames averaging did not improve the performance of the denoising algorithm. However, using one-fourth-overlapped data buffers with 256 points Hanning windows and no frames averaging resulted in the greatest improvement differential SNR in the amount of 0.3371 dB, leading to most noise removal from the noisy speech “Real graph”. Thus we consider that our goal of denoising noisy speech signals has been successfully achieved.</p></sec></body><back><ref-list><title>References</title><ref id="scirp.45989-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">HYMAVATHY, K.P. AND JANARDHANAN, P. (2013) NOISE FILTERING IN SPEECH USING FREQUENCY RESPONSE MASKING TECHNIQUE. INTERNATIONAL JOURNAL OF EMERGING TRENDS IN ENGINEERING AND DEVELOPMENT, 2.</mixed-citation></ref><ref id="scirp.45989-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">MUANGJAROEN, S. AND YINGTHAWORNSUK, T. (2012) A STUDY OF NOISE REDUCTION IN SPEECH SIGNAL USING FIR FILTERING. PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ADVANCES IN ELECTRICAL AND ELECTRONICS ENGINEERING, PATTAYA, 13-15 APRIL 2012.</mixed-citation></ref><ref id="scirp.45989-ref3"><label>3</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>KUMAR</surname><given-names> T.L. </given-names></name>,<name name-style="western"><surname> RAJAN</surname><given-names> K.S. </given-names></name>,<etal>et al</etal>. (2012)<article-title>KUMAR, T.L. AND RAJAN, K.S.  NOISE SUPPRESSION IN SPEECH SIGNALS USING ADAPTIVE ALGORITHMS</article-title><source>. INTERNATIONAL JOURNAL OF ENGINEERING RESEARCH AND APPLICATIONS</source><volume> 2</volume>,<fpage> 718</fpage>-<lpage>721</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.45989-ref4"><label>4</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>AGGARWAL</surname><given-names> R.</given-names></name>,<name name-style="western"><surname> SINGH</surname><given-names> J.K.</given-names></name>,<name name-style="western"><surname> GUPTA</surname><given-names> V.K.</given-names></name>,<name name-style="western"><surname> RATHORE</surname><given-names> S.</given-names></name>,<name name-style="western"><surname> TIWARI</surname><given-names> M. </given-names></name>,<name name-style="western"><surname> KHARE</surname><given-names> A. </given-names></name>,<etal>et al</etal>. (2011)<article-title>AGGARWAL, R., SINGH, J.K., GUPTA, V.K., RATHORE, S., TIWARI, M. AND KHARE, A.  NOISE REDUCTION OF SPEECH SIGNAL USING WAVELET TRANSFORM WITH MODIFIED UNIVERSAL THRESHOLD</article-title><source>. INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS</source><volume> 20</volume>,<fpage> 15</fpage>-<lpage>19</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.45989-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">VERTELETSKAYA, E. AND SIMAK, B. (2010) SPEECH DISTORTION MINIMIZED NOISE REDUCTION ALGORITHM. PROCEEDINGS OF THE WORLD CONGRESS ON ENGINEERING AND COMPUTER SCIENCE, VOL. I, SAN FRANCISCO, 20-22 OCTOBER 2010.</mixed-citation></ref><ref id="scirp.45989-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">BOLL, S.F. (1979) SUPPRESSION OF ACOUSTIC NOISE IN SPEECH USING SPECTRAL SUBTRACTION. IEEE TRANSACTIONS ON ACOUSTIC, SPEECH AND SIGNAL PROCESSING, 27, 113-120. HTTP://DX.DOI.ORG/10.1109/TASSP.1979.1163209</mixed-citation></ref><ref id="scirp.45989-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">RABINER, L.R. AND SCHAFER, R.W. (1978) DIGITAL PROCESSING OF SPEECH SIGNALS. PRENTICE HALL, UPPER SADDLE RIVER.</mixed-citation></ref><ref id="scirp.45989-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">QUANTIERI, T.F. (2001) DISCRETE-TIME SPEECH SIGNAL PROCESSING: PRINCIPLES AND PRACTICE. PRENTICE HALL, UPPER SADDLE RIVER.</mixed-citation></ref><ref id="scirp.45989-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">ALLEN, J. (1977) SHORT TERM SPECTRAL ANALYSIS, SYNTHESIS, AND MODIFICATION BY DISCRETE FOURIER TRANSFORM. IEEE TRANSACTIONS ON ACOUSTIC, SPEECH AND SIGNAL PROCESSING, 25, 235-238. HTTP://DX.DOI.ORG/10.1109/TASSP.1977.1162950</mixed-citation></ref></ref-list></back></article>