A method of noise reduction, comprising: generating a reference noise signal by picking up external noise; identifying a keyword in the reference noise signal, and determining a direction of desired speech based on the identified keyword; and extracting a desired speech signal in the direction of desired speech; characterised by: acquiring an unwanted noise signal by filtering out the desired speech signal from the reference noise signal; and generating inverse noise by filtering the unwanted noise signal, to cancel the external noise; the method further characterised in that extracting the desired speech signal in the direction of desired speech comprises: acquiring a beamformed signal for the external noise by beamforming in the direction of desired speech; filtering components with frequencies above a preset frequency value out of the beamformed signal to obtain a retained signal; eigen-decomposing the retained signal with a principal component analysis algorithm to acquire N eigenvalues D i (i=1,2,......N) and corresponding N sets of singular vectors U i and V i, wherein N refers to the number of microphones for the beamforming; and selecting an eigenvalue D j that is greater than a preset eigenvalue to calculate the desired speech signal S=U j *D j *V j. generating a reference noise signal by picking up external noise; identifying a keyword in the reference noise signal, and determining a direction of desired speech based on the identified keyword; and extracting a desired speech signal in the direction of desired speech; characterised by: acquiring an unwanted noise signal by filtering out the desired speech signal from the reference noise signal; and generating inverse noise by filtering the unwanted noise signal, to cancel the external noise; the method further characterised in that extracting the desired speech signal in the direction of desired speech comprises: acquiring a beamformed signal for the external noise by beamforming in the direction of desired speech; filtering components with frequencies above a preset frequency value out of the beamformed signal to obtain a retained signal; eigen-decomposing the retained signal with a principal component analysis algorithm to acquire N eigenvalues D i (i=1,2,......N) and corresponding N sets of singular vectors U i and V i, wherein N refers to the number of microphones for the beamforming; and selecting an eigenvalue D j that is greater than a preset eigenvalue to calculate the desired speech signal S=U j *D j *V j. acquiring an unwanted noise signal by filtering out the desired speech signal from the reference noise signal; and generating inverse noise by filtering the unwanted noise signal, to cancel the external noise; the method further characterised in that extracting the desired speech signal in the direction of desired speech comprises: acquiring a beamformed signal for the external noise by beamforming in the direction of desired speech; filtering components with frequencies above a preset frequency value out of the beamformed signal to obtain a retained signal; eigen-decomposing the retained signal with a principal component analysis algorithm to acquire N eigenvalues D i (i=1,2,......N) and corresponding N sets of singular vectors U i and V i, wherein N refers to the number of microphones for the beamforming; and selecting an eigenvalue D j that is greater than a preset eigenvalue to calculate the desired speech signal S=U j *D j *V j. acquiring a beamformed signal for the external noise by beamforming in the direction of desired speech; filtering components with frequencies above a preset frequency value out of the beamformed signal to obtain a retained signal; eigen-decomposing the retained signal with a principal component analysis algorithm to acquire N eigenvalues D i (i=1,2,......N) and corresponding N sets of singular vectors U i and V i, wherein N refers to the number of microphones for the beamforming; and selecting an eigenvalue D j that is greater than a preset eigenvalue to calculate the desired speech signal S=U j *D j *V j.