<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://projectswiki.eleceng.adelaide.edu.au/projects/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A1725920</id>
	<title>Projects - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://projectswiki.eleceng.adelaide.edu.au/projects/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A1725920"/>
	<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php/Special:Contributions/A1725920"/>
	<updated>2026-05-27T12:03:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.4</generator>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15598</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15598"/>
		<updated>2020-10-19T03:22:27Z</updated>

		<summary type="html">&lt;p&gt;A1725920: Undo revision 15597 by A1725920 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Data needed be collected for training and testing our networks.&lt;br /&gt;
&lt;br /&gt;
We chose the LibriSpeech dataset for our clean speech (it contains over 960 hours of speech, much more than what is usually used in the speech enhancement literature), and three noise datasets: MAVD-traffic &amp;lt;ref name=&amp;#039;MAVD-traffic&amp;#039;&amp;gt;P. Zinemanas, P. Cancela, and M. Rocamora, “Mavd: A dataset for sound event&lt;br /&gt;
detection in urban environments,” 01 2019, pp. 263–267&amp;lt;/ref&amp;gt;, TUT Acoustic Noise &amp;lt;ref name=&amp;#039;TUT&amp;#039;&amp;gt;A. Mesaros, T. Heittola, and T. Virtanen, “TUT database for acoustic scene classifi-&lt;br /&gt;
cation and sound event detection,” in 24th European Signal Processing Conference&lt;br /&gt;
2016 (EUSIPCO 2016), Budapest, Hungary, 2016&amp;lt;/ref&amp;gt; and SONYC &amp;lt;ref name=&amp;#039;SONYC&amp;#039;&amp;gt;M. Cartwright, J. Cramer, A. E. M. Mendez, Y. Wang, H.-H. Wu, V. Lostanlen,&lt;br /&gt;
M. Fuentes, G. Dove, C. Mydlarz, J. Salamon, O. Nov, and J. P. Bello, “Sonyc&lt;br /&gt;
urban sound tagging (sonyc-ust): a multilabel dataset from an urban acoustic sensor&lt;br /&gt;
network,” 2020&amp;lt;/ref&amp;gt;, all satisfying the project briefing requirement for &amp;quot;street noise.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt; and Wave-U-Net&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt; – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|700px|thumb|center|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15597</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15597"/>
		<updated>2020-10-19T03:20:19Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this subsystem is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|700px|thumb|center|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15596</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15596"/>
		<updated>2020-10-19T03:20:10Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Data needed be collected for training and testing our networks.&lt;br /&gt;
&lt;br /&gt;
We chose the LibriSpeech dataset for our clean speech (it contains over 960 hours of speech, much more than what is usually used in the speech enhancement literature), and three noise datasets: MAVD-traffic &amp;lt;ref name=&amp;#039;MAVD-traffic&amp;#039;&amp;gt;P. Zinemanas, P. Cancela, and M. Rocamora, “Mavd: A dataset for sound event&lt;br /&gt;
detection in urban environments,” 01 2019, pp. 263–267&amp;lt;/ref&amp;gt;, TUT Acoustic Noise &amp;lt;ref name=&amp;#039;TUT&amp;#039;&amp;gt;A. Mesaros, T. Heittola, and T. Virtanen, “TUT database for acoustic scene classifi-&lt;br /&gt;
cation and sound event detection,” in 24th European Signal Processing Conference&lt;br /&gt;
2016 (EUSIPCO 2016), Budapest, Hungary, 2016&amp;lt;/ref&amp;gt; and SONYC &amp;lt;ref name=&amp;#039;SONYC&amp;#039;&amp;gt;M. Cartwright, J. Cramer, A. E. M. Mendez, Y. Wang, H.-H. Wu, V. Lostanlen,&lt;br /&gt;
M. Fuentes, G. Dove, C. Mydlarz, J. Salamon, O. Nov, and J. P. Bello, “Sonyc&lt;br /&gt;
urban sound tagging (sonyc-ust): a multilabel dataset from an urban acoustic sensor&lt;br /&gt;
network,” 2020&amp;lt;/ref&amp;gt;, all satisfying the project briefing requirement for &amp;quot;street noise.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|700px|thumb|center|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15473</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15473"/>
		<updated>2020-10-19T00:26:51Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this subsystem is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|700px|thumb|center|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15472</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15472"/>
		<updated>2020-10-19T00:25:47Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|700px|thumb|center|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15471</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15471"/>
		<updated>2020-10-19T00:25:00Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|400px|thumb|right|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15470</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15470"/>
		<updated>2020-10-19T00:24:30Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|800px|thumb|right|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15469</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15469"/>
		<updated>2020-10-19T00:23:48Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 final results.png|800px|thumb|center|Figure 3: The results of the Performance Evaluation of our speech enhancement systems. Each score is a mean score taken across all 5559 audio files in the Test set.]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Wave-U-Net was the only method able to improve performance in WER. It was only a marginal improvement, but the fact that it showed improvement answers the research question: Yes, machine learning speech enhancements are suitable as a preprocessing step for ASR.&lt;br /&gt;
