Tech Hacks for Online Teaching

With the move to online teaching, many of us are struggling with how to record high-quality audio and video. Fortunately there is a lot of low-hanging fruit here — a little effort goes a long way to crafting a better experience for you and your students. Here are the tips & tricks that I’ve found useful.


Don’t underestimate the importance of good sound. Mediocre sound quality adds significantly to cognitive load for the listener/learner. This can cause rapid fatigue and burnout.

Simply recording your raw, unprocessed microphone signal usually will not give good results. The following tips, alone or in combination, are all worthwhile improvements:

Record in a quiet room. Avoid rooms with lots of hard surfaces: these cause excessive reverberation and loss of speech intelligibility. Carpet (ideally with thick underlay), heavy draperies and large furniture with open-weave fabrics are helpful. Avoid background noise like forced air ventilation systems and computer fans; these tend to be more obvious in a recording than they are live. I’ve mounted several fabric-covered fiber-glass panels on my walls to cut down on unwanted sound reflections.

Use a directional (e.g. cardioid) microphone. This will (partially) reject room noise and reverberation, making your voice relatively louder and clearer. Small headset and lapel mics are usually omni-directional; they’re cheap, but not a great choice. A directional mic is usually larger and more expensive. CDN$200 should be more than enough. Best to mount the mic on a shock mount attached to a floor stand, so bumping your desk doesn’t cause a thump in the recording.

Use good mic technique. Try to keep a fixed distance and direction from your mic. Rule of thumb: keep your mic-to-mouth distance a little more than the width of your hand. Speak naturally, avoid large changes in volume, and don’t lean into the mic. Brush your teeth and avoid starchy foods before recording — otherwise you will capture unpleasant “mouth sounds”. Remember, the listener perspective is from a point just a few inches from your mouth — i.e. rather intimate.

Monitor levels while recording. Managing signal levels is key to capturing a good recording. If your software doesn’t show a real-time display of the mic signal level while you record, you should run a separate program that does. Set your mic level/sensitivity so the peak signal almost but never quite hits the maximum level (usually denoted as 0dB) — otherwise the signal peaks get clipped, causing high distortion. If the loudest parts of your recordings have a “buzzing”, “fuzzy” quality then it’s probably clipping and you need to turn down your mic. It’s a good idea to leave some “headroom”, with peak levels hitting about -6dB. Here’s a picture of the audio monitor in OBS during a live recording:

This indicates a current level of -4dB, with a recent peak at -1.5dB (almost too high) and an average (RMS) level of -20dB. This is pretty good. It’s definitely worth paying attention to this detail while setting up your recording system.

Monitor yourself. Monitor your mic signal with headphones/earbuds while recording. This really helps improve mic technique, and you’ll start to automatically adjust to what you hear.

Apply a noise gate. A noise gate is a filter (usually implemented in software) that zeroes out your mic signal unless you are speaking. This will cut out any background noise during silences. Your recording software might have available a noise gate that works in real-time while you record (OBS does). Alternatively, you can post-process the audio to apply the noise gate after recording. FFMPEG is a free, open-source program that I use to do this. Here is a command line that applies a suitable noise gate to a video file input.mp4, outputting the result to output.mp4:

ffmpeg -i input.mp4 \
 -af "agate=range=0:threshold=0.05:ratio=2:attack=10:release=50:detection=peak" \
 -c:v copy -c:a aac -b:a 192k output.mp4

Use compression. If your mic level is set low enough to avoid clipping, your recordings will probably seem too quiet. To fix this use a compressor filter, which raises the level of the quieter parts of the signal to make the overall volume higher and more consistent. Again, your recording software might have a compressor that works in real-time (OBS does) or you can apply one in post-processing. FFMPEG can do this. The internet has lots of advice on appropriate compressor settings for speech recordings.

Use equalization. Some judicious EQ can improve speech intelligibility. Speech lives in the audio frequency band between 50Hz and 10kHz. Applying a high-pass filter at 80Hz and a low-pass at 8kHz can help cut out unwanted non-speech sounds. Consonants (the greatest source of ambiguity in speech perception, e.g. the distinction between ‘t’ and ‘d’) live between 2 and 4kHz. A slight (3dB) boost in this range can boost intelligibility and reduce listening fatigue. Reducing the level around 5-7kHz can reduce sibilance. The internet has lots of advice about EQ for speech if you want to get more refined. Again, some recording software can do EQ in real time. I do it in post-processing using FFMPEG. Here is the command line I use to apply EQ to a pre-recorded video:

ffmpeg -i input.mp4 \
 -af "bass=g=-4:f=400:t=q:w=0.7,treble=g=-3:f=5000:t=q:w=0.7,equalizer=f=200:t=q:w=2:g=3,equalizer=f=4000:t=q:w=2:g=3,equalizer=f=5000:t=o:w=0.3:g=-9" \
 -c:v copy -c:a aac -b:a 192k output.mp4


I know much less about video than audio, but the basics are easy enough:

Use a good camera. Built-in cameras on laptops and tablets are often not great. I got a Logitech C922 which was a big improvement over my laptop’s camera.

Use lots of light. Cameras work better with lots of light. Work in front of a large window if you can. Artificial lighting can get very expensive, but you can get good results with some desk lamps and diffusers. Best to put light in front of you rather than overhead. Hardware stores sell 2’x4′ diffuser panels intended for overhead lighting, about $20 each. I hang them vertically between myself and some desk lamps with bright bulbs. Without the diffusers the lighting will appear harsh with deep shadows, plus shiny spots on your face and glasses. Here’s the lighting setup at my desk (also shown: webcam, doc cam, microphone, desk clutter):

Avoid backlighting. Don’t have lights or windows in the frame behind you. These will confuse your camera’s auto-exposure and make your face appear darker than the background.

Manually adjust white balance and exposure. Your camera has settings that can be adjusted in software. The default is to use auto exposure and auto white balance temperature. These automatic settings are easily confused and usually give sub-optimal results. My camera’s default settings make me look pale and over-exposed in artificial light:

Manually increasing the white balance temperature warms up my skin tone to something approaching hale-and-hearty; manually decreasing exposure prevents blowing out the shiny areas exposed by my receding hairline:

Where to find your camera settings will depend on your operating system. Under linux I run the program v4l2ucp which provides a simple interface. Here are some of my settings:

Video Recording Software

I use OBS (Open Broadcasting Studio) which is a free, open-source, and multi-platform program for recording video and podcasts. It’s powerful but took me only a day to learn. It makes it easy to switch between video sources (face cam, doc cam, desktop) and can easily overlay them:

Here is a video that I recorded in OBS, with audio post-processing as described above:

Document Camera

Neither my students nor I are fans of math presented on pre-prepared slides. I prefer to use a document camera to present the math in real time, much as I would with a whiteboard. I bought the Ipevo VZ-R camera, and I’m pretty happy with it. It provides a beautiful hi-res video feed when used in Zoom, BlueJeans, etc. Unfortunately, the compositing process used by OBS forces a lower-res video mode, but it’s still plenty good.

Marking Papers in Moodle

I have my students upload PDF scans of their work to Moodle. For marking and feedback I tried Moodle’s built-in PDF annotation feature, but had too many difficulties: inability to rotate or zoom in/out, too much clicking with the mouse to move between pages and features.

I found it much easier and more efficient to download the files to my PC, add markup using my own software, then batch-upload the results to Moodle as a .zip archive.

I use a Wacom Intuos tablet (model CTL-4100) for drawing on PDF files. Bigger tablets are much more expensive. This one is the smallest available but big enough for my work, pressure sensitive, and feels quite natural to use.

Under linux I use the program xournal for annotating PDFs. It’s simple but featureful enough, and responds to the pressure sensitivity of my tablet.

So I don’t have to manually open files, I wrote a script that sequentially opens all the PDF files in a folder into xournal. When I close one file, the next opens automatically. The script also handles creating the .zip archive for upload to Moodle.With this setup, marking as at least no more painful that it is with actual pen-and-paper.

Here is that script in case you want to adapt it to your needs::

# Open PDF files one at a time in xournal for marking,
# then archive the marked up files in a .zip file for upload to moodle.
# In xournal, export to PDF as <original filename>.pdf.pdf to give
# each file a unique name that moodle can map to the student.

# loop over pdf files, taking care with spaces in filenames:
find . -type f -name "*.pdf" -print0 | while IFS= read -r -d '' file; do
  echo "file = $file"
  xournal "$file"

zip *pdf.pdf


Leave a Reply

Your email address will not be published. Required fields are marked *