A noise attenuation apparatus comprising: - a receiver for receiving a first signal of an environment, the first signal comprising a desired signal component corresponding to a signal from a desired source in the environment and a noise signal component corresponding to noise in the environment; - a first codebook comprising a plurality of desired signal candidates for the desired signal component, each desired signal candidate representing a possible desired signal component; - a second codebook comprising a plurality of noise signal candidates for the noise signal component, each desired signal candidate representing a possible noise signal component; - an input for receiving a sensor signal providing a measurement of the environment, the sensor signal representing a measurement of the desired source or of the noise in the environment; - a segmenter for segmenting the first signal into time segments; - a noise attenuator arranged to, for each time segment, performing the steps of: - generating a plurality of estimated signal candidates by for each pair of a desired signal candidate of a first group of codebook entries of the first codebook and a noise signal candidate of a second group of codebook entries of the second codebook generating a combined signal; - generating a signal candidate for the first signal in the time segment from the estimated signal candidates, and - attenuating noise of the first signal in the time segment in response to the signal candidate; wherein the noise attenuator is arranged to generate at least one of the first group and the second group by selecting a subset of codebook entries in response to the sensor signal. - a receiver for receiving a first signal of an environment, the first signal comprising a desired signal component corresponding to a signal from a desired source in the environment and a noise signal component corresponding to noise in the environment; - a first codebook comprising a plurality of desired signal candidates for the desired signal component, each desired signal candidate representing a possible desired signal component; - a second codebook comprising a plurality of noise signal candidates for the noise signal component, each desired signal candidate representing a possible noise signal component; - an input for receiving a sensor signal providing a measurement of the environment, the sensor signal representing a measurement of the desired source or of the noise in the environment; - a segmenter for segmenting the first signal into time segments; - a noise attenuator arranged to, for each time segment, performing the steps of: - generating a plurality of estimated signal candidates by for each pair of a desired signal candidate of a first group of codebook entries of the first codebook and a noise signal candidate of a second group of codebook entries of the second codebook generating a combined signal; - generating a signal candidate for the first signal in the time segment from the estimated signal candidates, and - attenuating noise of the first signal in the time segment in response to the signal candidate; wherein the noise attenuator is arranged to generate at least one of the first group and the second group by selecting a subset of codebook entries in response to the sensor signal. - generating a plurality of estimated signal candidates by for each pair of a desired signal candidate of a first group of codebook entries of the first codebook and a noise signal candidate of a second group of codebook entries of the second codebook generating a combined signal; - generating a signal candidate for the first signal in the time segment from the estimated signal candidates, and - attenuating noise of the first signal in the time segment in response to the signal candidate; wherein the noise attenuator is arranged to generate at least one of the first group and the second group by selecting a subset of codebook entries in response to the sensor signal.