&lt;br /&gt;
As speech enhancement methods, both SEGAN+ and Wave-U-Net were able to outperform the baseline Wiener filter, and both networks improved in PESQ, STOI and SSNR, however Wave-U-Net was the clear standout across all metrics.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Group_1410_final_results.png&amp;diff=15468</id>
		<title>File:Group 1410 final results.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Group_1410_final_results.png&amp;diff=15468"/>
		<updated>2020-10-19T00:19:35Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;group 1410 final results&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15467</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15467"/>
		<updated>2020-10-19T00:17:52Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Speech Enhancement ====&lt;br /&gt;
&lt;br /&gt;
Two promising techniques were selected – SEGAN+ and Wave-U-Net – and their models trained on the Training dataset produced in the Data Preparation subsystem.&lt;br /&gt;
&lt;br /&gt;
The Test dataset was then enhanced by both the trained models of SEGAN+ and Wave-U-Net. A Wiener filter was also used to enhance the Test set, which was used as a baseline, traditional speech enhancement method to compare the performance of the neural networks to.&lt;br /&gt;
&lt;br /&gt;
==== Performance Evaluation ====&lt;br /&gt;
&lt;br /&gt;
The enhanced Test datasets produced by each speech enhancement method mentioned above were then evaluated against the four selected metrics. The original clean and noisy Test datasets were used as the reference material for metric comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15466</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15466"/>
		<updated>2020-10-19T00:09:40Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%. A lower WER indicates a better performance.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
PESQ is a real number between 1 and 4.5, with a higher PESQ indicating better quality of speech.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
STOI is a real number between 0 and 1, with a higher STOI index indicating more intelligible speech.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where x&amp;lt;sub&amp;gt;r&amp;lt;/sub&amp;gt; is the reference (desired) signal and x&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; is the degraded (noisy) signal.&lt;br /&gt;
&lt;br /&gt;
SSNR is a number (in dB) between -10 and 35, with a higher SSNR indicating less noise.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
==== Obtain a dataset ====&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Train and optimise ====&lt;br /&gt;
&lt;br /&gt;
A number of promising techniques are selected, and their models trained on the dataset from the previous objective. For non-learning methods, their algorithms may be optimised or altered in some small manner to generate the best results.&lt;br /&gt;
&lt;br /&gt;
==== Compare methods ====&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15465</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15465"/>
		<updated>2020-10-19T00:06:26Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;S. Pascual, A. Bonafonte, and J. Serrà, “Segan: Speech enhancement generative&lt;br /&gt;
