There is a defined relation between the speed of sound, the temperature and the humidity. [defined != trivial]
I discussed that here - Ultrasonic sensor to determine water level? - #12 by robtillaart - Sensors - Arduino Forum -
float sos = 331.45 * sqrt(1 + t/273) * (100 + RH * 0.11 * power(1.82, ((t-273)/10))); // t in Kelvin
That means if one measures the speed of sound and one knows the temperature one can derive the humidity.
RH = (sos / (331.45 * sqrt(1 + t/273)) - 100) / ( 0.11 * power(1.82, ((t-273)/10)))); // TODO check () and formula
Temperature can be measured with a DS18B20 as it has a 0.1 precission.
The speed of sound can be measured with an ultrasound sensors with a defined distance e.g. 50,0000 cm from a wall.
[not build myself but should not be too hard]
Give it a try