I have a recording, corrupted by environment noise. The measurement noise is zero. How can I use Kalman filter to remove environment noise? I tried this Matlab code here but if the measurement error covariance is set to zero, the Kalman values are always the same as the measurements. The process noise is not removed at all.
You're misunderstanding how the Kalman filter framework works. Your measurements are a reflection of what the underlying state of the system is at each time instant. If you have zero measurement covariance, then your measurements perfectly reflect the system state, so there's no need for any filter whatsoever. It's not likely that this is truly the case.
Process noise is a representation of uncertainty in the model for how your system's state changes as time goes on. It's not something to be "removed" by the Kalman filter. Instead, it gives you the ability to accommodate higher-order effects that you aren't modeling in your state transition matrix.