adversarial network,” arXiv preprint arXiv:1703.09452, 2017.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;D. Stoller, S. Ewert, and S. Dixon, “Wave-u-net: A multi-scale neural network for&lt;br /&gt;
end-to-end audio source separation,” 19th International Society for Music Information&lt;br /&gt;
Retrieval Conference (ISMIR-2018).&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
=== Metric Scores ===&lt;br /&gt;
==== Word Error Rate ====&lt;br /&gt;
The Word Error Rate (WER) is a commonly used metric for analysing the performance of an ASR system. Its use in evaluating speech enhancement systems is novel for this project.&lt;br /&gt;
&lt;br /&gt;
The WER score is a means of comparing a hypothesis transcript (usually the output of an ASR transcript) to a reference transcript (the actual words spoken). The score is a percentage of the words in the hypothesis that were erroneous compared to the reference (i.e. a lower WER score indicates better performance).&lt;br /&gt;
&lt;br /&gt;
The WER is calculated as follows:&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;{WER} = \frac{S + I + D}{N}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where S is the number of words substituted, I is the number of words inserted, D is the number of words deleted, and N is the total number of words in the reference transcript.&lt;br /&gt;
&lt;br /&gt;
Since there could be infinitely more words inserted into the hypothesis compared to the reference, there is no upper limit on WER, however for a reasonable speech sample and ASR system, we expect WER to fall between 0 and 100%.&lt;br /&gt;
&lt;br /&gt;
==== Perceptual Evaluation of Speech Quality ====&lt;br /&gt;
The Perceptual Evaluation of Speech Quality (PESQ) is a score originally developed by Rix et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;PESQ&amp;#039;&amp;gt;A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Perceptual evaluation&lt;br /&gt;
of speech quality (pesq)-a new method for speech quality assessment of telephone&lt;br /&gt;
networks and codecs,” in 2001 IEEE International Conference on Acoustics, Speech,&lt;br /&gt;
and Signal Processing. Proceedings (Cat. No.01CH37221), vol. 2, 2001, pp. 749–752&lt;br /&gt;
vol.2.&amp;lt;/ref&amp;gt; as a metric for evaluating the quality of speech after degradation caused by telecommunications systems. It is now a common metric in the speech enhancement community, since the literature shows that the score consistently reflects true human opinion on increase in speech quality.&lt;br /&gt;
&lt;br /&gt;
==== Short-Time Objective Intelligibility ====&lt;br /&gt;
The Short-Time Objective Intelligibility (STOI) index was developed and published in 2011 by Taal et al&lt;br /&gt;
&amp;lt;ref name=&amp;#039;STOI&amp;#039;&amp;gt;C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “An algorithm for intelligibility&lt;br /&gt;
prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio,&lt;br /&gt;
Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, Sep. 2011.&amp;lt;/ref&amp;gt; to reduce time and cost involved with using human listening experiments to determine speech intelligibility. The speech enhancement community has taken this on as a common metric.&lt;br /&gt;
&lt;br /&gt;
==== Segmental Signal-to-Noise Ratio ====&lt;br /&gt;
The Segmental Signal-to-Noise Ratio (SSNR) is a modification on the standard definition of Signal-to-Noise Ratio (SNR). It is calculated by splitting an audio clip into small (~20ms) segments, taking the SNR of each segment, and taking the mean of those SNRs. Since SNR has no upper or lower bound, the SNR of particularly noisy or quiet segments can weigh heavily on the mean SNR, so upper and lower bounds for individual SNRS of 35dB and -10dB are introduced.&lt;br /&gt;
&lt;br /&gt;
The SSNR can be calculated as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;#039;text-align:center;&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SNR_m = 10 \log_{10} \frac{\sum\limits_{n=mN}^{(m+1)N-1}x_r[n]^2}{\sum\limits_{n=mN}^{(m+1)N-1}(x_d[n]-x_r[n])^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
SSNR = \frac{1}{M} \sum_{m=0}^{M-1} \begin{cases}&lt;br /&gt;
								-10 &amp;amp; SNR_m &amp;lt; -10\\&lt;br /&gt;
								SNR_m &amp;amp; -10 \leqslant SNR_m \leqslant 35\\&lt;br /&gt;
								35 &amp;amp; SNR_m &amp;gt; 35&lt;br /&gt;
							\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
