I have a noisy recording with some letters spoken out loud. I've noticed that the noise is easily recognizable when looking at a spectrogram of the audio. Is there anyway to set a power/frequency threshold for the spectrogram, and muting the parts which do not reach that threshold? (The noise doesn't have enough power in higher frequencies, as you can see in the spectrogram)
There exist solutions that are coarsely based on the idea that you propose: Threshold the spectrogram amplitudes to reduce/remove the noise part of the signal. Usually, this will bring about artifacts as e.g. the so-called musical noise and the application determines whether this is acceptable or not. In general, the more the noise is reduced the more negative effects the process has on the quality of the desired signal (i.e. the speech in this case).
As a first attempt I would suggest you to try the Noise Removal algorithm in Audacity (http://web.audacityteam.org/). Probably this will give satisfactory results and is sure worth a try as the software is free. If you're okay with spending money to most probably achieve better results, have a look at RX by iZotope (https://www.izotope.com/en/products/audio-repair/rx/). However, if you know the basics of digital signal processing and want to experiment yourself, a first thresholding algorithm will not be very complex in programming environments like e.g. MATLAB.
If you're interested in the background / signal processing methods that these algorithms are based on I would recommend the books by Vaseghi (http://www.amazon.com/Advanced-Digital-Signal-Processing-Reduction/dp/0470754060/ref=sr_1_1?ie=UTF8&qid=1432211838&sr=8-1&keywords=vaseghi) or Godsill and Rayner (https://www-sigproc.eng.cam.ac.uk/Main/SJGSpringer), the second of which can be downloaded for free from the internet.