Intermission

Some notes about the course structure, a look back to what you have learned so far, and what is coming up.
Log in

This is the mid-point of the course, so it’s time to take stock. You have covered a lot of material, starting from the foundations of speech signals, through phonetics and on to TTS. We’ll take a week’s break from new content while you finish the TTS assignment. After that, we’ll move on to Automatic Speech Recognition.

In week 7 you can focus on the Module 4-6  online test (Signals/TTS) and  your assignment. There are no new videos or readings in week 7, and there will be no lecture on Thursday.  There will be labs on Wednesday as usual for help with your assignment.

Each module shows you a fragment of this diagram, but now you’re ready to see a complete picture of all the topics covered in this course. The diagram explains the order in which you should learn the topics. You’ve already covered half of this – well done! Click the image to see a vector-graphic PDF version suitable for printing.

Note: This diagram doesn’t yet include the PHON content of the course that we covered in Modules 1 and 2!


Lab schedule for the mid-point in the course

  • Week 7 Wednesday: lab to finish the TTS assignment
  • Week 8 Wednesday: lab to learn shell scripting
  • Week 9 Wednesday: lab to start the ASR assignment

In Assignment 2 you will build a simple Automatic Speech Recognition system using the HTK toolkit. This will involve writing shell scripts, which are simple programs written in the shell language. We will use the bash shell. You’ve actually already used it a little bit without realising: it is what is running in the terminal and what you are interacting with when you copy files or start programs from the command line.

Non-computer science students might be pleased to hear that even students with computer science backgrounds often don’t know shell scripting: they will be learning it for the first time in this course!

Unless you are already a shell ninja, we strongly recommend attending a Week 8 lab where we will walk you through a series of exercises in shell scripting and/or you can work through some of the materials below at your own pace, with tutors available to help you when you get stuck.

Learn to use the Unix shell

From experience, the hardest part of the assignment for most students is learning enough shell scripting to automate the experiments. Your motivation for learning shell scripting is very clear: automating the experiments in Assignment 2 will enable you to do more work with less effort. Shell scripting is also a very useful skill in general. The tutors will help you in the labs, but it’s really a very good idea to get some practice with the basics as soon as you can.

If you want to practice on your own computer, you do not need to install Linux! On a Mac you can practice in the Terminal, and there are equivalents available on Windows (e.g. Powershell or Ubuntu WSL). Or simply use the remote desktop provided for this course.

If you’re not really familiar with the unix shell – don’t panic! A good intro to start with is Joe Collins’ Beginner’s Guide to the Bash Terminal (YouTube).  This will show you the very common commands we use in the shell.  The video has topic time stamps so you can go to the demos of specific commands (listed in the info section).

Once you feel ready, try following this Bash Shell scripting Primer which walks you through most of the techniques you will need for the upcoming assignment. The lab session will help you build confidence with these techniques by writing some scripts of your own.

If you have already used the unix shell, but not done much shell scripting, you might want to look at materials on shell scripting on  The Missing Semester of Your CS Education website.

For a complete structured course, we recommend the LinkedIn learning online course Learning Linux Command Line which you can access for free using your University of Edinburgh account. This course goes beyond what you need for the assignment, but is a good investment of time for students who will use the shell in future (e.g., in a dissertation or a job).

There is also a forum for getting help with shell scripting. You can learn a lot from other students’ questions, or the topics started by Simon which are bite-size mini-tutorials.

 

Foundation concepts

For the remaining modules, you may need to learn (or revise) some foundational concepts in mathematics and probability. There were some pointers to these at the start of the course. Don’t worry if you skipped over them back then, but you will now need them to fully understand Automatic Speech Recognition

The Start tab in each module specifies the concepts that you will need to understand, that are not covered in the videos. Aim for a basic understanding of the concepts listed in each module before watching that module’s videos, then bring your questions to the lecture and/or ask on the forums.

You can get a head start now if you wish:

Lab schedule for the rest of the course

  • Week 9 Wednesday: lab to start Assignment 2
  • Week 10 Wednesday: lab to continue Assignment 2
  • Week 11 Wednesday: lab to continue Assignment 2
  • Revision week Wednesday: lab for last opportunity to get help with Assignment 2

Notes on the videos for Modules 7 to 10

The Speech Processing course operates a policy of continual improvement: we try to make the materials and our teaching better every year. It’s not feasible to completely revise the materials every year, so inevitably this policy means that some parts of the course have undergone more recent improvement than other parts.

In previous modules, Simon’s videos were organised as one video per topic, with each video showing you a fragment of the Big Picture to explain how each topic is related to others. These are the most recently improved course materials; eventually, the whole course will have this type of video.

For modules 7 to 10, the videos are a little older. There is essentially a single video per module, divided into several shorter videos for easier viewing. Because these videos were made at a time when the course was taught entirely online, you may encounter a few references that don’t make sense (e.g., to video material that we are no longer using, or to a previous online tutorial/class/lecture). The Videos tab in each module will identify any such references, and tell you how the current version of course will cover that material (e.g., by providing some foundational material, or in a live lecture).