==== Obtain a dataset ====&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Train and optimise ====&lt;br /&gt;
&lt;br /&gt;
A number of promising techniques are selected, and their models trained on the dataset from the previous objective. For non-learning methods, their algorithms may be optimised or altered in some small manner to generate the best results.&lt;br /&gt;
&lt;br /&gt;
==== Compare methods ====&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15462</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15462"/>
		<updated>2020-10-18T23:42:12Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. Performance of an automatic speech recognition (ASR) system tends to suffer in the presence of noise and distortion. In the past few years, a number of machine learning techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;Pascual, S., Bonafonte, A. and Serra, J., 2017. &amp;#039;&amp;#039;SEGAN: Speech enhancement generative adversarial network&amp;#039;&amp;#039;. arXiv preprint arXiv:1703.09452&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;Stoller, D., Ewert, S. and Dixon, S., 2018. &amp;#039;&amp;#039;Wave-u-net: A multi-scale neural network for end-to-end audio source separation&amp;#039;&amp;#039;. arXiv preprint arXiv:1806.03185&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to determine the suitability of machine learning based speech enhancement techniques as a pre-processing step for ASR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
==== Obtain a dataset ====&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Train and optimise ====&lt;br /&gt;
&lt;br /&gt;
A number of promising techniques are selected, and their models trained on the dataset from the previous objective. For non-learning methods, their algorithms may be optimised or altered in some small manner to generate the best results.&lt;br /&gt;
&lt;br /&gt;
==== Compare methods ====&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15461</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15461"/>
		<updated>2020-10-18T23:39:56Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. A number of techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;Pascual, S., Bonafonte, A. and Serra, J., 2017. &amp;#039;&amp;#039;SEGAN: Speech enhancement generative adversarial network&amp;#039;&amp;#039;. arXiv preprint arXiv:1703.09452&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;Stoller, D., Ewert, S. and Dixon, S., 2018. &amp;#039;&amp;#039;Wave-u-net: A multi-scale neural network for end-to-end audio source separation&amp;#039;&amp;#039;. arXiv preprint arXiv:1806.03185&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips, both using deep neural networks, and more traditional filters.&lt;br /&gt;
&lt;br /&gt;
The overall objective of this project is to compare a number of speech enhancement techniques in a fair environment, and to also compare the results of each technique after its output is fed through an automatic speech recogniser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|1200px|thumb|center|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
==== Obtain a dataset ====&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Train and optimise ====&lt;br /&gt;
&lt;br /&gt;
A number of promising techniques are selected, and their models trained on the dataset from the previous objective. For non-learning methods, their algorithms may be optimised or altered in some small manner to generate the best results.&lt;br /&gt;
&lt;br /&gt;
==== Compare methods ====&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15460</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15460"/>
		<updated>2020-10-18T23:37:28Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. A number of techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;Pascual, S., Bonafonte, A. and Serra, J., 2017. &amp;#039;&amp;#039;SEGAN: Speech enhancement generative adversarial network&amp;#039;&amp;#039;. arXiv preprint arXiv:1703.09452&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;Stoller, D., Ewert, S. and Dixon, S., 2018. &amp;#039;&amp;#039;Wave-u-net: A multi-scale neural network for end-to-end audio source separation&amp;#039;&amp;#039;. arXiv preprint arXiv:1806.03185&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips, both using deep neural networks, and more traditional filters.&lt;br /&gt;
