Speech:Spring 2017 Tools Group

From Openitware
Jump to: navigation, search


Group Member Logs


FEB 08 17

  • Worked on the Tools Group proposal and made changes to goals after meeting with Professor Jonas.
  • Began research on PocketSphinx.
  • Looked into LDA and MLLT prior to Tools Group goal change.
  • Ran a test train.

FEB 15 17

  • Began G++ features research and looked into installation steps for this compiler.
  • Began comparison of G++ and GCC

FEB 22 17

GCC/G++ Report:

The 2016 Spring Tools Group installed GCC on Majestix. It seems as though they were given a list of 18 directories that they were going to record, however, 3 of those directories did not exist on Majestix. Those 3 directories were usr/lib64 directory and there are two less directories than were mentioned in the /usr/share/lib* director. Therefore there were only 15 directories that needed to be recorded by the 2016 Spring Tools Group. Those directories were:


According to the 2016 Spring Tools Group, after installing GCC on Majestix, only four of the directories had changed. The four that changed were:


GCC compiles both C and C++ by looking at the extension of the file and then compiling accordingly. The way GCC can compile C++ is by linking to the C++ libraries by using the command -lstdc++. However, G++ does not need a flag because it would automatically link to those C++ libraries. Installing G++ would also include three new directories:


Based on this document ~> https://benchmarksgame.alioth.debian.org/u64q/c.html the performance of GCC 5.4 is faster than G++ 5.4. We were able to determine the version of GCC that was installed on Majestix by the Spring 2016 Tools Group, it is GCC version 4.4.7. GCC can be optimized for performance, but it may be more worthwhile to compare GCC 4.4.7 to a compatible version of G++. This will allow us to better understand the performance improvements or disadvantages of both GCC and G++.

Obelix Installations

GCC Install Documentation
G++ Install Documentation
Miniconda Install Documentation (Asterix)
Miniconda Install Documentation (Miraculix)
GCC/G++ Install Documentation

G++ Installation on Caesar

G++ Installation on Caesar Proposal

After the installation of G++ on Obelix only four directories were impacted. Those directories were /lib, /usr-bin, /usr-lib, and /var-lib

The systems group is going to back up Caesar and confirmed that Brutus can be rebuilt into Caesar if the installation goes awry.

Pocket Sphinx Report:

PocketSphinx is a light-weight library that depends on the SphinxBase library. It is written in C, and in order to install it the following dependencies must also be installed: gcc, automake, autoconf, libtool, bison, swig (at least version 2.0), the python development package, and the pulseaudio development package. For more information regarding installation steps please visit the following link: [1]

According to CMU, PocketSphinx is their fastest speech recognition system, having been optimized for mobile devices. [2] It generally has lower accuracy rates, although is still considered reasonably accurate. PocketSphinx should be used if project emphasis is on efficiency or working with less common programming languages (i.e. Erlang). [3] However, Sphinx3 is still considered the most accurate decoder, and has far better accuracy when working on large vocabulary tasks. It also provides much more flexibility than PocketSphinx, yet performs slower.

We looked into a test of PocketSphinx that was performed by a group at Carnegie Mellon University. The performance of PocketSphinx in their test was very close to that of their baseline, however the Word Error Rate(WER) was slightly higher using PocketSphinx. For more information please visit the following link: [4]

Overall, it seems that PocketSphinx should only be installed once Sphinx 3 has been fine tuned and has reached it's best possible WER. According to CMU, Sphinx 3 is capable of achieving the best WER, for the purposes of this speech project the 2017 Tools Group believes PocketSphinx should not be installed this semester. If the project in the future should move towards trying mobile development, then PocketSphinx can be used for Android and iOS devices.[5]