Checking if a lecturer can be heard clearly from the back of a room I would like to indicate to a human speaker standing at the front of a classroom if he/she is speaking loudly enough to be heard from the back. From some research, i have gathered that I am looking to calculate the Signal to Noise Ratio or something similar. It looks like this sort of thing can be calculated in MATLAB or preferably Python. 

What types of inputs are needed? Is it possible to figure this out all from a mic in the back of the room? Or do I need a reference signal. For example, if i have a mic in the back of the room (connected via Bluetooth or WiFi) getting a noisy signal, will I also need a mic on (or near) the speaker so that i have something to compare to?

In the end, this would be running on a raspberry pi. Can anyone point me towards helpful libraries, modules, or tools for this type of thing?

This seemed like the best forum to ask this question. If there is a better place for it, let me know.
There's possibly an easy way out: Add two mics, one near the speaker and one in the back of the room. Run both signals through speech recognition software. If there is textual output from both and they agree, then the voice must be loud and clear. The software must be able to handle the language spoken though.

Other than that, there is research and standards on speech intelligibility. Perhaps it is better to start with a simplified model of intelligibility. Two important factors are speech level and noise level. By carrying out preliminary listening tests and measurements in the space, you can determine what the baseline noise level ($N_0$ dB) in the back is and how loud the speech must be ($S_0$ dB) in the minimum at the front mic for it to be intelligible in the back. Then during a lecture, you would detect voiced segments of the audio with the front mic and measure the speech level ($S$ dB) at the front during voiced segments and noise level ($N$ dB) in the back during non-voiced segments. If $S-N \ge S_0-N_0$, the speech should be intelligible. When measuring levels, you should weight the spectrum (by running the signal through a filter) so that level best reflects speech intelligibility or the detrimental quality of the noise. You would need to look into voiced/non-voiced detection, or simply have a threshold level for $S$ above which you classify the input as voiced.