A computer-implemented method for using a trained machine learning, ML, model to perform real-time sound enhancement for a target user, the method comprising: obtaining a noisy audio signal comprising speech of a target user and noise; determining whether a speaker embedding vector for the target user exists; and using neural networks of the trained ML model, to remove the noise from the noisy audio signal while maintaining the speech of the target user by switching the trained ML model to perform personalised or non-personalised noise removal depending on whether the speaker embedding vector exists, by: inputting the noisy audio signal into an encoder module of the trained ML model; concatenating a vector with each frame of the noisy audio signal after processing by the encoder module, to generate a modified noisy audio signal; inputting the modified noisy audio signal into a decoder module of the trained ML model; and concatenating the vector with each frame of the modified noisy audio signal after processing by the decoder module, to output an enhanced audio signal, wherein: when the speaker embedding vector exists, the vector is the speaker embedding vector and the trained ML model is switched to perform personalised noise removal, and when no speaker embedding vector exists, the vector is a zero vector and the trained ML model is switched to perform non-personalised noise removal. obtaining a noisy audio signal comprising speech of a target user and noise; determining whether a speaker embedding vector for the target user exists; and using neural networks of the trained ML model, to remove the noise from the noisy audio signal while maintaining the speech of the target user by switching the trained ML model to perform personalised or non-personalised noise removal depending on whether the speaker embedding vector exists, by: inputting the noisy audio signal into an encoder module of the trained ML model; concatenating a vector with each frame of the noisy audio signal after processing by the encoder module, to generate a modified noisy audio signal; inputting the modified noisy audio signal into a decoder module of the trained ML model; and concatenating the vector with each frame of the modified noisy audio signal after processing by the decoder module, to output an enhanced audio signal, inputting the noisy audio signal into an encoder module of the trained ML model; concatenating a vector with each frame of the noisy audio signal after processing by the encoder module, to generate a modified noisy audio signal; inputting the modified noisy audio signal into a decoder module of the trained ML model; and concatenating the vector with each frame of the modified noisy audio signal after processing by the decoder module, to output an enhanced audio signal, wherein: when the speaker embedding vector exists, the vector is the speaker embedding vector and the trained ML model is switched to perform personalised noise removal, and when no speaker embedding vector exists, the vector is a zero vector and the trained ML model is switched to perform non-personalised noise removal. when the speaker embedding vector exists, the vector is the speaker embedding vector and the trained ML model is switched to perform personalised noise removal, and when no speaker embedding vector exists, the vector is a zero vector and the trained ML model is switched to perform non-personalised noise removal.