&lt;br /&gt;
The overall objective of this project is to compare a number of speech enhancement techniques in a fair environment, and to also compare the results of each technique after its output is fed through an automatic speech recogniser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Emily Gao (UniSA)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Machine Learning ===&lt;br /&gt;
==== Deep Neural Networks ====&lt;br /&gt;
A neural network is a type of algorithm which is developed to emulate the function of the brain. A neural network consists of layers of “neurons”, each of which holds a numeric value. The value of neurons in the first layer of a neural network are determined by the input to the network, and this layer is called the “input layer”. The value of neurons in further layers is determined by calculating a weighted sum of the values of neurons in the previous layer (and an additional bias, which can help bring the value into an appropriate range), and then passing this result through a non-linear function called an “activation function”. This non-linearity is what separates a neural network from a simple system of linear equations. See below for a visual demonstration of a small neural network, demonstrating how the values are calculated. The final layer of the network is called the “output layer”. Layers  between the input layer and the output layer are called “hidden layers”. A Deep Neural Network (DNN) is any neural network which has more than one hidden layer.&lt;br /&gt;
&lt;br /&gt;
[[File:Small neural network.png|frame|center|Figure 1: Demonstration of how neuron values are determined in a small neural network.]]&lt;br /&gt;
&lt;br /&gt;
==== Training ====&lt;br /&gt;
The value of each neuron in a neural network is calculated by taking a weighted sum of values from the previous layer and a bias. Determining the optimal values of these weights and biases lies at the heart of machine learning. The optimal weights and biases are calculated in the training process.&lt;br /&gt;
A single iteration of training involves feeding the network an input (with a value assigned to each input neuron), and observing how close the output is to some desired output. It makes a comparison using a “loss function,” which is small when the output is close to the desired output, and large when the output is far from the desired output. The network then adjusts the weights and biases of all neurons to reduce the loss function for that particular input.&lt;br /&gt;
The training process typically involves a large number of iterations with a large set of inputs called the “training dataset.” The dataset must contain example inputs paired with their desired outputs, so the network has something to compare to in the loss function. The process of iterating over the entire training dataset is called an “epoch”. The training dataset is usually very large, so the number of computations per epoch is also very large, and so the training process requires a lot of time and computing power.&lt;br /&gt;
&lt;br /&gt;
==== Convolutional Neural Networks ====&lt;br /&gt;
A Convolutional Neural Network (CNN) is a variety of DNN which predominantly contains convolutional layers rather than fully-connected layers. A convolutional layer is a layer where each neuron is only connected to a fraction of the neurons in the previous layer. These connections are defined by a convolution of the previous layer with a kernel. The values in this kernel act as the weights of the CNN, and are adjusted during the training process through back-propagation. CNNs are preferred for systems with large, regular inputs (especially image and audio) since a DNN requires a small fraction of the weights of a fully-connected DNN, dramatically reducing computational costs. They perform especially well on image and audio, since typically a sample of image or audio is very strongly related to its neighbour samples and has little relation to distant samples.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
[[File:Group 1410 Flow diagrams.png|frame|center|1000px|Figure 2: Diagrams depicting the data flows of the system]]&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
==== Obtain a dataset ====&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Train and optimise ====&lt;br /&gt;
&lt;br /&gt;
A number of promising techniques are selected, and their models trained on the dataset from the previous objective. For non-learning methods, their algorithms may be optimised or altered in some small manner to generate the best results.&lt;br /&gt;
&lt;br /&gt;
==== Compare methods ====&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Group_1410_Flow_diagrams.png&amp;diff=15459</id>
		<title>File:Group 1410 Flow diagrams.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Group_1410_Flow_diagrams.png&amp;diff=15459"/>
		<updated>2020-10-18T23:35:29Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;group 1410 Flow diagrams&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Full_system_group_1410.png&amp;diff=15458</id>
		<title>File:Full system group 1410.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Full_system_group_1410.png&amp;diff=15458"/>
		<updated>2020-10-18T23:20:30Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Flow diagram of the full system&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Small_neural_network.png&amp;diff=15457</id>
		<title>File:Small neural network.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Small_neural_network.png&amp;diff=15457"/>
		<updated>2020-10-18T23:10:41Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A demonstration of how values are determined in a small neural network.&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15456</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15456"/>
		<updated>2020-10-18T23:06:05Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. A number of techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;Pascual, S., Bonafonte, A. and Serra, J., 2017. &amp;#039;&amp;#039;SEGAN: Speech enhancement generative adversarial network&amp;#039;&amp;#039;. arXiv preprint arXiv:1703.09452&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;Stoller, D., Ewert, S. and Dixon, S., 2018. &amp;#039;&amp;#039;Wave-u-net: A multi-scale neural network for end-to-end audio source separation&amp;#039;&amp;#039;. arXiv preprint arXiv:1806.03185&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips, both using deep neural networks, and more traditional filters.&lt;br /&gt;
&lt;br /&gt;
The overall objective of this project is to compare a number of speech enhancement techniques in a fair environment, and to also compare the results of each technique after its output is fed through an automatic speech recogniser.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
=== Project students ===&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
=== Supervisors ===&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
=== Advisors ===&lt;br /&gt;
* Ms. Wei Gao (Emily)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Train and optimise ====&lt;br /&gt;
&lt;br /&gt;
A number of promising techniques are selected, and their models trained on the dataset from the previous objective. For non-learning methods, their algorithms may be optimised or altered in some small manner to generate the best results.&lt;br /&gt;
&lt;br /&gt;
==== Compare methods ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Topic 1 ===&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
==== Obtain a dataset ====&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15455</id>
		<title>Projects:2020s1-1410 Speech Enhancement for Automatic Speech Recognition</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s1-1410_Speech_Enhancement_for_Automatic_Speech_Recognition&amp;diff=15455"/>
		<updated>2020-10-18T23:05:18Z</updated>

		<summary type="html">&lt;p&gt;A1725920: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s1|1410]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This project is sponsored by DST Group&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Speech recognition is becoming more and more widely used, though the input audio to these systems is rarely clean. A number of techniques&lt;br /&gt;
&amp;lt;ref name=&amp;quot;SEGAN&amp;quot;&amp;gt;Pascual, S., Bonafonte, A. and Serra, J., 2017. &amp;#039;&amp;#039;SEGAN: Speech enhancement generative adversarial network&amp;#039;&amp;#039;. arXiv preprint arXiv:1703.09452&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Wave-U-Net&amp;quot;&amp;gt;Stoller, D., Ewert, S. and Dixon, S., 2018. &amp;#039;&amp;#039;Wave-u-net: A multi-scale neural network for end-to-end audio source separation&amp;#039;&amp;#039;. arXiv preprint arXiv:1806.03185&amp;lt;/ref&amp;gt;&lt;br /&gt;
have been developed to reduce the background noise of speech clips, both using deep neural networks, and more traditional filters.&lt;br /&gt;
&lt;br /&gt;
The overall objective of this project is to compare a number of speech enhancement techniques in a fair environment, and to also compare the results of each technique after its output is fed through an automatic speech recogniser.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&amp;#039;&amp;#039;This project follows from work done previously by University of Adelaide students Jordan Parker, Shalin Shah, and Nha Nam (Harry) Nguyen as a summer scholarship project.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Project team ==&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Patrick Gregory&lt;br /&gt;
* Zachary Knopoff&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Dr. Said Al-Sarawi&lt;br /&gt;
* Dr. Ahmad Hashemi-Sakhtsari (DST Group)&lt;br /&gt;
* Mr. Paul Jager (DST Group)&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
* Ms. Wei Gao (Emily)&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
==== Obtain a dataset ====&lt;br /&gt;
&lt;br /&gt;
Each speech enhancement method has been demonstrated by using different audio datasets depending on the creator(s). Despite this, the general concept is very similar:&lt;br /&gt;
* Collect a large amount of &amp;quot;noise&amp;quot; audio&lt;br /&gt;
* Collect a large amount of clean speech audio - if a transcription exists too, this is called a &amp;#039;&amp;#039;&amp;#039;corpus&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Combine the two datasets to synthesise noisy speech audio&lt;br /&gt;
&lt;br /&gt;
The goal for this objective is to generate the means of creating a very large (approx 1000hrs) dataset of mixed audio, while maintaining a record of the original clean and noise files - as some methods use these during training. This dataset / generation methodology can then be used by all methods for a fair comparison.&lt;br /&gt;
&lt;br /&gt;
==== Train and optimise ====&lt;br /&gt;
&lt;br /&gt;
A number of promising techniques are selected, and their models trained on the dataset from the previous objective. For non-learning methods, their algorithms may be optimised or altered in some small manner to generate the best results.&lt;br /&gt;
&lt;br /&gt;
==== Compare methods ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Topic 1 ===&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A1725920</name></author>
		
	</entry>
</feed>